NOTE ROOM CHANGE:Leidy
Labs 10, MWF 11-noon
The goal of CIS 120 is to introduce students to computer science
by emphasizing the design aspects of programming. Topics
- test-driven development
- data types and data representation
- abstraction, interfaces, and modularity
- programming patterns (recursion, iteration, events, call-backs,
collections, map-reduce, GUIs, ...)
- functional programming
- how and when to use mutable state
- inheritance and object-oriented programming.
OCaml Setup Instructions
Instructions for installing OCaml and OcaIDE on your computer can be found
CIS 120 Spring 2015 Waitlist
Registration for CIS 120 in Spring 2015 is currently closed. If you are tried to pre-register
for the class, you are already on the waitlist. Otherwise, if you would like to take CIS 120, please note yourself down on
the CIS 120 Spring 2015 Waitlist.
Preference will be given to those who have CIS 120 as a major
If you are already registered for the lecture section of CIS 120 but need to change
or add your recitation section, please use this
recitation swich form.
If you drop your current recitation section, you will not be able to
register for the new section. The only way to switch sections is to get a
permit by adding your name to this form.
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.
Who can take CIS120?
CIS120 students are not expected to have any prior experience
with OCaml (or even Java). We assume some previous programming
experience at the level of a high school computer science class. If
you got at least 4 in the AP Computer Science A or AB exam, you will do
great. Basic experience with any programming language (for instance C,
C++, Java, VB, or Scheme) will be sufficient. If you have never
programmed before, you should take CIS 110 first.