Schedule
Spring 2022 (01/28/2022 - 05/24/2022)
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
Reading
Notice: Conversion Day - Classes follow Friday schedule
Topics: Term project; Introduction to VCS
Lecture Notes
Individual Assignment
Group Programming Project
Reading
Topics: Term project; Introduction to VCS
Lecture Notes
Individual Assignment
Group Programming Project
Reading
Topics: introduction to Android App development
Lecture Notes
Individual Assignment
Group Programming Project
Reading
Topics: introduction to Android App development
Lecture Notes
Individual Assignment
Group Programming Project
Reading
Topics: introduction to Android App development
Lecture Notes
Individual Assignment
Group Programming Project
Reading
Topics: introduction to Android App development
Lecture Notes
Individual Assignment
Group Programming Project
Reading
Topics: Requirement engineering and analysis; Behavior-driven design; User stories
Lecture Notes
Individual Assignment
Reading
Topics: User-interface requirements; UI sketch; storyboards; project productivity tracking; velocity; tools
Lecture Notes
Individual Assignment
Group Programming Project
Topics: quality assurance; quality control; verification; validation testing; unit-test;
Lecture Notes
Individual Assignment
Reading
Topics: Android UI testing; acceptance tests for user stories; Espresso
Lecture Notes
Reading
Topics: unit test; JUnit; Test-driven development (TDD); TDD workflow; refactoring
Lecture Notes
Individual 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
Individual Assignment
Group Programming Project
Reading
Topics: Detailed Design; Object-Oriented Design; UML
Lecture Notes
Individual Assignment
Reading
Topics: Service Oriented Architecture
Lecture Notes
Individual Assignment
Reading
Topics: Service Oriented Architecture
Lecture Notes
Individual Assignment
Reading
Topics: Service Oriented Architecture
Lecture Notes
Individual Assignment
Reading
Topics: Polymorphism; interface and polymorphism; Interface Separation Principle
Lecture Notes
Reading
Notice: Spring Recess - No classes scheduled
Notice: Spring Recess - No classes scheduled
Topics: Observer Design Pattern and Inversion of Control
Lecture Notes
Individual Assignment
Reading
Topics: Strategy, Iterator, and Singleton Design Patterns
Lecture Notes
Group Programming Project
Reading
Topics: SOLID; metrics; Dependency Inversion Principle
Lecture Notes
Individual Assignment
Reading
Topics: implementation (beautiful code; DRY; Clarity via Conciseness; Idioms;
Lecture Notes
Individual Assignment
Reading
Topics: concepts of bugs, defects, faults, errors, failures; debugging techniques; scientific debugging
Lecture Notes
Individual Assignment
Reading
Topics: code reviews; review for final exam
Lecture Notes
Reading
Topics: Q & A for Final Exam.
Lecture Notes
Reading
Topics: According to the College's schedule, the final exam is at Room 329 Ingersoll Extension 3:30 - 5:30PM Thursday, May 19, 2022.