Computer Science through Program Design
CIS 120 introduces students to computer science by emphasizing the design aspects of programming. Topics include:
- data types and data representation
- abstraction, interfaces, and modularity
- test-driven development
- programming patterns (recursion, iteration, events, call-backs, collections, map-reduce, GUIs, ...)
- functional programming
- how and when to use mutable state
- and object-oriented programming.
The class registration is full, but there is a waitlist. We will try to accommodate as many students as possible.
If you are already registered for CIS 120, but would like to switch recitation sections, you must do so using this form.
We use turning point clickers in lecture. Register your device here.
Who can take CIS120?
CIS120 students are not expected to have any prior experience with OCaml. We assume some previous programming experience at the level of a high school computer science class, preferrably in Java. If you got at least 4 in the AP Computer Science A or AB exam, you will do great. If you have never programmed before, you should take CIS 110 first.
CIS 120 teaches programming concepts in two different languages: OCaml and Java, spending approximately equal time on how to design programs in each language. Students are encouraged to use the Eclipse development environment for implementing their projects.
OCaml Setup Instructions
Instructions for installing OCaml and OcaIDE on your computer can be found here.