[Fall 2009]
COMS 3101
Programming Language: C
About the Course
Instructor: Nalini Vasudevan
Email: naliniv@cs.columbia.edu
Office Hours: Open door (467 CSB) or by appointment
Course Time: Wednesdays, 11 am to 1 pm
Course Location: 1127 Mudd
Course Duration: 9/9/09 to 10/14/09
Prerequisites

  • Fluency in at least one programming language
  • CUNIX account (all registered students should automatically have this)
  • Students are encouraged to bring their laptops to class to take part in the hands-on tutorial sessions.

  • Text Book

    The C Programming Language (2nd edition) by Brian Kernighan and Dennis Ritchie

    Assignments

    Submission details
    Please name your file appropriately before you submit. For eg., the first homework should be named as nv2144_hw1.c where the first part is your uni.
    All assignments will be tested on CUNIX machines. Please make sure that your code compiles and runs on CUNIX before you submit.
    Submit the homework through courseworks: Class Files -> Post File. Select the correct folder (for eg., Shared Files -> HW 1) and submit.

    Grading Policies
    • Homeworks: 60%
    • Project: 40%
    • Class Participation: Extra credit (Not applicable to CVN students)
    You may not collaborate with others on your homeworks or your project. Please see the the Columbia CS department academic policies.

    Late Homework Policy
    Each student is given a total of 4 late days and these days may be used for any homework assignment (including the project) without any penalty. The late days are not for procastination but for reasons such as illness, extracurricular conflicts and emergencies. If the late days expire, the late penalty is as follows:
    • Fifth late day - 20% off the grade
    • Sixth late day - 40% off the grade
    • Seventh late day and onwards - No credit
    Schedule
    Date Topics Reading Misc
    Sept 9th Introduction Ch. 1.1, 1.2, 2.1, 2.2 [Slides] Accessing CUNIX
    Sept 9th Types, Operators, and Expressions Ch. 2 [Slides]
    Sept 16th Control Flow Ch. 3 [Slides]
    Sept 23rd Functions Ch. 4 [Slides]
    Sept 30th Pointers Ch. 5 [Slides]
    Sept 30th File Handling Ch. 7 [Slides]
    Oct 7th Program Structure Ch. 4.5, 4.6 [Slides]
    Oct 7th Memory Management Ch. 7.8 [Slides]
    Oct 7th Sorting and Searching Ch. 3.5, 5.6 [Slides]
    Oct 7th Structures and Unions Ch. 6 [Slides]
    Oct 14th Linked Lists [Slides]
    Reference Materials
    All Rights Reserved. 2010. www.cs.columbia.edu/~naliniv. Design by Nalini Vasudevan