CS99: Syllabus



You are responsible for knowing the information in this document and the complete list of policies on the course website.

Course Description

Course Objectives

Computer Science is not about computers, any more than astronomy is about telescopes -- Edgar W. Dijkstra

This course is designed for students who intend to take COM S 100 but are not adequately prepared for that course. Basic programming concepts and problem analysis are studied. An appropriate high-level programming language (MATLAB) is used. Students with previous programming experience and students who do not intend to take COM S 100 should not take this course. At the conclusion of this course, students should have learned how to do the following:

To help you develop these skills, you will work on a sequence of lab exercises and homework assignments, culminating in a final project that incorporates concepts learned throughout the semester.


The following is a summary of the staff for CS99. Refer to Staff link from the course website for an updated and complete listing of names, locations, and office hours:

Related Courses

Refer to http://www.cs.cornell.edu/ugrad/FirstCourse.html  for information about other "early" programming courses if you need help in deciding whether or not to take CS99.


You are expected to attend all lectures on Mondays:

Course ID Section Day Time Place Person
622-748LEC 01Mon9:05-9:55 AMPH 219Schwartz


CS99 has two scheduled lab sessions. You must attend one per week. They start on September 3:

Course ID Section Day Time Place Person
622-637SEC 01Tue9:05-9:55 AMUpson B7TBA
622-666SEC 02Tue10:10-11:00 AMUpson B7TBA


You are responsible for attending all classes and monitoring messages that we will post on the website and newsgroup. Look here for help on accessing the newsgroup.


Final Project

To demonstrate that you have acquired the desired skills for the course, you will have a final project to complete, which is due at the end of the semester. This project uses many of the skills that earlier assignments helped to develop. The final project also provides an opportunity to make up for missed points on other work.


To encourage practice of newly learned concepts, you will need to complete an exercise for each lab, which is due at the end of the lab session. We do not grade exercises other than to check that you made an attempt to complete the problem sets. Often we will assign teams of students to work together.


Academic Integrity

All students must follow the Code of Academic Integrity (A.I.) at all times. Each assignment will specify whether or not you may work with others and, if so, how many. For assignments that allow partners, only one assignment with all names must be submitted. Exams must always be done individually. The penalty for any violation of the code is severe. Refer to the rules for A.I. that are posted on the website.


We calculate your raw numerical grade based on points for homework and exams. The CS99 homework and exams have the following distribution that help determine your grade:

Exercises     = 20%
Homework      = 30%
Final Project = 20%
Prelim 1      = 10%
Prelim 2      = 20%

To pass CS99, you need an approximate score of 75%. However, demonstrating that you have met the objectives of the course will ultimately dictate whether or not you pass.


You may purchase books from the campus book store. We also place copies of our books on reserve at the engineering library.

Software Requirements

CS99 requires that you program in MATLAB. You do not have to purchase a copy, but if you choose to do so, ensure that you are getting version 6.0 or higher. Many computer labs on campus support the software. See below for more information.

Computer Resources

The CS99 website has many links to assist with learning about programming with MATLAB:

Additional Help

We have provided links to many Cornell resources that help with tutoring, learning, health, and other help. See the Help! link on the course website.

What To Do First

Do the following tasks as soon as possible: