CPSC 329 Software Development Fall 2013

CPSC 329 Syllabus

Reading, when assigned, is to be done for the class period where it is listed.

Dates for things in light gray are tentative and may shift slightly.

< tr>
 Assignments

Week 1: 8/26-8/30

Topics: introduction; understanding what the software needs to do (features, requirements)

     

Mon Notes: course introduction   homework #0
homework #1
due Wed 8/28
 

Tue lab #1
Introduction to Eclipse
due Tue Sep 3
 

Wed Notes: good software, development process overview, understanding phase - requirements homework #2
due Fri 8/30
 

Fri Notes: more about requirements homework #3
due Mon 9/2
 

Week 2: 9/2-9/6

Topics: understanding (requirements, scenarios, use case diagrams, use cases)

 

Mon Notes: version control and SVN    

Tue lab #2
Subversion
due Tue Sep 10
   

Wed Notes: homework #4
due Fri 9/6
 

Fri Notes: homework #5
due Mon 9/9
 

Week 3: 9/9-9/13

Topics: understanding (use cases) and program structure (CRC cards, sequence diagrams)

 

Mon Notes and examples:    

Tue lab #3
Subversion II
due Tue Sep 17
   

Wed Notes: homework #6
due Fri 9/13
 

Fri Notes: homework #7
due Wed 9/18
 

Week 4: 9/16-9/20

Topics: program structure (sequence diagrams, class diagrams) and design (OO principles)

 

Mon Notes:  

Tue lab #4
Implementation
due Tue Sep 24
 

Wed Notes: homework #8
due Fri 9/20
 

Fri Notes:    

Week 5: 9/23-9/27

Topics: understanding/structure wrapup, design principles/patterns, GUIs/Swing

   

Mon Notes:    

Tue lab #5
Parsing GPX
due Tue Oct 1
   

Wed Notes: homework #9
due Fri 9/27
 

Fri Notes:    

Week 6: 9/30-10/4

Topics: GUIs, UI design

   

Mon Notes: homework #10
due Wed 10/2
 

Tue lab #6
Swing and MVC
due Tue Oct 8
 

Wed Notes:

Reading:

   

Fri Notes: homework #11
due Wed 10/9
 

Week 7: 10/7-10/11

Topics: technologies, implementation strategies

 

Mon Notes:

Reading:

 

Tue lab #7
More Swing
due Fri Oct 18

Wed Notes:    

Fri Notes:    

Week 8: 10/14-10/18

Topics: testing

   

Mon fall break
(no class)
Tue

Wed Notes:   project #1
GPXCleaner implementation
due Mon Nov 4

Fri Notes:  

Week 9: 10/21-10/25

Topics: testing, code reviews

   

Mon Notes:    

Tue lab #8
JUnit
due Tue Oct 29
 

Wed Notes:  

Fri Notes:  

Week 10: 10/28-11/1

Topics: threads and networking

 

Mon Notes:

Examples:

 

Tue lab #9
Threads
due Tue Nov 5
 

Wed Notes:

Examples:

 

Fri Notes:

Examples:

 

Week 11: 11/4-11/8

Topics: networking; understanding and design for networked programs

 

Mon Examples:    

Tue lab #10
Networking
due Tue Nov 12
   

Wed Notes:

Examples:

  project #2
Ultimate Pente
understanding due Mon Nov 11

Fri Notes:

Examples:

 

Week 12: 11/11-11/15

Topics: advanced object-oriented design principles

 

Mon Notes:   project #2
Ultimate Pente
design due Mon Nov 18

Tue lab #11
Encapsulating What Varies, and Taking Turns
due Tue Nov 19
 

Wed Notes:  

Fri Notes:  

Week 13: 11/18-11/22

Topics: advanced object-oriented design principles

 

Mon Notes:   project #2
Ultimate Pente
implementation due Tue Dec 10

Tue work on project    

Wed Notes:    

Fri Notes:   homework #12
due Wed 12/4

Week 14: 11/25-11/29

Topics: project

 

Mon work on project  

Tue work on project  

Wed Thanksgiving break
(no class)
Fri

Week 15: 12/2-12/6

Topics: project, wrapup

 

Mon work on project  

Tue work on project  

Wed work on project    

Fri Notes:
  • wrapup (development process recap, reflecting back)
   

Reading Period and Exams: 12/7-12/13

   

Sat      

Sun    

Mon      

Tue
final exam
Tue 12/10 1:30-4:30pm
end-of-semester deadline
no work accepted after 12/10 4:30pm

Wed      

Thu        

Fri        

Valid HTML 4.01!