632-428 COM S  211
Computers and Programming
Fall 2001
680-002 ENGRD 211   3 credits

Tuesdays and Thursdays, 10:10AM - 11:00AM, Olin Hall 155


Staff info
Lecture schedule
About grades
Course consultants
Useful links


The final has been graded and course grades changed accordingly. Look on http://www.csuglab.cornell.edu/Courses/cs211.

Here's the grade distribution on the final --remember that no student with an A in the course took the final:

90-99: (A) 1

80-89: (A-) 1

70-79 (B- to B+) 7

60-69 (C- to C+) 10

52-59 (D- to D+) 8

<= 50 (F) 3

You may look at your final after the break. Go to Upson 4115 and ask Kathy C. to show you your final.

Have a good break!


David Gries




If you take the final, it may lower as well as raise your grade. If you come into the room where the final is being given, you will have to take the final. We will not let you decide during the final that you do not want to take it (well, you may decide that, but you will still have to take it).

In the past, about 15-20 percent of the students have taken the final. Typically, it lowered roughly the same number of grades as it raised.

If you don't show up at the final, your grade will be as displayed on website http://www.csuglab.cornell.edu/Courses/cs211.

You do not have to tell us whether or not you want to take the final.


Review sessions for the final. For rooms and schedule, LOOK HERE!

Below is the proposed schedul of review sessions. Room numbers will be posted as soon as they become available. Look at the site from time to time for changes:

  • Thursday, Dec. 13. 1:00-2:30PM. Binary trees, binary search trees, graphs

  • Friday, Dec. 14. 1:00-2:30PM. Induction, algorithmic analysis

  • Monday, Dec. 17. 1:00-2:30PM. Linked lists and hash tables

  • Monday, Dec. 17. 2:30-4:00. Searching and sorting

  • Tuesday, Dec. 18. 1:00-2:30. Correctness of programs

  • Wednesday, Dec 19. 1:00-2:30. Classes, subclasses, nested classes, inner classes, abstract classes

  • Wednesday, Dec 19. 2:30-4:00.Exception handling, interfaces, interfaces Enumeration and Comparable.


Consulting hours in Upson 304: none on 11-14 December.
17-19 December: 1-5PM
Go there for help,as well as to your TAs and Gries

Look here for information on what the final will cover.

Assignment 8. Method removeleadzeros in the assignment handout is wrong. Click on "News" to the left to find out about it.

Recitation 10, for week of 26 November. The recitation in the week of 26 November will cover mathematical induction. We suggest that you don't miss it.

About prelim II. You can look at your graded prelim in Upson 304 during consulting hours. Once the prelim has been taken out of that room, no regrading will be allowed (because we cannot control your writing on it). The best thing to do is study it in the consulting room, along with the answer sheet. If you feel you deserve more points, fill out a regrade form and give it to the consultant. Please do not ask for a regrade until you have studied our answers and understood them. Statistics on the exam are available on the the site http://www.csuglab.cornell.edu/Courses/cs211/.

Trees. We have studied binary trees. Look here for Joyce Kilmer's poem, Trees, and Gries's version.

Assignment 7. Several people used the conventional that an empty list is represented by a one-node list whose element field is null. This is absolutely incorrect. The specification of method isEmpty tells you the representation of an empty list: null. That is the convention we have been using all along for empty lists, when implemented a list as a singly linked list (without a head or tail).

Assignment 6 typos. Click on the News link to the left.

About prelim I. The prelim was graded and grades entered by midnight. It was easier than we were trying for, and we will attempt to make the next prelim just a bit harder. Below is a histogram. (This is as of Friday at 9AM. The electronic submission page statistics will be more up to date). The letter grade is an estimate.

Range Number letter grade
90-100 103 A
80-89 74 B
60-69 17 D+ to C-
50-59 11 D
40-49 8 F
30-39 5 F

About regrades of prelim I.

You can look at your graded prelim in Upson 304 during consulting hours. Once the prelim has been taken out of that room, no regrading will be allowed (because we cannot control your writing on it). The best thing to do is study it in the consulting room, along with the answer sheet. If you feel you deserve more points, fill out a regrade form and give it to the consultant. Please do not ask for a regrade until you have studied our answers and understood them.

Viewing Grades. The electronic submission site http://www.csuglab.cornell.edu/Courses/cs211/. now has a new feature.On that page, view your profile. On the profile page, the "details" column contains a link; click it and you get a page that contains statistics for the assignment, quiz, or prelim: min, max, mean, and a histogram that shows where you stand.

About the prelim. The prelim is Thursday night, 18 October, 7:30 to 9. It is in the following rooms in Olin: 155, 165, 245, 255. You ma sit in any room. However, you MUST sit at least one seat apart; there must be an empty seat between students. See you then!

We hope to have the exam graded Thursday night so that you will be able to see the results some time Friday morning (by noon, but maybe much earlier) on the electronic submission website.

About assignments 4 and 5:

Go to this page to find the program (and files) that we used to test your assignment 4. Before asking for a regrade, look at this program; then use it to test your own TagEnumeration and LinkEnumeration.

