MIME-Version: 1.0 Server: CERN/3.0 Date: Sunday, 24-Nov-96 22:45:23 GMT Content-Type: text/html Content-Length: 15551 Last-Modified: Sunday, 12-May-96 03:00:03 GMT CS211 Spring 96 Home Page

CS211, Computers and Programming

Computer Science Department
Cornell University
Spring 1996

Question and problems will this page should be emailed to Jeff Foster, jfoster@cs.cornell.edu . You may have trouble viewing the tables if you're using an early version of NetScape.

The CS211 contest .

The first prelim will be on Thursday, March 7. We'll announce times and places soon. Topics covered in the prelim.

The second prelim will be on Tuesday, April 23. The rooms were announced in lecture. Topics covered in the second prelim.

The final exam will be on Monday, May 13 at noon in Olin 155 (last names G-Z) and Olin 165 (last names A-F). The final exam will cover everything in the course. Additional topics convered in the final.

Office hours 5/6-5/13

DayWhenWhereWho
Monday11:00-12:30Upson 5148Dave
Tuesday11:30-1:00Upson 312Jeff
Wednesday11:00-12:30Upson 5148Dave
Thursday1:30-3:00Upson 310Hal
Friday1:30-3:00Upson 310Hal
Saturday3:00Upson B17Review session

