CS 501
Software Engineering
Spring 2003

Administration


Basic Information

The Teaching Assistants do not have scheduled office hours but are available to help you by email.  Please send all message about the course to: cs501@cs.cornell.edu.  Messages to this addresses are forwarded to the Instructor and all Teaching Assistants.

Notices and Syllabus

Urgent notices about the course are posted on the home page of this web site.  Check the page regularly for current information.

The preliminary course syllabus is posted on the syllabus page of this web site.  It has the schedule of assignments, discussion classes and quizzes.  The discussion classes and the quizzes are within regularly scheduled class times.  Three of the fours assignments include group presentations.  Note that the syllabus is subject to change as the course progresses.

Course Topics and Goals

This is an introduction to the practical problems of specifying, designing, and building large, reliable software systems. Students work in teams on projects for real clients. This work includes a feasibility study, requirements analysis, object-oriented design, implementation, testing, and delivery to the client. Additional topics covered in lectures include professionalism, project management, and the legal framework for software development.

Assumed Background

CS211 (or equivalent) plus a reasonable knowledge of the C, C++, or Java programming languages. Sufficient maturity to be able to learn new programming languages on your own if your project requires it.

Recitations

A few of the regular lectures will be given during the weekly evening recitation period.  Otherwise this period is reserved for project meetings.

Computing Laboratory

Unix and Windows computers with appropriate software are available in the Computer Science Undergraduate Lab, Upson Hall Room 315/317. M.Eng. students may also use the M.Eng. computing lab.  If your project requires other software or facilities, contact the Teaching Assistant assigned to your project.

Assignments and Grading

The course is built around four major projects assignments, three of which include presentations.  These assignments will include both group work and individual work.  In addition, there will be several quizzes.  The quizzes test material in the lectures and the items labeled Required Reading in the syllabus.  The weightings given to these components are expected to be as follows, but these weightings may be changed:

Individual project assignments25%
Group project assignments45%
Quizzes30%

Textbook

There is no course textbook.  In the past the two following books have been used.  They both give a general overview of the field of software engineering:


[CS 501 Home Page]

William Y. Arms

(wya@cs.cornell.edu)
Last changed: January 20, 2003