CS 5150
Software Engineering
Spring 2009

Professor William Y. Arms


 

Notice: Presentations

The following time slots are available for presentations. Reservations are on a first-come-first-served basis. To reserve a time slot, send email to Corinne Russell (crussell@cs.cornell.edu).

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

Third presentation: April 28 to May 1

Tuesday, April 28, 10:00-11:00 (Big Red iPhone Application)
Tuesday, April 28, 11:00-12:00 (unreserved)
Tuesday, April 28, 12:00-1:00 (Tickets for Military)
Tuesday, April 28, 3:00-4:00 (PaperlessWorld (consumer facing))

Wednesday, April 29, 9:00-10:00 (PaperlessWorld Integration)
Wednesday, April 29, 10:00-11:00 (iHealth)
Wednesday, April 29, 11:00-12:00 (unreserved)
Wednesday, April 29, 3:00-4:00 (Student Disability Services)
Wednesday, April 29, 4:00-5:00 (Harvester for Cornell Research)

Thursday, April 30, 10:00-11:00 (iPhone App)
Thursday, April 30, 11:00-12:00 (unreserved)
Thursday, April 30, 12:00-1:00 (Online Surveys)
Thursday, April 30, 3:00-4:00 (Daily Sun Ad)

Friday, May 1, 9:00 - 10:00 (HAMRS for Lockheed Martin)
Friday, May 1, 10:00 - 11:00 (Environmental Checklist)
Friday, May 1, 11:30 - 12:30 (Cornell Appointment Tracking System)
Friday, May 1, 1:30 - 2:30 (Agency for Chinese Students studying overseas)
Friday, May 1, 2:30 - 3:30 (unreserved)

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 2110 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., Phillips Hall 219
Instructor: William Arms, wya@cs.cornell.edu, 255-3046
Cornell Information Science, 301 College Avenue
Instructor's Assistant: Corinne Russell, crussell@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 Corinne Russell to schedule an appointment
Team meetings: Wednesday 7:30 to 8:30 p.m. or as decided by the teams
Teaching Assistant Stephen Purpura, stevepurpura@gmail.com

The Teaching Assistant does not have scheduled office hours but is available to help you by email or by appointment.  Please send all message about the course to: cs5150-l@lists.cs.cornell.edu.  Messages to this addresses are forwarded to the Instructor and the Teaching Assistant.

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

CS2110 (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.

Major parts of the course require working with clients, user interface design and testing, writing reports and documentation, and giving presentations.

Recitations

The recitation period on Wednesday evenings is available 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.

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 16, 2009