CPSC 329 | Software Development | Fall 2019 |
Reading and class prep exercises are to be done for the class period where they are listed.
Things in light gray have not been assigned yet; dates may shift slightly.
Assignments | |||
---|---|---|---|
Week 1: 8/26-8/30Topics: course introduction; version control and SVN workflow; approaches to implementation |
|||
Mon | Slides: | ||
Tue | lab
1 Preliminaries |
||
Wed | Reading:
Slides: |
||
Fri | Slides: | ||
Week 2: 9/2-9/6Topics: coding practices; verification and validation |
|||
Mon |
Slides:
|
||
Tue | lab 2 SVN |
||
Wed | Slides: | ||
Fri |
Slides:
|
project 1A Pente Core |
|
Week 3: 9/9-9/13Topics: verification and validation; elements of effective teamwork |
|||
Mon |
Slides:
|
||
Tue | lab 3 JUnit |
||
Wed |
Class Prep: on Canvas
Slides:
|
||
Fri |
Slides:
|
||
Week 4: 9/16-9/20Topics: GUI programming in Java, JavaFX; basic process |
|||
Mon |
Reading:
Slides and Examples:
|
||
Tue | lab 4 JavaFX I |
||
Wed | Slides: | ||
Fri | Slides: | project 1B Code Review and Design Assessment |
|
Week 5: 9/23-9/27Topics: program design: design principles, appropriate use of inheritance, designing for flexibility and reuse |
|||
Mon | Slides: | ||
Tue | lab 5 JavaFX II |
||
Wed | Slides: | ||
Fri |
Reading:
Class Prep: on Canvas Slides: |
project 1C Pente Core - Variations |
|
Week 6: 9/30-10/4Topics: designing for flexibility and reuse |
|||
Mon | Slides: | ||
Tue | lab 6 Encapsulate What Varies |
||
Wed |
Slides:
|
||
Fri |
Slides:
|
||
Week 7: 10/7-10/11Topics: designing GUI programs; GUI design principles |
|||
Mon |
Reading:
Slides:
|
||
Tue | lab 7 UML Tools |
||
Wed |
Reading: If you are short on time, concentrate on these first three links. Read for the key ideas rather than the details of every guideline. This is especially true for the UX checklist.
Class Prep: on Canvas Slides: |
project 2 Pente! (GUI design) |
|
Fri | Slides: | ||
Week 8: 10/14-10/18Topics: GUI program design and design patterns |
|||
Mon | fall break | ||
Tue | |||
Wed |
Slides:
|
||
Fri | Slides: | ||
Week 9: 10/21-10/25Topics: testing GUI programs; client-server networking; threads |
|||
Mon |
Slides and Examples:
|
||
Tue | lab 8 Scene Builder |
||
Wed |
Reading:
Slides and Examples: |
project 2 Pente! (program) |
|
Fri |
Reading:
Slides and Examples:
|
||
Week 10: 10/28-11/1Topics: threads; designing client-server programs |
|||
Mon |
Slides and Examples:
|
||
Tue | lab 9 Client-Server |
||
Wed | Slides: | ||
Fri |
Slides:
|
||
Week 11: 11/4-11/8Topics: client-server programs; thread coordination |
|||
Mon |
Slides and Examples:
|
||
Tue | lab 10 GUI Client |
||
Wed |
Slides and Examples:
|
project 3 Ultimate Pente (GUI review) |
|
Fri | In Class: project 3 - meet in Rosenberg 009 | ||
Week 12: 11/11-11/15Topics: thread coordination; more design patterns |
|||
Mon |
Slides and Examples:
|
||
Tue | lab 11 Threads |
||
Wed |
Slides:
|
||
Fri | In Class: lab 11 (Threads) - meet in Rosenberg 009 | ||
Week 13: 11/18-11/22Topics: more design patterns |
|||
Mon |
Slides:
|
||
Tue | lab 12 More Patterns |
||
Wed |
Slides:
|
||
Fri |
Slides:
|
project 3 Ultimate Pente (program) |
|
Thanksgiving Break: 11/25-11/29 |
|||
Mon | Thanskgiving break | ||
Tue | |||
Wed | |||
Fri | |||
Week 14: 12/2-12/6Topics: work on project |
|||
Mon | In Class: project 3 - meet in Rosenberg 009 | ||
Tue | work on project | ||
Wed | In Class: project 3 - meet in Rosenberg 009 | ||
Fri | In Class: project 3 - meet in Rosenberg 009 | ||
Week 15: 12/9-12/10Topics: work on project |
|||
Mon | In Class: project 3 - meet in Rosenberg 009 | ||
Tue | work on project | ||
Reading Period: 12/11-12/13 |
|||
Wed | |||
Thu | |||
Fri | |||
Exams: 12/14-12/17 |
|||
Sat | final exam
12/14 1:30-4:30pm |
end-of-semester deadline no work accepted after 12/14 4:30pm |
|
Sun | |||
Mon | |||
Tue |