CompSci 308 Spring 2025 |
Advanced Software Design and Implementation |
Computer Science is a science of abstraction - creating the right model for a problem and devising the appropriate mechanizable techniques to solve it. — A. Aho and J. Ullman
The exact order and details of topics is subject to change during the semester based on the pace needed, but we will try to set them at least two weeks in advance.
Materials discussed in class and lecture recordings will be posted here.
Date | Topics | Examples/Videos | Lab | Due |
---|---|---|---|---|
1 - Jan 9 |
Course Overview GIT in Practice |
Example: Conditionals Example: Bounce Video: Class Introduction |
GITing Started Making Classes |
Sun 1/12: Journal - CompSci Autobiography |
2 - Jan 14/16 |
Refactoring and Code Smells Finding Objects |
Example: Bins Video: Clean Code Video: Refactoring |
Refactoring | Tue 1/14: Breakout -
Plan and Basic Start Fri 1/17: Journal - Habits and Failure |
3 - Jan 21/23 |
Abstraction | Team Meeting |
Tue 1/21: Breakout - Complete Fri 1/24: Journal - Project Analysis |
|
4 - Jan 28/30 |
Separating Model from Views Unit Testing |
|||
5 - Feb 4/6 | APIs, Encapsulation, and Interfaces | |||
6 - Feb 11/13 |
Exceptions |
|||
7 - Feb 18/20 |
GUI Testing | |||
8 - Feb 25/27 |
Design Patterns | |||
9 - Mar 4/6 | Ethics | Project Presentation | ||
10 - Mar 11/13 |
SPRING BREAK | |||
11 - Mar 18/20 |
Agile Project Management | Team Meeting | ||
12 - Mar 25/27 | Design Patterns |
|||
13 - Apr 1/3 |
TBD | |||
14 - Apr 8/10 |
TBD | |||
15 - Apr 15/17 |
TBD | |||
16 - Apr 22 |
Wrap-Up | NO LAB | ||
Fri, May 2 | Final Project Demos, in person, 2-5pm | Project Presentation |