CS 112 Intro. to Data Structures


"Bad programmers worry about the code. Good programmers worry about data structures and their relationships."
- Linus Torvalds, creator of Linux

Welcome to the second-semester computing course at Calvin University! This course will equip you with new skills that you can use to solve computational problems more efficiently.

The materials for this course are available via the links below:
A picture of a toolbox

Prerequisites: This course assumes you are are already comfortable writing computer programs that:

Course Outcomes. Students successfully completing this course will demonstrate that they can:

  1. Use indirection (pointers) and run-time memory allocation to implement dynamic, generic container classes (e.g., vectors, lists, stacks, queues, trees, etc.).
  2. Analyze, categorize, and compare the complexity of data structure operations using "big-oh" notation.
  3. Design and implement recursive data structure operations.
  4. Design, create, and use unit-tests to test the correctness of data structure operations.
  5. For select algorithms, use simple parallel computing techniques to improve algorithm performance and measure the improvement.
For course evaluations, please reference the following activities/practices:
  1. Lectures (videos)
  2. Lab exercises/sessions
  3. Programming projects
  4. In-person classroom sessions
  5. Textbook

Calvin > CS > 112
This page maintained by Joel Adams.