Schedule | CMSC 240 Software Systems Development - Fall 2023

Course Schedule of Topics and Due Dates

Week Lecture (Tue) Lecture (Thr) Lab (Fri)
1 Aug 29: Module 1: Introduction (Due Thr Sep 7)
Read Text: Chapter 2
Read Unix Tutorial: Intro, T1, T2, T3
Slides: Lecture 1
Aug 31: Read Unix Tutorial: T4, T5, T6
Slides: Lecture 2
Sep 1: Lab 1 Unix/Linux
(Due Thu Sep 7)
2 Sep 5: Read Text: Chapter 3
Module 2: Functions, Strings, and Command-Line Arguments (Due Tue Sep 12)
Slides: Lecture 3
Sep 7: Module 3: Arrays, Vectors, and File I/O (Due Thr Sep 14)
Slides: Lecture 4
Sep 8: Lab 2 File I/O
(Due Thu Sep 14)
3 Sep 12:
Read Text: Chapter 17
Slides: Lecture 5
Sep 14:
Slides: Lecture 6
Sep 15:
Lab 3 Pointers and References
(Due Thu Sep 21)
4 Sep 19:
Read Text: Chapter 9
Slides: Lecture 7
Module 4: Classes: Abstraction and Encapsulation (Due Tue Sep 26)
Sep 21:
Lecture 8
Sep 22:
Lab 4 Classes
(Due Thu Sep 28)
5 Sep 26:
Lecture 9
Module 5: Scope, Destructors, and Composition (Due Tue Oct 3)
Sep 28:
Lecture 10
Sep 29:
Lab 5 Inheritance and Polymorphism
(Due Thu Oct 5)
6 Oct 3:
Read Text: Chapter 5
Lecture 11
Module 6: Errors and Debugging (Due Thr Oct 12)
Oct 5:
Lecture 12
Oct 6:
Lab 6 Debugging
(Due Thu Oct 12)
7 Oct 10: Midterm Exam Oct 12:
Lecture 13
Oct 13:
Lab 7 Valgrind
(Due Thu Oct 26)
8 Oct 17: Fall Break No Class Oct 19:
Lecture 14
Module 7: Regular expressions (Due Thu Oct 26)
Oct 20: Lab 8 Regular expressions
(Due Thu Oct 26)
9 Oct 24: Guest Visit (Director of Information Security John Craft)
Lecture 15
Module 8: Build Tools: make (Due Tue Oct 31)
Oct 26: Lecture 16
Module 9: Templates (Due Thu Nov 2)
Oct 27: Lab 9 Templates
(Due Thu Nov 2)
10 Oct 31: Lecture 17
Module 10: REST API (Due Tue Nov 7)
Nov 2: Lecture 18
Project
Module 11: REST API Part 2 (Due Thu Nov 9)
Nov 3: Work on Project
11 Nov 7: Lecture 19
Module 12: C++ Smart Pointers (Due Tue Nov 14)
Nov 9: Module 13: REST API Part 3 (Due Thu Nov 16) Nov 10: Lab 10 git & GitHub
(Due Thu Nov 16)
12 Nov 14:
Lecture 21: Build Pipeline
Notes: Unit Testing
Module 14: generating docs, static analysis, unit testing(Due Tue Nov 21)
Nov 16: Project Example: Music Store
Guide to Markdown
Nov 17: Work on Project
13 Nov 21:
Lecture 23: C++ Security Risks
Nov 23: Thanksgiving Break
No Class
Nov 24: Thanksgiving Break
No Class
14 Nov 28:
Lecture 24: Software Development Life Cycle (SDLC)
Nov 30:
Lecture 25: Design Patterns Part 1
Dec 1: Project Due
15 Dec 5:
Work on Project Unit Tests
Project Unit Test Examples: Music Store
Dec 7:
Lecture 27: Review for Exam
Dec 8: No Lab Project Unit Tests Due
16 Dec 11 (MONDAY 2:00PM):
Final Exam
Section 2
Dec 14 (2:00PM):
Final Exam
Section 1