Introduction to Computers and Programming

A22.0002, Section 002, Spring 1999

Class Hours: Tuesdays and Thursdays, 8:30am - 9:45am.
Instructor: Madhu Nayakkankuppam
E-mail: madhu@cs.nyu.edu
Phone: 212-998-3350
Office Hours: Tuesdays 2:00pm - 3:00pm, 715 Broadway Room 1008. Otherwise, by appointment.
Mailbox: Lobby of Warren Weaver Hall.


Important Messages


Course Materials

Text: Turbo Pascal by Samuel L. Marateck, John Wiley and Sons, 1991.

There is a supplement for this course Supplement for Turbo Pascal 7.0 which is also available from Unique Copy Center, 252 Greene Street.

You can use the terminals and the printers at 14 Washington Place. Instructions for using Turbo Pascal and printing program listings and output at 14 Washington Place are available.

If you plan to mostly work out of home, you might want to invest in a Turbo Pascal compiler (about $50 at the NYU Bookstore). If you use a Pentium machine, you will also need a patch file.


General Information

There will be several programming assignments (20%), 2 midterms (40%) and a final (40%). Barring exceptional circumstances, late homework will not be accepted. You may discuss design issues of assignments with other students, but you should not look at or use somebody else's program (implementation) or parts thereof. Do your homework and other course requirements is a timely fashion. No "incompletes" will be given. Unfortunately, due to the large number of students registered in this course, a make-up final cannot be scheduled, so make sure the date/time for the final exam does not clash with that of another course. Occassionally, there will be surprise quizzes in the class, which might ultimately count for borderline grades. You must retain all your homework source code on 3.5 inch diskettes (back up an extra copy on separate diskettes), your graded homework (hard copies), your graded quizzes, midterm and final answer sheets.

Class attendance is strongly recommended. If you miss a class, find out from your classmates/friends about what was covered, and make up for it before the next lecture.

Get an NYU email account if you don't already have one, and make sure you are on the class mailing list. Several important announcements will be made via the class mailing list. Check your email at least once a day. While using the class mailing list or while sending me email, please make an effort to use proper punctuation (for example, capitalization, spaces, full stops, commas etc. as necessary). It will make your message a lot easier to read. Make sure that anything you send to the class mailing list is succinct and clear: remember that 60 people will be using up their time reading it.

Check this web page frequently for lecture notes and other updates.

If you feel burdened or lost, contact me as soon as possible. Do not allow yourself to lag behind the rest of the class!


Important Dates


Syllabus and Lecture Plan

This is an approximate lecture plan. Some topics may spill over into the next lecture. Also, some class hours will be devoted to discussing solutions to midterms, difficult assignment questions etc.

Jan 19: Chapter 2. Pseudocode, top down approach, modular programming.
Jan 21: Chapters 3 and 4. VARiable and CONST identifiers, READ and WRITE statements, arithmetic operators, formatted I/O.
Jan 26: Chapters 3 and 4. I/O buffering, using the lab at 14 Washington Place
Jan 28, Feb 02: Chapter 7, 15.6 - 15.8. Control statements (IF-THEN-ELSE), Boolean operations, the CASE statement.
Feb 04, 09: Chapter 5, 8.1 - 8.5. Looping constructs (FOR, REPEAT, WHILE).
Feb 11: Review of course material covered so far.
Feb 16, 18: Chapter 10 and 13. Arrays.
Feb 23: Review of Sample Midterm 1, and revision of course material covered so far.
Feb 25: Midterm 1.
Mar 02, 04, 09, 11: Chapter 6. Procedures, value and variable parameters, nested procedures and scope of identifiers.
Mar 16, 18: Spring break.
Mar 23: Procedures with variable parameters (continued).
Mar 25, 30: Debug features, set operations.
Apr 01: Review of Sample Midterm 2 and revision of material covered so far.
Apr 06: Midterm 2.
Apr 08, 13, 15, 20, 22: Arrays.
Apr 27, 29: Review of Sample Final and revision of all course material.
May 07: Final exam.


Lecture Notes

These notes, prepared by Raoul-Sam Daruwala, are concise and useful. Some of the programs have mistakes though, so watch out.

Notes #1: Introduction, pseudocode.
                  PostScript          PDF          HTML
Notes #2: Program Planning.
                  PostScript          PDF          HTML
Notes #3: A first look at Pascal. Variables, data types, operators, sample programs.
                  PostScript          PDF          HTML
Notes #4: Reading, writing and buffering.
                  PostScript          PDF          HTML
Notes #5: Loops and the ordinal types.
                  PostScript          PDF          HTML
Notes #6: Procedures
                  PostScript          PDF          HTML
Notes #7: If-then-else and case statements
                  PostScript          PDF          HTML
Notes #8: while-do and repeat-until loops
                  PostScript          PDF          HTML
Notes #10: Arrays
                  PostScript          PDF          HTML


Class Programs


Homework

Homework 1        Homework 2        Homework 3        Homework 4        Homework 5
Homework 6        Homework 7        Homework 8

Answers to textbook exercises: Chapters 3     4     5     6     7     8     9     10    


Surprise Quizzes


Midterms


Performance statistics and score card


Comments and suggestions to madhu@cs.nyu.edu
Last modified: Sat May 8 01:45:37 EDT 1999