CPSC 329 Software Development Fall 2008

CPSC 329 Syllabus

 LabsAssignmentsImportant Dates

Week 1: 9/1-9/5

Topics: course introduction; great software; requirements gathering and use cases

Reading: reflection questions are due by 10:30am on the day for which the reading is assigned

Examples:

  • Inventory.java (version of the original Rick's Guitars Inventory class which uses the parameterized Collections classes and for-each loops)
  • Type.java (version of the guitar type enumerated type with instance variables and methods)
  • tic-tac-toe requirements list
  homework #0
due 9/3
   
     
       
lab #1: Introduction to Eclipse
due 9/11
     
homework #1
due 9/8
   

Week 2: 9/8-9/12

Topics: requirements gathering and use cases; determining classes, state, and behavior

Reading:

Examples:

homework #2
due 9/12
   
   
   
lab #2: Introduction to Subversion (part 1)
due 9/18
   
homework #3
due 9/15
   

Week 3: 9/15-9/19

Topics: determining classes, state, and behavior; basic design principles

Reading:

     
   
homework #4
due 9/19
   
lab #2: Introduction to Subversion (part 2)
due 9/25
   
homework #5
due 9/22 9/24
   

Week 4: 9/22-9/26

Topics: basic design principles

Reading:

Examples:

homework #6
due 9/29 10/1
   
   
   
lab: work on flip    
     

Week 5: 9/29-10/3

Topics: working on a bigger system

Reading:

Examples:

     
     
  homework #7
due 10/10 #3 due 10/10
   
lab: do #1 and #2 of homework #7    
     

Week 6: 10/6-10/10

Topics: implementation, verification and testing

Reading:

Examples:

  • tux racer feature list and use case diagram
  • Wednesday's code review examples: code only, with notes
  • flip test case examples: class notes, code
    • challenge #1: write the missing test cases (including those for the rest of the game flow)...are there any bugs in the program?
    • challenge #2: write comments for the code (this will give you some practice reading and thinking about someone else's code)
     
     
     
lab #3: Unit Testing and JUnit
due 10/17
   
   

fall break

Week 7: 10/13-10/17

Topics: more design principles

Reading:

Examples:

  homework #7
#4, #5 due 10/17
   
lab #4: Commonality Analysis and Refactoring
due 10/24
   
  project #1
understanding and design due 10/24
 

Week 8: 10/20-10/24

Topics: group meetings to work on project (Mon and Wed); more design principles (Fri)

Reading:

   
   
   
lab #5: A Bit of Packages, and More Commonality Analysis
due 10/30
   
  project #1
final handin due 11/10
 

Week 9: 10/27-10/31

Topics: more design principles; SVN

Reading: (optional readings in [])

Examples:

   
   
   
lab #6: More Subversion
due 11/6
   
   

Week 10: 11/3-11/7

Topics: more design principles; design patterns

Reading: (optional readings in [])

Examples:

   
   
   
lab: work on project    
     

Week 11: 11/10-11/14

Topics: design patterns; client-server networking

Reading:

Examples:

    project #2
understanding, design, team preferences due 11/17 11/19
 
     
     
lab #7: Swing and MVC
due 11/20
   
   

Week 12: 11/17-11/21

Topics: networking and threads

Reading:

Project #1 Opportunity: You may rewrite the final design and discussion phase of project #1 if you wish; the new grade would replace the grade on that part of the original handin. For full credit, include both the discussion elements asked for (items (a), (b), and (c) in "Final design and discussion" paragraph in the project handout) and a detailed discussion of how to fix any violations of the design principles that you identified or that were identified in the feedback on your project. You are welcome to discuss your ideas and what I'm looking for with me, but otherwise this should be your own work (not the group's and not a friend's). (Due by the end-of-semester deadline, 12/18 10pm.)

Examples:

   
   
  project #2
final handin due 12/12
 
lab #8: Clients, Servers, Threads
due 12/4
   
   

Week 13: 11/24-11/28

Topics: design problem, threads

Reading: no required reading this week

   
   
Thanksgiving break

Week 14: 12/1-12/5

Topics: project

Reading: no required reading this week

lab #8: Clients, Servers, Threads
due 12/4
  project #2
final handin due 12/12
 
   
   
lab: work on project    
     

Week 15: 12/8-12/12

Topics: putting it all together

Reading:

Examples:

     
     
     
lab: work on project    
     

Reading Period & Exams: 12/13-12/19

       
       
       
end-of-semester deadline
no work accepted after 12/16 4:30pm
final exam
12/16 1:30-4:30pm
(review information)
       
       
       

Valid HTML 4.01!