Skip to main content

Object-oriented problem solving, data structures, and algorithms


Samuel A. Rebelsky

Meeting Times
  • MWF 8:30–9:50 (section 01)
Office Hours
  • 9:00-11:00 Tu, 9:00-10:00 Th, 1:00-3:00 Th
Class Mentors
  • John Gouwar (section 01)
  • Shuyi Qi (section 02)
Mentor Sessions
  • 7-8 p.m. Sundays in Science 3813
CS Tutors
  • Su from 1–3pm in Noyce 3813
  • Su, M, T, W, Th from 7–10pm in Noyce 3813

About this course

Welcome to CSC 207-01, a section of the third course in Grinnell College’s introductory sequence. In CSC 207 you will explore the design and implementation of abstract data types, data structures, and algorithms. (It’s okay if you don’t yet know the difference betwee abstract data types and data structures; we’ll talk about it.) We’ll also explore basic issues of object-oriented design. We use the Java programming language for our work, along with the Eclipse integrated development environment and the Git version control system.

There are two sections of the course this semester. I’m teaching both of them. That means that they are likely to be more or less the same. (Nope, I’m not trying a control group and a treatment group.) Nonetheless, please make sure you refer to your section’s course website when checking due dates and course policies.

Although we sometimes have “themes” to courses in our introductory sequence, this course has no explicit theme. (I have tried to adapt many of PM’s assignments, and he notes that the implicit theme to those assignments is “projects that you could extend to make them your own” or something like that.)

I’m trying an experiment this semester. Since I’m using PM’s assignments, I’m also using some of his readings and labs. You’ll find that the Rebelsky readings and labs and the Osera readings and labs will feel somewhat different. I hope that’s okay.

Learn more about the course in the syllabus and the schedule.