CSE 316 - Fundamentals of Software Development

Fall 2023

Syllabus


Course Description

Introduction to systematic design, development and testing of software systems, including event-driven and Web programming, information management, databases, principles and practices for secure computing, and version control. Students apply these skills in the construction of large, robust programs.
(https://www.cs.stonybrook.edu/students/Undergraduate-Studies/courses/CSE316)

Staff

Instructor: Dr. Christopher Kane
Office: New Computer Science Building, Rm. 107
Office hours: Monday/Wednesday: 2:30 - 4:30 PM, or by appoinment - on Zoom
Email: christopher.kane@stonybrook.edu


Class Time and Place

  • Monday/Wednesday/Friday: 11:00 - 11:53 PM
  • Harriman Hall, Rm. 137

Lecture Schedule, Readings, Assignments

The following schedule is tentative and subject to change. The homework assignments are posted on D2L Brightspace: https://mycourses.stonybrook.edu
Week Date Lecture Topics/Notes Readings
1 Mon. 08/28 Course Intro
Wed. 08/30 Introduction to Software Engineering
Fri. 09/01 HTML
2 Mon. 09/04 Labor Day - No Class
Wed. 09/06 HTML (cont.)
Fri. 09/08 HTML (cont.)
Assignment 01 - Assigned: Friday, 09/08/2023
3 Mon. 09/11 CSS
Wed. 09/13 CSS (cont.)
Fri. 09/15 Javascript Basics
4 Mon. 09/18 Javascript Basics (cont.)
Wed. 09/20 Javascript Functions
Fri. 09/22 Javascript Datastructures
5 Mon. 09/25 Javascript Modules/Classes
Wed. 09/27 Javascript DOM
Fri. 09/29 Midterm 01
6 Mon. 10/02 React: Building UIs with Javascript
Assignment 01 - Due: Monday, 10/02/2023
Assignment 02 - Assigned: Monday, 10/02/2023
Wed. 10/04 React (cont.)
Fri. 10/06 State Management in React
7 Mon. 10/09 Fall Break - No Class
Wed. 10/11 State Update in React
Fri. 10/13 Server-Side Scripting: Node.js
8 Mon. 10/16 Server-Side Scripting: Node.js (cont.)
Assignment 02 - Due: Monday, 10/16/2023 (Extended to Friday, 10/20/2023)
Wed. 10/18 Server-Side Scripting: Node.js (cont.)
Assignment 03 - Assigned: Wednesday, 10/18/2023
Fri. 10/20 Server-Side Scripting with Express
9 Mon. 10/23 Nonrelational Databases: MongoDB
Wed. 11/25 Nonrelational Databases: MongoDB (cont.)
Fri. 10/27 Nonrelational Databases: Mongooose
10 Mon. 10/30 Relational Databases: SQL
Wed. 11/01 Relational Databases: SQL (cont.)
Fri. 11/03 Relational Databases: SQL (cont.)
11 Mon. 11/06 Computer Software Security
Wed. 11/08 Full Stack Web Security
Fri. 11/10 Authentication
12 Mon. 11/13 Properties of High-Quality Software
Assignment 03 - Due: Monday, 11/13/2023
Final Project - Begins: Monday, 11/13/2023
Wed. 11/15 Properties of High-Quality Software (cont.)
Fri. 11/17 Midterm 02
13 Mon. 11/20 Properties of High-Quality Software (cont.)
Wed. 11/22 Thanksgiving Break - No Class
Fri. 11/24 Thanksgiving Break - No Class
14 Mon. 11/27 Software Design with UML
Wed. 11/29 Software Design with UML (cont.)
Fri. 12/01 Software Design with UML (cont.)
15 Mon. 12/04 Design Patterns
Wed. 12/06 Design Patterns (cont.)
Fri. 12/08 Design Patterns (cont.)
16 Mon. 12/11 Course Wrap Up, Catch-Up Day
Final Project - Due: Monday, 12/11/2023
Final FINAL EXAM: Wednesday, December 20th, 2023, 11:15 AM - 1:45 PM


Last Update: August 20, 2023
Page maintained by Christopher Kane