Cornell Computing and Information Science banner

CS 5150
Software Engineering
Fall 2012

Benjamin Ylvisaker


Two last tasks for 5150

  1. There is a new assignment on CMS for providing numerical self- and peer-evaluations for your 5150 project. (Remember, the textual teammate feedback you have been writing is intended to be helpful advice, not evaluative.) These evaluations will be factored into your individual project score. I expect it will take you no more than 5 minutes to fill out the evaluation.
  2. [Optional] Do you want to leave a summary on the 5150 website of what your team accomplished? It will be nice for future generations of 5150 students to see how the projects end up, and it will be a stable URL that you can show off to potential employers. If you are interested, please put together a single HTML page (hopefully with some shiny pictures) that summarizes what your team accomplished this semester. There are no length limits, but it is more likely to actually be read if it's concise. It will be linked from the project suggestions page. This is not a course requirement and will have absolutely no effect on your grade.

Good luck finishing up your projects!

Presentation Scoring and Room Information

The room information is in the Google document that you used to sign up for a presentation time slot. Also I added some information on the assignments page about how we will be scoring the presentations.

CMS Available and Survey Postponed Canceled

CMS is turned on for 5150 now, and that is how you should submit any materials from now on. If you noticed any problems, please email the course staff. In other news, the surveys are canceled. Click on the Surveys link to see what has replaced them.

TA Assignments and Presentation Sign-up

Please see the assignments page for information regarding who your primary TA is and how to sign up for presentation time slots. As usual, email the course staff if you have any questions.

New TA

Because of the large size of this year's 5150 class, we have a second TA. (See details below.) Teams will be assigned a primary TA who you should contact first for most class-related questions. If you prefer working with one or the other, let me know.

Let us know about your groups!

If my class spreadsheet is approximately accurate, I have not heard from most of you regarding team formation (either a Team Formed note or a Help Me Find a Team note). The deadline for the feasibility study is only three weeks away, so you should get your teams and projects settled soon.

More project info available

I just posted more details in the project section of the website. Also there are a few more project suggestions. Important dates (or date ranges for the presentations) will be available before lecture tomorrow.

Team finding meet-up

For those of you looking for a project team, I recommend meeting during the discussion time slot at 7:30 this evening (Aug. 27th). The regular lecture room is open and available according to the registrar. You are welcome to self-organize however you like, but here is a suggestion:

  • List the project suggestions on the blackboard.
  • Write your name by one or two projects that are most interesting to you.
  • Once a project has a few names by it, round up those people and go off to a corner of the room to introduce yourselves to each other.
  • (Of course, you won't necessarily end up working on that project, it's just a way to find people with similar enough interests.)
If you would like my help coordinating any more, send an email.

(Also give Piazza a try.)

Piazza for CS 5150 exists

By popular request I activated Piazza for CS 5150. Piazza is completely new to me, so feel free to let me know about things I should do with it.

The website is alive

Sorry it took so long. Right now there are just a few project suggestions. More suggestions and the rest of the content will be coming soon.

Course Description

This course is an introduction to the practical problems of specifying, designing, building, testing, and delivering reliable software systems. Other topics covered in lectures 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
Lectures: Monday and Wednesday 1:25 to 2:15, Phillips Hall 203
Instructor: Benjamin Ylvisaker,
Upson Hall 4105A
Office Hours: Monday and Wednesday afternoon. Send email to ensure that I will be there at a particular time.
Course Assistant: Maria Witlox,
Upson Hall 4146
Team meetings: Monday 7:30 to 9:30 p.m., or as decided by the project teams
Teaching Assistants: Yue Gao,
Myle Ott,

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


The course calendar is posted on the Calendar page of this web site.  It has the schedule of lectures and assignments.  Note that the syllabus is subject to change as the course progresses.

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.


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

Team assignments

  • The projects are 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.
  • After the first milestone, each project team submits a weekly progress report.

For more information, see the Assignments page.

Individual assignments

  • There are four tests that are based on the material covered in the lectures. For more information, see the Tests page.
  • 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.


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

Group project 40%
Individual project contribution 40%
Tests 20%
Some students have asked about the relationship between group size and grading. The short answer to such questions is that there is very little relationship. No matter what your group size, the important things are:
  • Define an appropriate amount of work for yourself and your group. This will require some negotitation with the client.
  • Follow through on what you committed to do yourself.
  • Stay in touch with your team so you can adjust if you're not making enough progress on the project overall.

Team meetings

The recitation period on Monday 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 ]