Preparing for CMSC132

CMSC132, or Object-Oriented Programming II, is one of the most fundamental courses for a computer science student here at Maryland.

This essential course continues with more advanced Java constructs like abstract classes, enums, and inner classes, but also addresses canonical topics like asymptotic complexity, recursion, graphs, and threads. The course’s instructors have noted that the course “covers a ton of material”, but you don’t have to stress because, aside from a few OOP concepts in the first few weeks of classes, nothing is gone into with overwhelming depth.

Background

Unlike its second-year counterparts (CMSC216, CMSC330, and CMSC351), CMSC132 isn’t meant to be a weed-out course. Instead, the class continues with the same format established in CMSC131, at a slightly faster pace. Everything is still taught in Java, there are still weekly projects that need to be submitted through Eclipse to the UMD CS submit server, and traditional homework is scarce (might vary by instructor).

If you performed decently well in CMSC131 or received an exemption, you should have no problem with the slightly faster pace of CMSC132, as long as you prepare and know what to expect.

Preparation

If you want to get ahead before the semester starts, read up on the lecture slides UMD has available from previous offerings of the course. Summer 2014 Slides. It’s also good to take a look over the lecture material a few minutes before class each day.

Some of the slides can be dry, so for a quick introduction to hashing, traversals, shortest-path algorithms, and sorting algorithms— which encompass a huge chunk of the course— check out these algorithm visualizations.

On exams, some topics are treated more importantly than others. Here is a listing of topics that tend to require more focus, along with a set of mini-projects if you have the free time.

It can also useful to know the similarities/differences between sorting algorithms, which is why I compiled this table back when I was studying for finals: Table of Sorting Algorithms. Please note that the in-place and stable columns depend on how you implement the sorting algorithm, and depending on what your professor taught, it may differ for you. In the world of exam scores, professors’ words reign king.

Studying all of this obsessively before the class even starts is going to be overkill for most students. If you’re looking for an A, you’ll be fine spending a week or so getting an intuition for the material, and spending a few weekends during the semester reviewing/getting ahead on any tougher topics.

Studying tips

Other tips

A final word

Avoid talking about how “easy” the last midterm or project was. If you understand the material well, help a classmate out by pointing them in the right direction.