First Course Details

Your first semester

In the fall semester, a freshman CS major will typically take a computer science course (CSIS-110, 120, or 210), a math course (MATH-110,120, or 210), Foundations (FOUN100), and two core courses.

Should I take CSIS-110?

A CS major (or anyone interested in computer science) can start a CS major or the CS minor with one of three CS courses, depending on their interests and background. In a nut shell, a student who has never programmed a computer or who would enjoy a broad introduction to the CS field should consider taking CSIS-110 (Introduction to Computer Science).

Should I take CSIS-120

A student who has some prior programming experience and would prefer an intensive programming-oriented first course should consider taking CSIS-120 (Introduction to Programming). Students who take this option are required to take an additional computer science course. The extra course could be another upper-level elective taken in the junior or senior year. Alternatively, students could decide to take CSIS-110 if they feel then need some more background before continuing in the major.

Jumping directly into CSIS-210

Students who scored a 4 or 5 on the AP Computer Science exam can receive credit for CSIS-120. Such students should consider either starting in CSIS-210 (Data Structures) if they wish to continue immediately with more programming, or they may start in CSIS-110 to get a broader introduction to the field (which is not covered in AP courses). This way, they can take 2 additional upper-level courses to meet the credit requirements.

More about the courses

Below are catalog descriptions of the three possible starting courses for a CS major or CS enthusiast.

CSIS-110. Introduction to Computer Science (2 hours lecture, 2 hours laboratory) 3 credits

This course is a broad introduction to a variety of fundamental topics in computer science through a contemporary theme such as robotics, the web, graphics, or gaming. Students will consider problems in the application area that can be solved with software. Using the theme of the course, students will be introduced to important areas of computer science including abstraction, computer organization, representation of information, history of computing, ethics, and the development and evaluation of algorithmic solutions using an appropriate programming environment. Themes may differ across sections.

CSIS-120. Introduction to Programming (3 hours lecture, 2 hours laboratory) 4 credits

An introduction to the object-oriented design paradigm with an emphasis on problem solving, algorithm development, and implementation of algorithms in computer programs in the object-oriented language Java. Other topics will include hardware organization, data representation, system software, programming style, program testing, and analysis of algorithms.

CSIS-210. Data Structures (2 hours lecture, 2 hours laboratory) 3 credits

This course continues the study of algorithm design and implementation with an emphasis on the use and implementation of data structures such as stacks, queues, linked lists, trees, and graphs. Students will continue development of programming skills using object-oriented programming techniques in the object-oriented language Java. Prerequisite: CSIS-120 or a score of 4 or 5 on the AP Computer Science Exam.