V22.0101 Introduction to Computer Science I Fall 1997

Instructor

Sections 3 and 4: Professor: Samuel Marateck. Office: CIWW 620. Office Hours: Tue Thurs 4:30 to 6:00. Telephone: 998-3146. E-mail: marateck@cs.nyu.edu

Course Summary

This is a first course in computer science, using Pascal, a language designed especially for teaching the fundamental concepts of programming. Although no previous knowledge of Pascal is expected, students who have never written any computer programs may find the course extremely demanding. For this reason students without any programming experience must take the more introductory course A22.0002 first.

On the other hand, students who already know Pascal should consider taking the honors section, which will use the Java programming language instead of Pascal. The honors section (Section 1) has a small enrollment of highly motivated students and is taught by Prof. Berger (Mon Wed 11:55, rm 102 WWH). Students who feel the honors section may be appropriate to their needs should speak to Robin Simon (Room 404) as soon as possible to discuss this possibility.

Text

Turbo Pascal by Samuel L. Marateck, published by Wiley, 1991, and available at the NYU bookstore. Also recommended: Supplement to Turbo Pascal, discussing features of Version 7.0, available on the course home page.

Course Home Page

The course home page URL is http://cs.nyu.edu/courses/fall98/V22.0101-003/index.html. It is accessible from the NYU computer science department home page.

Computer Software and Lab

The software used by the course is Turbo Pascal, version 7.0, which runs under DOS on IBM-compatible PC's. This software is provided at the PC Lab run by the ACF (Academic Computing Facility) at 14 Washington Place (basement).

Many students prefer to work on their own PC at home, instead of using the lab. In this case you should buy a copy of Turbo Pascal, available at the NYU computer store on Washington Place. We recommend that you buy the DOS version, which is the one we use in the classroom, and which also runs under Windows. The price is $50. Do this as soon as possible, as supplies are limited and special orders require a week or so to process.

Lab Meeting

The second meeting of the class will be held in the computer lab at 14 Washington Place. Bring a blank diskette (you can buy these at the computer store). You may either go directly to the lab, or be at the classroom promptly at the class start time and go over to the lab with the instructor.

E-mail Accounts

All students are required to have e-mail addresses, and e-mail will be used extensively for communication with the course tutors, and for submitting the homework assignments. If you already have an account which you wish to use for e-mail, you may use that. Otherwise, you must go as soon as possible to the lab at 14 Washington Place to sign up for a Unix e-mail account. Most students use the Pine program for e-mail, though any e-mail program is fine.

When you have your e-mail account, you should send an e-mail message to automatically subscribe to the appropriate course mailing list. This will be explained later.

Your e-mail headers and mailing list subscription information must clearly display your name. Do not use an alias instead.

Submitting your homework files by e-mail from the lab is easy, and will be explained later. If you work from home, you will need communications software such as Kermit or Trumpet Winsock to send files by e-mail. The appropriate software is available for free from the ACF.

E-tutors and Computer Assignments

Each student will be assigned to an e-tutor. The e-tutors are upper-level undergraduate students with exceptional academic records. They are available by e-mail to help you with questions about the computer assignments, to evaluate your submissions, and to steer you in the right direction when help is needed.

Five programming assignments will be given. Solutions must be submitted by e-mail, on or before the due date. Your e-tutor will send you an e-mail giving a letter grade for your program. If the grade is below A, the e-tutor will explain why the program is not satisfactory. In this case, you then have one week to send a corrected program, to the e-tutor, to try to raise your grade for the assignment. The role of the e-tutor is just as much to help you learn to successfully write programs as to evaluate your final submissions.

The e-tutor will run the final program on various inputs, so it is important that the program work correctly for any choice of input.

Remember that although the e-tutor is there to help you, he or she is also helping many other students, so limit your e-mail communication to a reasonable amount. If you are have much difficulty with the programs, you should ask your instructor for assistance.

Cooperation, Acknowledgments and Cheating

You are expected to do your own work. It is fine, in fact often very helpful, to work cooperatively with other students, but the work you submit should be your own. If you get an idea from another student, or from a tutor, that you use in your work, this is OK, but you must acknowledge that person in the program comments. If you are not sure whether something is cheating or not, ask your e-tutor or your instructor! Cheating, that is submitting work which is not your own, with or without the author's permission, generally leads to a course grade of F.

Students who spend little time on the homework invariably do poorly on exams and end up with a poor final grade. If you do not do the homeworks, you cannot pass the course.

Assistance at the Lab

If you are having trouble while working in the lab, ask the lab consultants for help first. They cannot write or debug your program for you, but they can often give you helpful advice.

Assistance from your Instructor

If you are unable to get the help you need at the lab or from your e-tutor, do not hesitate to contact your instructor, by telephone, by e-mail, or in person. Please do this early in the semester, before it is too late to get the help you need. Feel free also to contact your instructor with any questions you have about the course.

Built-in Debugging Facilities

Be sure you understand and use the debugging facilities available in Turbo Pascal through the Debug menu. These will be explained later. Debugging is an essential part of the programming process. Much of debugging is explained in the Supplement for Turbo Pascal 7.0 which is found as a link on the course home page.

Exams

There will be one or two midterm tests and one final exam. Final grades will be based approximately 40% on the final exam, 30% on the midterm(s) and 30% on the homework.

Syllabus and Goals

Chapters 1--14 of the text will be covered, with some exceptions to be announced later. It is very important to read the appropriate chapters in the text when the topics are covered, and to work through many of the exercises in the text as well as to do the homework assignments. The goal is not to teach you everything in the Pascal language, but to have you become competent Pascal programmers. Programming is not easy and becoming a good programmer is a learning process something like becoming a good writer. It needs patience, logical thinking, lots of practice, and the willingness to seek out help when necessary and learn from the responses to your questions.


Michael Overton
Thu Sep 4 20:29:16 EDT 1998