CompSci 308
Fall 2014
Software Design and Implementation

The exact order and details of these 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. As much as possible, materials discussed in class will be posted here in case you miss class.

Readings should be completed early in the week on which they are listed.

Date Topic Example Readings Due
Game - Introduction and Basic Design Principles
Aug 25
Week 1
Course Introduction
What is GIT?
What is Design?
Small Refactorings
Bins OO in One Sentence
Code Smells

Guide to Versioning Systems
Plan, Wed, Aug 27
Sep 1
Week 2
Design Principles
Inheritance
Large Refactorings
Roulette Inheritance
Commonality Analysis
Open Closed Principle
Complete, Thu, Sep 4
Analysis, Sun, Sep 7
CellSociety - Basic Teamwork and Recognizing Good Design
Sep 8
Week 3
Team Meeting
GIT Team Workflow
    Plan, Wed, Sep 10
Sep 15
Week 4
      Basic, Wed, Sep 17
Sep 22
Week 5
      Complete, Wed, Sep 24
Analysis, Sun, Sep 28
SLogo - Advanced Teamwork and Design Strategies
Sep 29
Week 6
Team Meeting     Plan
Oct 6
Week 7
      Basic
Oct 13
Week 8
FALL BREAK      
Oct 20
Week 9
      Complete
Oct 27
Week 10
      Analysis
VOOGASalad - Final Project: Putting it All Together
Nov 3
Week 11
Team Meeting
    Plan
Nov 10
Week 12
      Basic
Nov 17
Week 13
      Revise Plan
Nov 24
Week 14
Presentations
THANKSGIVING
    Demo
Dec 1
Week 15
      Complete
Sunday
Dec 14
2-5pm
Final Project Demo     Demo Preparation
Analysis