CS 113 Course Information


Registration information

Name CS 113: Introduction to C
Semesters Offered fall, spring
Credit Hours 1
Prerequisites COM S 100 or an equivalent course in Java or C++
Grade Option S/U only
Course Description The goal of this course is to teach the fundamentals of the C programming language. By the end of this course, a student should have sufficient mastery so that details of the language not discussed in the class can be learned independently by reading a book (such as "The C Programming Language" by Kernighan and Ritchie). In addition, by the end of the course students should feel comfortable writing simple C programs, and have working experience with all major C features.
Course Website http://www.cs.cornell.edu/courses/cs113/
Course Newsgroup cornell.class.cs113

A complete listing of course topics can be found at Lecture Notes.

Refer to posted advice for information about other introductory programming courses if you need help in deciding whether or not to take CS 113.



David Crandall
crandall ["at"] cs.cornell.edu
340 Upson
office hours: Wednesdays 11-12, Fridays 1:30-2:30
or by appointment


The course staff will use a variety of means to communicate with students outside of lectures. To ensure that you receive these communications, you have the following responsibilities:

To reach a staff member, the best time is office hours. Please post general questions to the newsgroup so that others can benefit from your question. Someone will respond within one working day. Note that posts in USENET are subject to the rules of academic integrity, so you should not post solutions. Generally, rough algorithms or non-solution-specific code fragments are ok if you need them to illustrate a point.

Reading and Textbooks

Reading assignments are posted along with the lecture notes and examples on the Lecture Notes page.  The sources listed here will be on reserve in the Engineering Library in Carpenter Hall.

Required Text

Optional Reading


CS 113 may only be taken S/U (pass/fail). You will receive an S if your final course score is the equivalent of a C- or higher. You are guaranteed to receive an S if your final course score is at least 70%. We may choose to lower the cutoff based on the overall class performance on all course work, but we will never raise it, which would be unfair to you.

There will be three homework assignments worth 75% of the final course score. There will also be one in-class quiz worth 25% of the final course score.


There will be three homework assignments for the semester. Assignments will be posted on this website. Assignments must be submitted on-line through the Course Management System (CMS). Please see the assignment submission requirements for instructions on using CMS.

Late policy

Late assignments will not be accepted. If you anticipate needing extra time to complete an assignment, contact the instructor ahead of time. We will consider extensions on a case-by-case basis. Make sure to upload submissions to CMS well before the deadline. Waiting until the last minute is risky because CMS tends to lag near the deadline (as many people try to access it at once).


Assignments receive scores out of 100 points. They are graded based on correctness and completeness, as well as programming style. Write clean, clear code. Include comments and choose meaningful variable and function names. At the very least, your code must compile without warnings or exceptions. If it does not, we will not debug your code and you may receive a grade of zero.

If you feel we have made a mistake in grading, you may request a regrade. Refer to the Regrades section for details.


There will be one in-class quiz near the end of the semester, worth 25% of the total course score.


For all graded work, you always have an opportunity to request a regrade if you feel we have made a mistake in the grading or simply to request a clarification. To make a regrade request, you need to explain in words what you feel is wrong or what you do not understand. For each assignment, there is a deadline for regrade requests, normally a few days after the grading guide and solutions have been posted. You may submit a regrade request on any graded assignment or exam to correct mistakes or request clarifications. We reserve the right to regrade the entire submission.


Academic Integrity

We take academic integrity very seriously. The utmost level of academic integrity is expected of all students. Please read carefully the following information and documents.

AI is Your Responsibility!



Obtaining a C compiler

You will need access to a C compiler to complete the assignments for this course. It does not matter which compiler you use, as long as it is ANSI C compliant. (Virtually all modern compilers are.) Some suggestions:

Special Needs and Disabilities

In compliance with the Cornell University policy and equal access laws, we are available to discuss appropriate academic accommodations that may be required for students with special needs and/or disabilities. Requests for academic accommodations are to be made during the first three weeks of the semester and must be accompanied by official documentation. Please register with Student Disability Services in 420 CCC to verify your eligibility.


This course information page is based on the CS 211 website.