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

 

Welcome to the CS 211 (Fall 2001)

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.

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

TAs
Their particulars will appear on the website.

Consultants
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. 

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.

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.

Tests
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
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