These notes are placed here primarily to assist students enrolled in the course;
they are not intended as polished documents. All notes are copyright ©
Russell C. Bjork. Students enrolled in CPS122 may reproduce these notes for
personal study and anyone is free to use them for personal reference;
all other rights are reserved.
- Course Introduction
- From Python to Java
- Introduction to Software Development
- Requirements Engineering
- Use Cases and Initial Functional Tests
- Identifying Objects and Classes
- Defining a Class
- Encapsulation, Inheritance, and Polymorphism
- Associations
- Representing Associations in Java; Collections; Arrays
- Class Diagrams
- Unit Testing with JUnit
- Identifying Responsibilities; CRC Cards
- Modeling the Dynamic Behavior of Systems; Interaction Diagrams in UML
- State and Activity Diagrams in UML
- Detailed Design and Implementation
- GUIs and Event Driven Programming
- Architectural Design
- Design Patterns
- The User Interface
- Quality Assurance Lectures
- Cohesion and Coupling
- Reuse, Components, Frameworks and API's
- Exceptions
- Input Output