[NYU Logo]Fundamentals of Computer Science in C

V22.0380 Section 1

Please note: The Final will be held on Wednesday, May 6, 1998 at 4:00 pm. Location: 102,109 Warren Weaver Hall.

* Instructor: Ethan Cerami

Home Page Quick Index:

* Course Description

This is a course in computer programming concepts for students with little or no programming experience. The intent is to teach students to write both clear and efficient C programs by emphasizing structured programming principles. This course is intended as a first course for information systems majors, for students of other scientific disciplines, and for a functional introduction to programming.

* Syllabus

Click here to view the course syllabus.

Text Books

  • The primary (required) textbook is: Deitel & Deitel, C How To Program, 2nd Edition (New York: Prentice Hall, 1994.) Available at the NYU bookstore.
  • The supplementary text is: Kernighan and Ritchie, The C Programming Language, 2nd Edition (New York: Prentice Hall, 1988.) Also available at the NYU Bookstore.

* Computer Software

For the entire course, we will be using the Borland C++ Compiler for Windows. Borland C++ is available at all Stern and all Academic Computer Facility (ACF) computer labs. Other students wishing to purchase Borland C++ can do so at the
NYU Computer Book Store for approximately $50.

In order to save your computer programs, please purchase a few high-density floppy disks. (also available at the NYU Computer Book Store.)

* Email/Unix Accounts

If you do not already have one, you will also need to obtain a Stern or ACF Email/Unix account. These accounts will be necessary for subscribing to the electronic mailing list and for corresponding with the class E-tutor.

* Grader/E-Tutor

Our class will have both a grader and an E-tutor. The grader will be responsible for grading all homeworks. And the E-tutor will be available throughout the week should you have any questions regarding course topics or homework assignments. The Grader and E-tutor will be announced in the second week of the semester.

* Exams and Grading

The course will include a number of programming assignments, one midterm and one final. Your grade will be calculated as follows: midterm exam (25%), final exam (35%), problem sets/projects (40%).

* Class Handouts

Programs Discussed in Class

  • Encryption Program This program encrypts and decrypts a single (ALL CAPS) word.
  • Hunt the Wumpus: Slay the wumpus, or get gobbled up. And, watch out for those bottomless pits!
  • Bubble Sort: Bubble Sort is one of the simplest algorithms for sorting an array of numbers. If you would like to view an interactive Java applet that demonstrates the principles of Bubble sort, click here.

* Homework Assignments:

Late Policy: In general, homework assignments will be due on the Wednesday of each week. You must submit your homework via email. In order to be considered on time, your homework must be received by Wednesday at 11:59 pm. If you do not hand in your homework by that time, you must submit your homework by the following Wednesday at 11:59 pm. Homework that is one week late will receive an automatic 10 point penalty. Homework that is more than a week late will not be accepted.

To view your grades, click here for the grader's home page.

HomeworkGeneral TopicDue Date
Homework #1
  • Basic Input/Output
  • Operator Precedence
February 4, 1998
Homework #2 Problem 3.18 from Chapter 3
  • If/Else
  • While Loops
February 11, 1998 Solution
Homework #3
  • Switch Statements
  • While Loops
  • Logical Operators
February 25, 1998 Solution
Homework #4
  • Functions
  • Random Numbers
  • #define
March 25, 1998 Solution
Homework #5
  • Recursion
  • Arrays
April 1, 1998 Solution
Homework #6
  • Multidimensional Arrays
April 8, 1998 Solution
Homework #7
  • Pointers
April 22, 1998 Solution
Homework #8
  • Structures
April 29, 1998 Solution

* Internet Resources:

  • Getting Started with Pine: A complete introductory guide for users of the mail program available on the NYU-Internet system and on most UNIX systems at NYU. Both the guide and the software are from the University of Washington.
  • Encryption Resources: If you are interested in additional information regarding ecryption, check out the following resources:
    • PGP (Pretty Good Privacy): PGP provides one of the strongest encryption technologies around. And, you can download the program for free.
    • Crypto-Text 32: If you are not ready for PGP and want something smaller and easier to use, check out CryptoText from Savard Corporation.