T-Th 9:05
T-Th 11:15
in Olin 155

CS 1110: Introduction to Computing Using Python

Spring 2017


Erik Andersen, 445 Gates Hall, cs-1110profs-L@cornell.edu

Lillian Lee, 419 Gates Hall, cs-1110profs-L@cornell.edu


Emergency contact number: to contact "anyone in charge" about a matter affecting more than you (and your group), email cs-1110mgmt-L@cornell.edu, which reaches the TAs and supervising consultants as well as the instructors and administrative assistant. For example, use this email if there aren't any staff members at a scheduled office hour.

Latest Announcements

February 17th: A1 Section 9 minor update: missing preconditions for function exchange_amount added

Updated pdf available on the assignments page, changes documented on page "0" of the pdf and marked in orange. *IMPORTANT:* If you have already started working, do *NOT* re-download the source code file. This will override your current version. Rather just make the changes to the specification manually (i.e. copy from the updated pdf).
read more

February 15th: A1 Section 10 minor update: incorrect URL for line-length issues,

Updated pdf available on the assignments page, changes documented on page "0" of the pdf and marked in orange.
read more

February 14th: Assignment A1 and one-on-ones now posted to the assignments page and CMS

We'll explain some of the instructions and processes in lecture.
read more

February 14th: Final exam date announced: Thursday May 18 9-11:30am

read more

February 6th: Correction to lab 2 handout posted

A correction to the lab 2 handout was posted around 5pm (too late for the printouts that will be available in the lab sessions, alas). See the labs page here.
read more

Course Description

CS 1110: Introduction to Computing using Python            Fall, spring, summer. 4 credits.
Assumes basic high school mathematics (no calculus) but no programming experience.

Programming and problem solving using Python. Emphasizes principles of software development, style, and testing. Topics include procedures and functions, iteration, recursion, arrays and vectors, strings, an operational model of procedure and function calls, algorithms, exceptions, object-oriented programming, and GUIs (graphical user interfaces). Weekly labs provide guided practice on the computer, with staff present to help. Assignments use graphics and GUIs to help develop fluency and understanding.

Permission Note: Students may not enroll in CS 1110 if they have taken or are co-enrolled in CS 2110/ENGRD 2110, CS 2112 , or have taken or are co-enrolled in a course offered or cross-listed with a CS number 3000 or above. (Students looking to learn Python rather than learn how to program should take CS 1133 instead). Students who have affiliated with the computer-science major may not enroll.

Forbidden Overlap: Due to a partial overlap in content, students will receive 6 credits instead of 8 if they take CS 1110 and one of the following: CS 1112, CS 1114, CS 1115, BEE 1510.

Expected Outcomes

  1. Be fluent in the use of procedural statements — assignments, conditional statements, loops, method calls — and arrays. Be able to design, code, and test small Python programs that meet requirements expressed in English. This includes a basic understanding of top-down design.
  2. Understand the concepts of object-oriented programming as used in Python: classes, subclasses, properties, inheritance, and overriding.
  3. Have knowledge of basic searching and sorting algorithms. Have knowledge of the basics of vector computation.

For more information on the course, see the syllabet.


The times for all prelims and the final are given here. Please notify us as soon as possible if you have any conflicts.

Course Material Authors: E. Andersen, D. Gries, L. Lee, S. Marschner, C. Van Loan, & W. White