CSE 316 - Fundamentals of Software Development

Spring 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: 3:30 - 5:00 PM, or by appoinment - On Zoom Only
Email: christopher.kane@stonybrook.edu


Class Time and Place

  • Tuesday/Thursday: 5:30 - 06:50 PM
  • Javits, Rm. 110

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. 01/23 Course Introduction n/a
Thu. 01/25 Introduction to Software Engineering Sommerville, Chs. 1 - 3
2 Tue. 01/30 HTML n/a
Thu. 02/01 HTML (cont.) n/a
3 Tue. 02/06 CSS n/a
Programming Assignment 01 - Assigned: Tuesday, 02/06/2024 n/a
Thu. 02/08 Client-Side Scripting: Javascript n/a
4 Tue. 02/13 Client-Side Scripting: Javascript (cont.) n/a
Thu. 02/15 Client-Side Scripting: Javascript (cont.) n/a
5 Tue. 02/20 React n/a
Thu. 02/22 React n/a
6 Tue. 02/27 React (cont.) n/a
Programming Assignment 01 - Due: Tuesday, 02/27/2024
Programming Assignment 02 - Assigned: Tuesday, 02/27/2024
n/a
Thu. 02/29 Server-Side Scripting: Node.js
7 Tue. 03/05 Server-Side Scripting: Node.js (cont.) n/a
Thu. 03/7 Express Web Server n/a
8 Tue. 03/12 Spring Break - No Class n/a
Thu. 03/14 Spring Break - No Class n/a
9 Tue. 03/19 Non-Relational Databases, MongoDB, Mongoose n/a
Programming Assignment 02 - Due: Tuesday, 03/19/2024
Programming Assignment 03 - Assigned: Tuesday, 03/19/2024
n/a
Thu. 03/21 Non-Relational Databases, MongoDB, Mongoose (cont.) n/a
10 Tue. 03/26 Unit Testing with Jest n/a
Thu. 03/28 Midterm Exam n/a
11 Tue. 04/02 Relational Databases and MySQL n/a
Thu. 04/04 Relational Database and MySQL (cont.) n/a
12 Tue. 04/09 Application Security: Introduction n/a
Programming Assignment 03 - Due: Tuesday, 04/09/2024
Project - Assigned: Tuesday, 04/09/2024
n/a
Thu. 04/11 Application Security: Authentication and Bcrypt n/a
13 Tue. 04/16 Properties of High-Quality Software n/a
Thu. 04/18 Properties of High-Quality Software (cont.) n/a
14 Tue. 04/23 Software Design with UML n/a
Thu. 04/25 Software Design with UML (cont.) n/a
15 Tue. 04/30 Design Patterns n/a
Thu. 05/02 Design Patterns (cont.) n/a
Project - Due: Monday, 05/06/2024 n/a
Final FINAL EXAM: Tuesday, May 7th, 2024, 5:30 PM - 8:00 PM n/a


Last Update: January 25, 2024
Page maintained by Christopher Kane