Introduction to CS and Programming in C

Misc. Links


Course Summary

  A general introduction to computer science concepts, algorithmic problem-solving capabilities, and programming skills in C.

Course Goals

  At the end of the semester, you will be able to:
  1. Use Unix
  2. Develop simple C programs
  3. Understand (at a high level) what other Computer Science courses are about.

Course Topics

  • Programming in C
    • Data types and operators
    • Control flow
    • Arrays
    • Functions
    • Pointers
    • Structures and unions
    • Memory management
    • Input and output
  • Data structures and algorithms
  • Computer organization
  • Other programming language concepts (optional)
    • Object-oriented programming


Jong Yul Kim (
Office Hours: Tuesdays and Thursdays 3:00 ~ 4:00 pm or by appointment
Location: 721 CEPSR
Office Phone: (646) 775-6064

Teaching Assistants

Anusha Dachepally (
Office Hours: Wednesdays 3:00 ~ 4:00 pm and 5:30 ~ 6:30 pm
Location: TA Room (Map to the TA Room)

Recommended Textbooks

  • Steve Oualline, Practical C Programming (3rd edition), O'Reilly, 1997. ISBN: 1565923065
    • Call number at Engineering Reserves ( 2 copies ) : QA76.73.C15 O82 1997g
  • Brian Kernighan and Dennis Ritchie, The C Programming Language (2nd edition), Prentice Hall, 1988. ISBN: 0131103628
    • Call number at Engineering Reserves ( 5 copies ) : QA76.73.C15 K47 1998

Grading Guidelines

  Your course grade will be based on 5 homework assignments (50%), a midterm exam (20%), and a final exam (30%).

  Weekly programming exercises will be assigned, but these will not be included in the total grade. These exercises will help you learn better.

Homework Policy

  Late homework submissions are not accepted unless you have a very good excuse.
  You may ask for extensions in advance if you really need it.

  All homework must be done individually!

Academic Honesty Policy

  Please take a look at
  This basically says that "All homework must be done individually!" or you face dreadful consequences.