Foundations of Software Engineering

"Be careful taking shortcuts!" -- Your Instructor

Schedule/Road Map


The following is our tentative syllabus for the course, some changes should be expected throughout the semester. I will announce in class or through e-mail any major changes.

  • To get all of the assignments/activities for the course, you must first click the following link: CS 5500 Monorepo Do not do a 'git pull' until class starts (Occasionally I make changes/spelling corrections)
Week
Date
Lecture and Readings Assignments Note(s)
1 Tues. Jan. 7, 2020
  • Lecture outline
    • Course Introduction
    • The C++ Language
      • Why C++ for this Course?
      • The advantage of C++
      • The disadvantage of C++
      • How to Learn C++
    • Git Repository
    • Begin Module!
- A0 - C++
First week of classes, welcome back!
2 Tues. Jan. 14, 2020
  • Lecture outline
    • Software Development Life Cycle
    • Waterfall and Agile
    • Introduction to APIs
    • Begin Module!
- Lab 1 Due at start of class
- A1 Out -- C++ on 1/17
-- --
3 Tues. Jan. 21, 2020
  • Lecture outline
    • Object Oriented Programming
      • Inheritance vs Composition
      • Decoupling
    • Unified Modeling Language (UML)
    • Design Patterns
        Creational Design Patterns
      • Factory
      • Singleton
      • Prototype
    • Begin Module!
- Lab 2 due at start of class
- A1 Due -- 1/24 at 11:59pm EST
-- --
4 Tues. Jan. 28, 2020
  • Lecture outline
    • Structural Design Patterns
    • Behavioral Design Patterns
    • Begin Module!
- Lab 3 due at start of class
- A2 out -- Design Pattern on 1/31/20
-- --
5 Tues. Feb. 4, 2020 Mike Out sick - A2 due 2/10 at 11:59EST
-- --
6 Tues. Feb. 11, 2020
  • Lecture outline
    • Testing in C++
    • Writing a Good Test
    • Structural Testing
      • "Black Box Testing"
    • Functional Testing
      • "White Box Testing"
    • Begin Module!
- Lab 4 due at start of class
-- --
7 Tues. Feb. 18, 2020
- Lab 5 due at start of class
-- --
8 Tues. Feb. 25, 2020
- Lab 6 due at start of class
- Assignment X: Peer Reviews of Projects (manual and static analysis)
-- --
9 Tues. March. 3, 2020
Study Guide
-- --
10 Tues. March 10, 2020 ------ (No Class -- Spring Break) ------
-- --
-- --
11 Tues. Mar. 17, 2020
-- --
-- --
12 Tues. March 24, 2020
-- --
-- --
13 Tues. March 31, 2020
-- --
-- --
14 Tues. April 7, 2020
-- --
-- --
15 Tues. April 14, 2020
-- --
-- --