Schedule
Spring 2023 (01/25/2023 - 05/23/2023)
The semester has 29 class meetings including the final exam. Clicking on a class day below, you should find the class module for the day including lecture notes, assignments, and others. The instructor releases the content for a class generally on the Monday before the class. However, the instructor often makes update to the module content after the initial release. You should check this page often for up-to-date content.
In case you encounter a problem when viewing class content, such as, a broken link, please report it to the instructor immediately.
Topics: concept of software engineering
Course Objectives
Lecture Notes
Reading
Topics: Overview of software process models; movitations for software process models; water fall, incremental, spiral, RUP process models; agile model;
Lecture Notes
Assignment
Reading
Topics: Term project: phase 0; Introduction to Software Engineering Tools of the Trade; VCS and git
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: Term project: phase 0; Introduction to Software Engineering Tools of the Trade; VCS and git
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: introduction to Android App development
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: introduction to Android App development
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: introduction to Android App development
Lecture Notes
Assignment
Group Programming Project
Reading
Notice: Classes follow a Monday schedule
Topics: introduction to Android App development
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: Requirement engineering and analysis; Behavior-driven design; User stories
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: Requirement engineering and analysis; Behavior-driven design; User stories
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: User-interface requirements; UI sketch; storyboards; project productivity tracking; velocity; tools
Lecture Notes
Assignment
Reading
Topics: quality assurance; quality control; verification; validation testing; unit-test;
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: quality assurance; quality control; verification; validation testing; unit-test;
Lecture Notes
Assignment
Reading
Topics: Android UI testing; acceptance tests for user stories; Espresso; unit test; JUnit; Test-driven development (TDD); TDD workflow; refactoring
Lecture Notes
Assignment
Reading
Topics: Android UI testing; acceptance tests for user stories; Espresso; unit test; JUnit; Test-driven development (TDD); TDD workflow; refactoring
Lecture Notes
Assignment
Reading
Topics: Q & A for Midterm Exam.
Lecture Notes
Reading
Topics: The instructor will hold a midterm exam in class (or online depending on course modality)
Topics: architecture design and methodologies;
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: Detailed Design; Object-Oriented Design; UML
Lecture Notes
Assignment
Reading
Notice: Spring Recess
Notice: Spring Recess
Notice: Spring Recess
Topics: Observer Design Pattern and Inversion of Control
Lecture Notes
Assignment
Reading
Topics: Polymorphism; interface and polymorphism; Interface Separation Principle
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: Polymorphism; interface and polymorphism; Interface Separation Principle
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: Strategy, Iterator, and Singleton Design Patterns
Lecture Notes
Assignment
Reading
Topics: Strategy, Iterator, and Singleton Design Patterns
Lecture Notes
Assignment
Reading
Topics: implementation (beautiful code; DRY; Clarity via Conciseness; Idioms;
Lecture Notes
Assignment
Group Programming Project
Reading
Topics: SOFA; SOLID; software metrics;
Lecture Notes
Assignment
Reading
Topics: review for final exam
Lecture Notes
Reading
Notice: Reading Day
Topics: project demo/presentation; code reviews; static analysis
Lecture Notes
Reading
Topics: According to the College's schedule, the final exam is at Room 4141 Ingersoll Hall 3:30 - 5:30PM Thursday, May 18, 2023.