CSE 316 - Fundamentals of Software Development

Fall 2024

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/Friday: 4:00 - 6:00 PM - On Zoom Only
Email: christopher.kane@stonybrook.edu


Class Time and Place

  • Tuesday/Thursday: 3:30 - 4:50 PM
  • Earth and Space Science Building, Rm. 001

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 Tue. 08/27 Course Introduction n/a
Thu. 08/29 Introduction to Software Engineering Sommerville, Chs. 1 - 3
2 Tue. 09/03 HTML n/a
Thu. 09/05 HTML (cont.) n/a
3 Tue. 09/10 CSS n/a
Programming Assignment 01 - Assigned: Tuesday, 09/10/2024 n/a
Thu. 09/12 Client-Side Scripting: Javascript n/a
4 Tue. 09/17 Client-Side Scripting: Javascript (cont.) n/a
Thu. 09/19 Client-Side Scripting: Javascript (cont.) n/a
5 Tue. 09/24 React n/a
Thu. 09/26 React n/a
6 Tue. 10/01 React (cont.) n/a
Programming Assignment 01 - Due: Tuesday, 10/01/2024

Programming Assignment 02 - Assigned: Tuesday, 10/01/2024
n/a
Thu. 10/03 Server-Side Scripting: Node.js
7 Tue. 10/08 Server-Side Scripting: Node.js (cont.) n/a
Thu. 10/10 Express Web Server n/a
8 Tue. 10/15 Fall Break - No Class n/a
Thu. 10/17 Non-Relational Databases, MongoDB, Mongoose n/a
9 Tue. 10/22 Non-Relational Databases, MongoDB, Mongoose (cont.) n/a
Programming Assignment 02 - Due: Tuesday, 10/22/2024

Programming Assignment 03 - Assigned: Tuesday, 10/22/2024
n/a
Thu. 10/24 Unit Testing with Jest n/a
10 Tue. 10/29 Midterm Exam n/a
Thu. 10/31 Relational Databases and MySQL n/a
11 Tue. 11/05 Relational Database and MySQL (cont.) n/a
Thu. 11/07 Application Security: Introduction n/a
12 Tue. 11/12 Application Security: Authentication and Bcrypt n/a
Programming Assignment 03 - Due: Tuesday, 11/12/2024

Project - Assigned: Tuesday, 11/12/2024
n/a
Thu. 11/14 Properties of High-Quality Software n/a
13 Tue. 11/19 Properties of High-Quality Software (cont.) n/a
Thu. 11/21 Software Design with UML n/a
14 Tue. 11/26 Software Design with UML (cont.) n/a
Thu. 11/28 Thanksgiving Break - No Class n/a
15 Tue. 12/03 Design Patterns n/a
Thu. 12/05 Design Patterns (cont.) n/a
Project - Due: Monday, 05/09/2024 n/a
Final FINAL EXAM: Tuesday, December 17th, 2024, 5:30 PM - 8:00 PM n/a


Last Update: August 19, 2024
Page maintained by Christopher Kane