CS 501
Software Engineering
Spring 2008

Professor William Y. Arms


 

Notice: Final presentation, April 28 to May 1

The final presentations will be on April 28 to May 1. They will follow the same format as the first presentations. The following time slots are available. Reservations are on a first-come-first-served basis. To reserve a time slot, send email to Sarah Birns (sbirns@cs.cornell.edu).

All presentations are in the meeting rooms at 301 College Avenue. Please check at the front desk for where your presentation will be held.

Monday, April 28, 3:00-4:00 (unreserved)
Monday, April 28, 4:00-5:00 (The Cornell Daily Sun)

Tuesday, April 29, 10:00-11:00
Tuesday, April 29, 11:00-12:00 (unreserved)
Tuesday, April 29, 12:00-1:00 (Additune)
Tuesday, April 29, 4:00-5:00 (Bookster)

Wednesday, April 30, 9:00-10:00 (WRC)
Wednesday, April 30, 1:30-2:30 (Course Planning and Audit System)

Thursday, May 1, 9:00-10:00 (IFC)
Thursday, May 1, 10:00-11:00 (CULift)
Thursday, May 1, 11:00-12:00 (Microcontroller)
Thursday, May 1, 12:00-1:00 (Portfolio Historical Analysis Tool)

Notice: Quiz 4

Quiz 4 has been moved to April 22. If you cannot make this date, please send email to the course team.

Course Description

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.

Offered: Spring only
Prerequisites: COM S 211 or equivalent experience programming in Java or C++
Grade options: Letter or S/U
Credit hours: 4

Basic Information

Lectures: Tuesday and Thursday 1:25-2:40 p.m., Hollister Hall 110
Instructor: William Arms, wya@cs.cornell.edu, 255-3046
Cornell Information Science, 301 College Avenue
Instructor's Assistant: Sarah Birns , sbirns@cs.cornell.edu, 255-5925
Cornell Information Science, 301 College Avenue
Instructor's Office Hours: Tuesday and Thursday 9:00 to 10:00 a.m., or contact Sarah Birns to schedule an appointment
Team meetings: Wednesday 7:30 to 8:30 p.m. or as decided by the teams
Teaching Assistant Hussam Abu-Libdeh, ha232@cornell.edu
Teaching Assistant Sara (Yanwei) Lin, yl335@cornell.edu

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-l@lists.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 at the top of this page.  Check the page regularly for current information.

The course syllabus is posted on the Syllabus page of this web site.  It has the schedule of lectures, assignments and quizzes.  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.

Assignment questionnaires

At the time that each assignment is submitted, you are expected to complete a questionnaire about how each member of your team contributed to the work of the group. This is used to identify those individuals who have made extra effort or have not contributed fully. It is a required part of the course.

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

The recitation period on Wednesday evenings is reserved for group project meetings. Projects may agree to meet at other times, but it is important that each project schedules a team meeting at least once per week.

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.  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%

Much of the work in this course is collaborative, but some parts require individual work. To understand when collaboration is appropriate read the web page on Academic Integrity and understand how it applies to this course.


[ Home | Syllabus | Projects | Readings | Assignments | Quizzes | Academic Integrity | About ]


William Y. Arms
(wya@cs.cornell.edu)
Last changed: April 28, 2008