Consulting on 8/12: 3-6pm (Chris); 8-10pm (Jose). Thanks to Chris and Jose for taking the time out of their studying to do this!

  • Course description
  • Course staff
  • CS211 lecture notes
  • CS211 handouts
  • CS211 code samples
  • Gofer
  • Enhance
  • Other Web Servers

  • Course description

    COM S 211 Computers and Programming (also ENGRD 211)

    Fall, spring, summer. 3 credits. Credit will not be granted for both COM S 211 and 212. Prerequisite: COM S 100 or equivalent programming experience.

    Intermediate programming in a high-level language and introduction to computer science. Topics include program development, proofs of program correctness, program structure, recursion, abstract data types, object-oriented programming, data structures, and analysis of algorithms. C++ is the principal programming language.


    Course staff and office hours

    Instructor:

    Hal Perkins, 310 Upson, 255-2352.
    Office hours: Thursday 1:30-3:00 and by appointment.
    Email hal@cs.cornell.edu .

    Teaching assistants:

    Correction: Office hours will be held in the TA's office

    Jeff Foster, 312/314 Upson, 255-1099.
    Office hours: Tuesday 11:30-1:00.
    Email jfoster@cs.cornell.edu .

    Alan Kwan, 4161 Upson, 255-6835.
    Email kwan@cs.cornell.edu .

    David Walker, 5148 Upson, 255-7416.
    Office hours: Monday 11:30-1:00pm.
    Email walker@cs.cornell.edu .

    Sections:

    CS211 Spring 1996 Sections
    DayTimeRoomInstructor
    Tuesday2:30-3:20Upson 111AHal Perkins
    Tuesday3:35-4:25Upson 111AHal Perkins
    Wednesday12:20-1:10Hollister 372David Walker
    Wednesday1:25-2:15Hollister 372David Walker
    Wednesday3:35-4:25Upson 207David Walker
    Thursday2:30-3:20Upson 211Jeff Foster
    Friday3:35-4:25Hollister 372Jeff Foster

    Consulting:

    Consulting hours are in Upson 305.

    The regular consulting schedule, in effect until the last day of classes, is

    Sunday-Thursday, 1:25-6:00pm and 7:00-11:00pm
    Friday, 1:25-4:40pm

    CS211 Spring 1996 Consulting
    SundayMondayTuesdayWednesdayThursdayFriday
    1:25SteveEricKyleChrisJPKyle
    2:30SteveEricKyleChrisJPVasantha
    3:35JoseJoseKayJoseJPVasantha
    4:40-6:00JoseJoseKayJoseJP(None)
    7:00KayKyleSteveEricVasantha(None)
    8:00KayKyleSteveEricVasantha(None)
    9:00DanEricKayChrisDan(None)
    10:00-11:00DanEricKayChrisDan(None)

    CS211 lecture notes

    Lecture notes are available in three formats:

  • Binhqx'ed MacBinary files that contain Microsoft Word files
  • Rich text format files (parseable by Microsoft Word and others)
  • Plain text
  • The date listed next to the lecture is the date the lecture was posted, not the date the lecture was given.

    Macintosh BINHQX

  • 1/23/96 Lectures 1&2: Preliminaries, C++
  • 2/2/96 Lectures 3&4: Basic C++ Classes
  • 2/12/96 Lecture 5: More Classes
  • 2/12/96 Lecture 6: Pointers and Arrays
  • 2/12/96 Lecture 7: Dynamic Storage Allocation
  • 2/19/96 Lectures 8&9: Classes with Dynamic Data
  • 2/19/96 Lecture 10: Fine Points of Classes
  • 3/3/96 Lecture 11: Introduction to OOP
  • 3/3/96 Lecture 12: Derived Classes
  • 3/14/96 Lecture 13: Program Correctness, Algorithmic Notation
  • 3/14/96 Lecture 14: Triples and Assignments
  • 3/14/96 Lecture 15: Assignments, Conditionals, and Loops
  • 3/14/96 Lecture 16: Proving a Loop Correct
  • 4/4/96 Lecture 17: Functional Programming
  • 4/4/96 Lecture 18: Types in Gofer
  • 4/4/96 Lecture 19: Currying, Map, and Filter
  • 4/4/96 Lecture 20: Recursion vs. Iteration
  • 5/3/96 Lecture 21: Application Architectures and Frameworks
  • 5/3/96 Lecture 22: Linked Lists
  • 5/3/96 Lecture 23: Algorithmic Analysis
  • 5/3/96 Lecture 24: More Linked Lists
  • 5/3/96 Lecture 25: Binary Trees
  • 5/3/96 Lecture 26: Classes and Linked Data Structures
  • 5/3/96 Lecture 27: Industrial Strength C++
  • 5/3/96 Lecture 28: Java
  • BINHQX files can be processed by Stuffit Expander . If you have a PC, see the http address for Aladdin Systems, Inc. to find a Windows version. (Thanks to Armando Nunez for the tip.)

    Rich text

  • 1/23/96 Lectures 1&2: Preliminaries, C++
  • 2/2/96 Lectures 3&4: Basic C++ Classes
  • 2/12/96 Lecture 5: More Classes
  • 2/12/96 Lecture 6: Pointers and Arrays
  • 2/12/96 Lecture 7: Dynamic Storage Allocation
  • 2/19/96 Lectures 8&9: Classes with Dynamic Data
  • 2/19/96 Lecture 10: Fine Points of Classes
  • 3/3/96 Lecture 11: Introduction to OOP
  • 3/3/96 Lecture 12: Derived Classes
  • 3/14/96 Lecture 13: Program Correctness, Algorithmic Notation
  • 3/14/96 Lecture 14: Triples and Assignments
  • 3/14/96 Lecture 15: Assignments, Conditionals, and Loops
  • 3/14/96 Lecture 16: Proving a Loop Correct
  • 4/4/96 Lecture 17: Functional Programming
  • 4/4/96 Lecture 18: Types in Gofer
  • 4/4/96 Lecture 19: Currying, Map, and Filter
  • 4/4/96 Lecture 20: Recursion vs. Iteration
  • 5/3/96 Lecture 21: Application Architectures and Frameworks
  • 5/3/96 Lecture 22: Linked Lists
  • 5/3/96 Lecture 23: Algorithmic Analysis
  • 5/3/96 Lecture 24: More Linked Lists
  • 5/3/96 Lecture 25: Binary Trees
  • 5/3/96 Lecture 26: Classes and Linked Data Structures
  • 5/3/96 Lecture 27: Industrial Strength C++
  • 5/3/96 Lecture 28: Java
  • Plain text

  • 1/23/96 Lectures 1&2: Preliminaries, C++
  • 2/2/96 Lectures 3&4: Basic C++ Classes
  • 2/12/96 Lecture 5: More Classes
  • 2/12/96 Lecture 6: Pointers and Arrays
  • 2/12/96 Lecture 7: Dynamic Storage Allocation
  • 2/19/96 Lectures 8&9: Classes with Dynamic Data
  • 2/19/96 Lecture 10: Fine Points of Classes
  • 3/3/96 Lecture 11: Introduction to OOP
  • 3/3/96 Lecture 12: Derived Classes
  • 3/14/96 Lecture 13: Program Correctness, Algorithmic Notation
  • 3/14/96 Lecture 14: Triples and Assignments
  • 3/14/96 Lecture 15: Assignments, Conditionals, and Loops
  • 3/14/96 Lecture 16: Proving a Loop Correct
  • 4/4/96 Lecture 17: Functional Programming
  • 4/4/96 Lecture 18: Types in Gofer
  • 4/4/96 Lecture 19: Currying, Map, and Filter
  • 4/4/96 Lecture 20: Recursion vs. Iteration
  • 5/3/96 Lecture 21: Application Architectures and Frameworks
  • 5/3/96 Lecture 22: Linked Lists
  • 5/3/96 Lecture 23: Algorithmic Analysis
  • 5/3/96 Lecture 24: More Linked Lists
  • 5/3/96 Lecture 25: Binary Trees
  • 5/3/96 Lecture 26: Classes and Linked Data Structures
  • 5/3/96 Lecture 27: Industrial Strength C++
  • 5/3/96 Lecture 28: Java

  • CS211 handouts

    Handouts are in postscript format. You can print them on almost any laser printer. If you want to view them, you need an application like Ghostview.

  • 1/23/96 Handout 1: Preliminaries
  • 1/23/96 Handout 2: Assignment 1
  • 1/26/96 Handout 3: CodeWarrior Intro (section)
  • 2/23/96 Handout 4: Assignment 2
  • 2/23/96 Handout 5: Assignment 3
  • 3/4/96 Handout 6: Assignment 4

  • Code samples

  • 2/6/96 Lecture 5: Cell class
  • 2/6/96 Lecture 5: Complex class
  • 2/6/96 Lecture 5: Sets of characters
  • 2/19/96 Lectures 8&9: Simple list class
  • 5/3/96 Lecture 26: Dictionary class

  • Gofer

    There are there flavors of Gofer available. MacGofer is available in the public labs.
  • MacGofer
  • PC Gofer
  • UNIX Gofer
  • The FTP site for Gofer is haskell.systemsz.cs.yale.edu/pub/haskell/gofer and the FTP site for MacGofer is ftp.dcs.gla.ac.uk . Please do not ftp if you can help it. If you find a piece of Gofer you think is of general interest, let me know and I'll make it available from here. MacGofer sources and manuals are available on the CS department ftp server ftp.cs.cornell.edu/pub/jfoster .

    Other Web Servers

    The final project for CS211 is on-line, available on the CS department's ftp server.

    ftp.cs.cornell.edu/pub/cs211/Enhance_assignment.sea.bin

    Other Web Servers

  • Computer Science Department
  • CUINFO
  • Metrowerks (CodeWarrior) homepage
  • Aladdin Systems, Inc., makers of Stuffit Expander

  • CS211 home page / Comments or suggestions? E-mail Jeff Foster .