CS 301 Software Development

Fall 2008

Syllabus

 

Where and When

Class:9.30-10.50, Tuesday, Thursday Mc Glothlin Hall 020
Office hours: 15.00-17.00 Tuesday, Thursday and other hours by appointment.

Instructor              

Peter Kemper
104A McGlothlin-Street Hall
221-3462
kemper [At] CS [dot] WM [dot] EDU

Overview:

from the catalog; "An introduction to principled software development emphasizing design  at the module level as well as tools and techniques. Topics include object oriented class design and implementation, abstraction techniques, debugging techniques, defensive programming, development and analysis tools, and testing. Emphasizes the role of the individual programmers in large software development projects."

Required Book:

Cay Horstmann, Object Oriented Design & Patterns, 1st or 2nd edition, Wiley.

 
Lectures will be mainly based on this text. Lecture material will be supplemented by appropriate reference documents. 

Required Work:

This class adheres to a learning-by-doing approach, so the required work will mean programming in most cases.

Homework/Laps: There will be a number of homework assignments.  Results will graded and give in total 10% of the final grade. Results will be averaged over all homeworks. Homeworks will be done on your own, as a formal matter of honor.

Projects: There will be four to five projects assignments that require more effort than homework and will give in total 75% of the final grade. The projects are related and step by step will build a module of useful new functionality into an existing real world software system. Projects will be done on your own, as a formal matter of honor. The operative rule is that you may consult with your classmates on general issues about an assignment, but code remains private and is not shared. There is the option that two students join for a pair which needs to be approved by the professor before the project is assigned. Pair programming comes with an extra set of rules to obey but also with the potential of learning more and performing better in class.

Final exam review: We will have a final exam review that is worth 10% of the final grade.

Active class attendance: This is a course that requires you to be present and to actively participate which will give 5% of the final grade.

The final numeric grade will be mapped into a letter grade Ňon a curve.Ó Generally, 90 and above is an A; 80 to 89 is a B, etc. , however if necessary, a downward adjustment may take place.

Late Work Policy

Assignments come with a submission deadline and a drop out deadline. The submission deadline is when you are supposed to hand in your results. The drop out deadline is later. An assignment that you hand in before the drop out deadline will be considered and graded.  An assignment that you hand in after the drop out deadline will NOT be considered and NOT graded.
So it is highly recommended to plan ahead and work with submission deadlines.  Deadlines will be set well in advance.

Attendance:

It is expected that students attend all classes.

Students Who Need Accommodation:

Please see me after class or send email to set up a brief meeting.

Information Dissemination:

I will maintain a set of web pages beneath

http://www.cs.wm.edu/~kemper/cs301/

in support of the course. They should be considered official components of the course, and you should check them on a daily basis.