CS 5150
Software Engineering
Fall 2013

William Y. Arms


Course Description

This course is an introduction to the practical problems of specifying, designing, building, testing, and delivering reliable software systems. Additional topics include professionalism, project management, and the legal framework for software development. As a central part of the course, student teams carry out projects for real clients. Each project includes all aspects of software development from a feasibility study to final delivery.

Offered: Fall semester
Prerequisites: Computer Science 2110 or equivalent experience programming in Java or C++. Sufficient maturity to learn new programming languages if the project requires it.
Grade options: Letter or S/U
Credit hours: 4
Class times: Tuesday and Thursday, 8:40 to 9:55, Kimball B11
Instructor: William Arms, wya@cs.cornell.edu, 607-255-0983
Department of Computer Science, 5139 Upson Hall
Office Hours: Wednesday, 10:00 to 11:30 or send email to schedule an appointment
Team meetings: Wednesday 7:30 to 8:20 p.m., or as decided by the project teams
Teaching Assistants: Xiang Long, xl483@cornell.edu
Soroush Alamdari, sh954@cornell.edu

The Teaching Assistants do not have scheduled office hours but are available to help you by email or by appointment.  Please send all message about the course to the Instructor and both the Teaching Assistants.

Academic integrity

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.

Syllabus and schedule

The overall schedule is posted on the Schedule page of this web site.  Note that the schedule is subject to change as the course progresses.

Course materials

All course materials are available online, as written texts, video lectures, etc. For each week, there is a course overview that lists the materials for the week including supplementary material about projects, tests, presentations, etc. The Schedule links to these overviews.

Classes

All classes are optional. In general, the first class of each week is for announcements and to give an overview of the topics for the week. For the first few weeks of the course, both classes are used to help the formation of project teams.

Projects

The groups projects are a central part of the course. See the Projects page for more information.

  • Work on the projects is divided into four parts, each of which ends in a milestone. At each milestone, the team submits a written report.
  • After the second, third, and final milestones, the team makes a presentation to the client and the course team.

For more information, see the Assignments page.

Piazza discussion site

There is a Piazza site for discussions. See: https://piazza.com/cornell/fall2013/cs5150/home. It is managed by Teaching Assistant Xiang Long (xl483@cornell.edu).

The first time that you use the site you need to enroll. If you registered for the course after August 31, please send us an email message so that we can add your name to the class list.

We have set up a folder for each suggested project, which can be used in forming a project team. When your team is formed, send a message to Xiang. He will set up a group so that the team can have private discussions.

This is the first time that this course has used Piazza. If you have suggestions about how to use it more effectively, please let us know.

Tests

There are four tests that are based on the material covered in the lectures. For more information, see the Tests page.

Surveys

At the time of each milestone, there is a survey about the progress of your project. It is a required part of the course. See the Surveys page.

Grading

The weightings given to the components of the course are expected to be as follows, but these weightings may be changed:

Group project 45%
Tests 30%
Individual project contribution 25%

Team meetings

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


[ Home ]


William Y. Arms
Last changed: December 31, 2013