Spring 2015»CSCI 220

CSCI 220

CSCI 220-02 - Computer Programming I


Lecture: MWF 09:30-10:20AM / HWE 300
Lab: W 2:30-5PM / HWE 334


An introduction to programming and problem solving. Topics include data types, variables, assignment, control structures (selection and iteration), lists, functions, classes, and an introduction to object-oriented programming.

Prerequisite: CSCI 120 or CSCI 180 or CSCI 210 or MATH 111 or higher or permission of the department.
Co-requisite: CSCI 220L - Programming I Laboratory.

Test Dates

  • Test 1: Friday, Feb 27, 2015
  • Test 2: TBA
  • Final: noon-3pm, Monday, May 4, 2015


Homework 1, Homework 2, Homework 3, Homework 4, Homework 5.

Readings & References

  1. Antikythera Mechanism - 2100-year-old computer is working again. ("Its user interface is deceptively simple; it hides a complex mathematical model, which tracks the movements of planetary bodies.")
    • Also a virtual reconstruction showing the complexity of its inner workings and the movement of the planet dials.
  2. Babbage's Difference Engine and how it works gives as a hint to the complexity and elegance of the Antikythera Mechanism. (Also the amount of pre-existing knowledge that was needed to build it - the mechanism is just the tip of the iceberg. Clearly, an artifact from an advanced civilization, whose theoretical records did not survive.)
  3. Lewyn, M. "Flying in Place: The FAA's Air Control Fiasco", Business Week, April 26, 1993. A follow up. And closure (!?).
  4. Gleick, J. "A Bug and a Crash", (appeared as "Little Bug, Big Bang" in The New York Times Magazine), December 1, 1996.
  5. An introduction to pair programming. This 9-minute video describes what pair programming is, the do's and don'ts of effective pairing, and the pros and cons of pair programming.
  6. Intro to Python
  7. Sorting algorithms:
    • Selection sort. This 9-minute video visually describes the selection sort algorithm.
    • Insertion sort. This 9-minute video visually describes the selection sort algorithm.
    • Bubble sort. This 5-minute video visually describes the selection sort algorithm.

Artifacts & Rules

  • Sounds - find sound effects and musical instrument samples.


  • Python language and IDLE development environment.
  • jythonMusic provides software for music-making and creative computing. It is a collection of Jython libraries for music, images, graphical user interfaces (GUIs), and connecting to external MIDI devices, smartphones, and tablets, among others.