CS 112
Spring 2018

Introduction to Computer Science II


Most of the course materials are available on this site using the links in the navigation bar.

The lecture materials (including pre-lecture tasks) and the course announcements are found on Blackboard.

Course information

Course description
The second course for computer science majors and anyone seeking a rigorous introduction. Covers advanced programming techniques and data structures using the Java language. Topics include searching and sorting, recursion, algorithm analysis, linked lists, stacks, queues, trees, and hash tables.
CS 111, or the equivalent. If you have not had significant prior experience with recursion, you are strongly encouraged to take CS 111 first.

(see the staff page for contact information and office hours)

section A1: TuTh, 9:30-10:45 am, CAS B12
section B1: MWF, 1:25-2:15 pm, KCB 101
section C1: TuTh, 12:30-1:45 pm, COM 101

All students must attend a one-hour lab session.
The lab sections are interchangeable. For example, you could be enrolled in the A1 lecture and a B or C lab section.

The labs are held in either EMA 304 or FLR 267. Please check your schedule for the location of your lab.

  • Weekly problem sets and final project (40% of the final grade)
  • Exams: two midterm exams (20%) and a final exam (30%)
  • Preparation and participation (10%)

To pass the course, you must earn a passing grade for each of these three components.

You are not required to purchase a textbook. Instead, we will be assigning readings from freely available online resources. If you are interested in purchasing a Java reference book, we will recommend some possible titles in lecture.
In-Class Software
We will be using the Top Hat platform for in-class activities and attendance. More information will be provided in lecture.