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

to be able to identify, formulate, and solve software engineering problem (including specification, design, implementation, and testing)

Lecture Notes

Reading

Chapters 1, 2, and 3

Topics: Overview of software process models; movitations for software process models; water fall, incremental, spiral, RUP process models; agile model;

Lecture Notes

Reading

Sections 4.1 - 4.4 and Chapter 5

Notice: Conversion Day - Classes follow Friday schedule

Topics: Requirement engineering and analysis; Behavior-driven design; User stories

Lecture Notes

Individual Assignment

Reading

Chapter 6

Topics: quality assurance; quality control; verification; validation testing; unit-test;

Lecture Notes

Individual Assignment

Reading

Chapter 10

Topics: Android UI testing; acceptance tests for user stories; Espresso

Lecture Notes

Reading

Chapter 10

Topics: unit test; JUnit; Test-driven development (TDD); TDD workflow; refactoring

Lecture Notes

Individual Assignment

Reading

Chapter 10, Section 9.3.4

Topics: Q & A for Midterm Exam.

Lecture Notes

Reading

all chapters and sections discussed

Topics: The instructor will hold a midterm exam in class (or online depending on course modality)

Topics: Polymorphism; interface and polymorphism; Interface Separation Principle

Lecture Notes

Reading

Notice: Spring Recess - No classes scheduled

Notice: Spring Recess - No classes scheduled

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

Chapters 9 and 10

Topics: concepts of bugs, defects, faults, errors, failures; debugging techniques; scientific debugging

Lecture Notes

Individual Assignment

Reading

Chapters 9 and 10

Topics: code reviews; review for final exam

Lecture Notes

Reading

Chapters 9 and 10

Topics: Q & A for Final Exam.

Lecture Notes

Reading

Relevant chapters in the textbook; lecture notes; all quizes; review guides and tests

Topics: According to the College's schedule, the final exam is at Room 329 Ingersoll Extension 3:30 - 5:30PM Thursday, May 19, 2022.