CPSC 329 Software Development Fall 2026

CPSC 329 Review Information — Exam 2

Exam 2 is a written in-class (one hour) exam covering material from approximately weeks 4-8: object-oriented design principles, UML class diagrams, design patterns, event-driven programming and GUIs, and user interface design. (The Observer pattern, architecture, and MVC will be covered on exam 3.) Expect short answer questions focusing on foundational knowledge and underlying concepts. Some questions focus on definitions and recall while others may ask you to apply that knowledge to a particular scenario — for example, a short class design, code excerpt, or UML diagram to evaluate or improve. For the event-driven programming and GUI material, the focus is on principles, concepts, and patterns rather than the JavaFX library itself — you will not be asked to write JavaFX code or to recall specific JavaFX class or method names.

Answers should be short — generally 1-3 sentences, or 1-2 sentences per part for a question with several parts. A list rather than complete sentences is fine where appropriate. Time is limited, so don't write more than necessary!

The topics covered on the exam are listed below. The items under "Self check" are study goals — examples of the kinds of things you should be able to do, rather than actual exam questions or a complete list of what the exam might ask. As a starting point for studying, try to explain each topic without notes (including an example of your own where appropriate) and then answer the associated self check items. Finally, formulate (and then answer) your own questions about each topic. As a pacing guide, you should be able to start writing answers for definition/recall questions right away and "apply to a scenario" questions after a minute or two of thinking.

Object-Oriented Design

Design principles topics:

OOP foundations topics:

SOLID topics:

Self check:

UML Class Diagrams

UML topics:

Self check:

Design Patterns

Design patterns topics:

Self check:

Event-Driven Programming and GUIs

Event-driven programming topics:

GUI construction topics:

Self check:

User Interface Design

UI design topics:

Accessibility topics:

Self check: