CPSC 329 | Software Development | Fall 2022 |
Daily lessons are due by 8pm the night before the class period where they are listed.
Things in light gray have not been assigned yet; they are listed for planning purposes and dates may shift slightly.
Assignments | |||
---|---|---|---|
Week 1: 8/22-8/26Topics:
|
|||
Mon |
Materials from class:
|
||
Tue | before lab, make sure you can log in to your Linux account - contact Prof Eck (eck@hws.edu) if you need an account or password reset | lab 1 Preliminaries should be completed by 8/29 |
|
Wed |
Modules: on Canvas - "preliminaries" (syllabus quiz and introductory survey) and "OOP review"
Daily lesson: on Canvas - "OOAD" (in the "core process" module) Materials from class:
|
||
Fri |
Daily lesson: on Canvas - "implementation" (in the "core process" module)
Materials from class:
|
||
Week 2: 8/29-9/2Topics:
|
|||
Mon |
Daily lesson: on Canvas - "debugging and version control" (in the "core process" module)
Materials from class:
|
project 1: Darwin's World (OOP review) due 9/14 at the start of class |
|
Tue | Lab preparation: on Canvas - review the videos in the "subclipse" module | lab 2 SVN due 9/6 at the start of lab |
|
Wed |
Daily lesson: on Canvas - "JavaFX" (in the "GUI programming" module)
Materials from class: |
||
Fri |
Daily lesson: on Canvas - "JavaFX muddiest points I" (in the "GUI programming" module)
In-class exercises:
Materials from class:
|
||
Week 3: 9/5-9/9Topics: GUI programming - JavaFX, GUI design principles |
|||
Mon |
Daily lesson: on Canvas - "JavaFX muddiest points II" (in the "GUI programming" module)
In-class exercises:
Materials from class:
|
||
Tue | lab 3 JavaFX due 9/13 at the start of lab |
||
Wed |
Daily lesson: on Canvas - "screen design principles" (in the "GUI programming" module)
Materials from class:
|
||
Fri |
Daily lesson: on Canvas - "UI design principles" (in the "GUI programming" module)
Materials from class:
|
||
Week 4: 9/12-9/16Topics: GUI programming - GUI design process; working in teams; client-server programs - networking in Java |
|||
Mon |
Daily lesson: on Canvas - "uncovering requirements" (in the "GUI programming" module)
Materials from class: |
||
Tue | lab 4 SVN II due 9/20 at the start of lab |
||
Wed |
Daily lesson: on Canvas - complete the "teamwork" module
Materials from class:
|
project 2: Fire! (GUI design and implementation) due 9/28 at the start of class |
|
Fri |
Daily lesson: on Canvas - "client-server networking" (in the "client-server networking" module)
Materials from class:
|
||
Week 5: 9/19-9/23Topics: client-server programs: protocols; thread basics |
|||
Mon |
Daily lesson: on Canvas - "protocols" (in the "client-server networking" module)
Materials from class:
|
||
Tue | lab 5 Client-Server Networking due 9/27 at the start of lab |
||
Wed |
Daily lesson: on Canvas - "threads" (in the "threads" module)
Materials from class:
|
||
Fri |
Daily lesson: on Canvas - "mutual exclusion" (in the "threads" module)
Materials from class:
|
||
Week 6: 9/26-9/30Topics: applications of threads |
|||
Mon |
Materials from class:
|
||
Tue | lab 6 Client-Server Networking II due 10/4 at the start of lab |
||
Wed |
Daily lesson: on Canvas - "GUI programs and threads" (in the "threads" module)
Materials from class:
|
skills check GUI programming (in the Assignments section on Canvas) due 9/30 review information |
|
Fri | project 3: Mastermind (client-server networking and threads) due 10/19 at the start of class |
||
Week 7: 10/3-10/7Topics: OOAD - basic principles, designing for reuse, designing for flexibility |
|||
Mon |
[posted late - review if you have a chance before class] Daily lesson: on Canvas - "basic principles" (in the "OOAD" module) Materials from class:
|
||
Tue | lab 7 OOAD Tools due 10/18 at the start of lab |
||
Wed |
Daily lesson: on Canvas - "designing for reuse" (in the "OOAD" module)
Materials from class:
|
||
Fri |
Daily lesson: on Canvas - "designing for flexibility" (in the "OOAD" module)
Materials from class:
|
||
Week 8: 10/10-10/14Topics: OOAD - designing for flexibility |
|||
Mon | fall break | ||
Tue | |||
Wed |
Materials from class:
|
||
Fri |
Daily lesson: on Canvas - "Strategy" (in the "OOAD" module)
Materials from class:
|
||
Week 9: 10/17-10/21Topics: OOAD principles and patterns - LSP, favoring composition over inheritance; separation of concerns, MVC, Observer |
|||
Mon |
Daily lesson:
on Canvas - "inheritance"
(in the "OOAD" module)
Materials from class: |
||
Tue | lab 8 Encapsulate What Varies due 10/25 at the start of lab |
||
Wed |
Daily lesson:
on Canvas - "separation of concerns"
(in the "OOAD" module)
Materials from class:
|
skills check networking and threads (in the Assignments section on Canvas) due 10/21 review information |
|
Fri |
Materials from class:
|
project 4: Cellular Automata (OOAD) due 11/4 at the start of class |
|
Week 10: 10/24-10/28Topics: separation of concerns, MVC; patterns for non-tangible classes; coding practices |
|||
Mon |
Materials from class:
|
||
Tue | lab 9 Separation of Concerns and MVC due 11/1 at the start of lab |
||
Wed |
Daily lesson:
on Canvas - "patterns for
non-tangible classes" (in the "OOAD" module)
Materials from class: |
||
Fri |
Daily lesson:
on Canvas - "coding
practices" (in the "implementation" module)
Materials from class: |
||
Week 11: 10/31-11/4Topics: coding practices; code smells; testing |
|||
Mon |
Materials from class:
|
||
Tue | lab 10 Scene Builder due 11/8 at the start of lab |
||
Wed |
Daily lesson:
on Canvas - "code
smells" (in the "implementation" module)
Materials from class:
|
||
Fri |
Daily lesson:
on Canvas - "testing I" (in
the "implementation" module)
Materials from class:
|
skills check (in the Assignments section on Canvas) due 11/7 review information |
|
Week 12: 11/7-11/11Topics: testing; development process; patterns - Decorator |
|||
Mon |
Daily lesson:
on Canvas - "development process" (in
the "implementation" module)
Materials from class: |
final project: Hedgehogs in a Hurry due 12/2 11:59pm |
|
Tue | lab 11 Clean Code due 11/15 at the start of lab |
||
Wed |
Daily lesson:
on Canvas - "testing II" (in
the "implementation" module)
Materials from class:
|
||
Fri |
Daily lesson:
on Canvas - "Decorator" (in
the "advanced topics" module)
Materials from class:
|
||
Week 13: 11/14-11/18Topics: patterns - Visitor, Factory; thread coordination |
|||
Mon |
Daily lesson:
on Canvas - "Visitor" (in
the "advanced topics" module)
Materials from class:
|
||
Tue | lab 12 JUnit due 11/22 at the start of lab |
||
Wed |
Daily lesson:
on Canvas - "Factory" (in
the "advanced topics" module)
Materials from class:
|
||
Fri |
Daily lesson:
on Canvas - "thread coordination" (in
the "advanced topics" module)
Materials from class:
|
||
Week 14: 11/21-11/25Topics: thread coordination |
|||
Mon |
Materials from class:
|
||
Tue | lab 13 More Patterns due 12/2 at the start of class |
||
Wed | Thanksgiving break | ||
Fri | |||
Week 15: 11/28-12/2Topics: work on project |
|||
Mon |
meet in Lansing 310
|
||
Tue | work on lab 13 or project | ||
Wed |
meet in Lansing 310
|
||
Thu |
|
||
Fri |
meet in Lansing 310
|
||
Reading Period: 12/3-12/5 |
|||
Sat | skills check and final reflection (in the Assignments section on Canvas) due 12/6 11:30am review information: skills check and reflection |
||
Sun | |||
Mon |
|
||
Final Exams: 12/6-12/9 |
|||
Tue | end-of-semester deadline no work accepted after 12/6 11:30am |
||
Wed | |||
Thu | |||
Fri |