Because of the problem with the CS server last week, we allowed people to submit assignment 4 all this week, up through Wednesday, 10 October.. This means that we did not put our sample solution to TagEnumeration and LinkEnumeration on the website early, as planned. They are there since Thursday morning, 11 October.

Therefore, the assignment 5 due date is postposed, to midnight, Monday, 15 October. Submit it electronically, at http://www.csuglab.cornell.edu/Courses/cs211/. Submit a zipped file that contains just the two files that you had to work on (we will use our LinkEnumeration and TagEnumeration) and a README.TXT file that contains (1) your name, (2) your netid, and (3), a list of the files that you zipped.


Welcome to the CS 211 (Fall 2001) web site

Course description
Instructor, TAs, consultants
Required and recommended texts
Java bootcamp
Programming environment
CS212 and CS211


Course description, from the Cornell Catalogue

COM S 211 Computers and Programming (also Engrd 211)
Fall, spring, summer. 3 credits.

Prerequisite: COM S 100 or an equivalent course in Java or C++.

Intermediate programming in a high-level language and introduction to computer science. Topics include program structure and organization, modules (classes), program development, proofs of program correctness, recursion, data structures and types (lists, stacks, queues, trees), object-oriented and functional programming, analysis of algorithms, and an introduction to elementary graph theory and graph algorithms. Java is the principal programming language. Knowledge of classes and objects is assumed.

Required and optional texts

The required text is by Weiss: "Data Structures & Problem Solving in Java, Addison-Wesley, second edition (2002), ISBN 0-201-74835-5.

An optional text is by Gries and Gries, "ProgramLive", Wiley & Sons, 2001. This semester, it is used in CS202, a 1-credit course on Java for those who know another language (usually C++). It contains over 250 recorded lectures with synched animation for a first programming course, with the addition of some other material, like recursion. The lectures makes it easier to learn some material than with a mere book.

Other texts, on Java, UML, and other topics, appear on the useful links page.

David Gries, Upson 4108, gries@cs.cornell.edu. 255-8892. Office hours will appear on the web site soon.


Their particulars will appear on the website.

Undergrad consultants will staff a consulting room. It will be open many hours during the day. Visit it when you need help. You will also pick up graded assignment there. Information about consulting will appear on the web site soon.

Java Bootcamp
A prerequisite for this course is knowledge of programming in some language, at the high school level. Preferably, you received the equivalent of a B+ or A in the course that you took. Most people who don't know Java will know C or C++. We will hold a "Java Bootcamp": three hours of training in Java, at following times:

Olin 255, 7PM (in the evening): Tuesday, 4 September, Thursday, 6 September, and Tuesday 11 September.

The bootcamp will introduce you to the basics of object-oriented programming in Java, and CS211 will have one or two review lectures as well. If you got less than B+ in a previous programming course, you may want to take the 1-credit course CS202 instead of CS211. If you are not sure of what to do, sit in on both CS202 and CS211 and make your decision in a week or two. But don't fall behind! Also, talk to Gries.

Programming environment
Metrowerks CodeWarrior is the preferred environment for developing and testing programs, although you can use whatever you want. Our assignments will have been tested in CodeWarrior. CodeWarrios is in all the CIT labs. You can by the learning edition version at the bookstore. This version has a Tutorial that will help you learn how to use CodeWarrior, consisting of animated lectures that are taken from ProgramLive by Gries & Gries.

CS211 versus CS212
CS211 is a 3-credit course. Every attempt will be made to make the workload that of a 3-credit course. There will be programming assignments, but we will try to give reasonable ones that help you learn and exercise the programmng concepts with a minimum amount of your time.

CS212 is a 1-credit project course. It meets the whole semester. Those enrolled will work on a single project, given in four segments, in temas of two. The project is extremely interesting this semester. You will write a program that has some of the functionality of mapblast or mapquest. Type in two addresses, and the shortest path between them is drawn on the screen. The project involves looking at real data and working with the format in which it is stored, implementing GUIs, drawing a map on the screen (really, a graph), finding shortest paths in a graph, and more.

There are two evening prelims: 7:30PM, on Thursday, 18 October, and Tuesday, 20 November.

The final is period 16, 9:30AM, 20 December. Generally, Gries makes the final optional; he will give you a grade at the end of the semester. You can accept it or take the final to try to improve it. Taking the final may lower as well as raise your grade, and it lowering your grade by taking the final has been known to happen in the past.

Recitations will meet beginning next Tuesday. Go to the one for which you are registered.


Number Section Day Time Instructor
632-503 01 T 1220-0110P  
632-567 02 T 0125-0215P  
632-572 03 T 0230-0320P  
633-009 04 T 0335-0425P  
633-040 05 W 1220-0110P  
633-280 06 W 0125-0215P  
633-530 07 W 0230-0320P  
633-558 08 W 0335-0425P  
633-617 09 R 0230-0320P  
633-753 10 W 1220-0110P  
633-829 11 R 0230-0320P