CS3733-D05 Class Schedule

The following table shows the class schedule, by week, and the topics for the classes. While there may be some adjustment in the schedule as the term progresses, I will try to stick to the schedule as much as possible. Homework assignments are due through turnin by class time on the day they are due.

Date
Topics Assignment Reading
25-Oct
Course introduction, teams, communication, tools

Form teams. There should be three teams. Each should have the same number of members, ideally. However, if there are not enough to make this come out even, there should be no more than one team member difference. You can use the class SourceForge project for discussion. When the teams are formed, email the team members' names to me along with the team name, if you choose one.

Every student should get an account on the WPI SourceForge system. One member from each team should request a new project on SourceForge and then add the other project team members. (Due 27-Oct)

Introduction, Ch. 1
27-Oct
Tools, pair programming, nature of software, introduction to XP and iterative development, pair programming overview, spikes.

Students will work in pairs for this assignment. If there are an odd number of students, there may be one group that can have 3 students, but you need to make sure that you all get a chance to pair program.

Try an XP spike as described in Chapter 2 of the text. You should, at the minimum, pair program, estimate your work by writing simple user stories, and, if possible, try test-first programming. You will write a program that does the following:

  • Your program will take as input, the latitude and longitude of two spots on the earth.
  • You will output the surface distance between the two points.

The choice of input format is up to you. There are several web sites you can find that will help you in the calculation.

You will be graded on your code correctness, code style and comments, and your report.

Export your Eclipse project as a zipped file. You must have some sort of tests and include a description of how to run the tests. Use the attached report format to describe how to run your tests and assess your experience. Include it as part of your zipped file. Replace the blue text in the report with your information. (Due 3-Nov)

/cs/bin/turnin submit cs3733 hw1 homework1.zip

Ch. 2, 3, 4
28-Oct
Introduction to the project, team selection, iterative and incremental development   Ch. 5, 6
31-Oct
Requirements: use cases, user stories   Ch. 7, 8
1-Nov
Project planning: the planning game, estimation   Ch. 9, 10
3-Nov
Software lifecycle, agile methods, XP Slides are here. Ch. 11, 12
4-Nov
Team meetings, exercises, iteration reports

 

Ch. 13
7-Nov
Pair programming, Test-first programming, JUnit

Write a program that will read in text and count the number of C++ comments in it. That is, comments that are either of the form: /* ... */ or //...<EOL>. It should accept the text and print out the number. Write the program in a test-first manner. You must turn in the Eclipse project. The project must contain your program, and all JUnit tests. Each JUnit test should have a number in its header comment indicating the sequence that the test was written.

You may do this assignment in pairs if you wish. Each file must contain the names of each person. (Due 14-Nov)

/cs/bin/turnin submit cs3733 hw2 homework2.zip

Ch. 14

Optional reading:
Test Before you Code
JUnit home page

8-Nov
People, Process, Tools, generating trust, team behavior   Slides from this class are here.
10-Nov
Unit testing, mock objects, CVS

 

 
11-Nov
Team meetings, exercises, iteration reports   Ch. 15
14-Nov
Analysis: finding domain classes, interactions, introduction to UML    
15-Nov
Analysis methods: CRC cards, textual analysis    
17-Nov
Midterm exam    
18-Nov
Team meetings, exercises, iteration reports    
21-Nov
Design: architecture    
22-Nov
Design: class design    
28-Nov
Design: design patterns  Use Visual Paradigm to create a sequence diagram that shows how a loan request is processed, according to this use case. You should only draw a diagram that shows a successful scenario. Turn in your zipped VP-UML project file. (Due 5-Dec)

/cs/bin/turnin submit cs3733 hw3 homework3.zip
 
29-Nov
Design: design patterns

 

 
1-Dec
Testing: fundamentals, test cases    
2-Dec
Team meetings, exercises, iteration reports    
5-Dec
Testing: integration and system tests   Parnas and Clements article
6-Dec
Testing Complete the individual project report form and email it to me by Dec 14.
8-Dec
Extra topics    Article on Aspect-Oriented Programming
9-Dec
Team meetings, exercises, iteration reports    
12-Dec
Final exam    
13-Dec
Project presentations    
15-Dec
Project presentations    

Modified: 28-Nov-2005
Gary Pollice