CSCI 132 / Fall 2026

Data Structures

Data Structures: Course Description

You have taken a first intro class in computer science and know some of the basic tools of computer programming. Now it is time to take your skills to the next level! Computer programming is more than knowing about proper commands and syntax; to be a good programmer it is also important to know how to design code well. How do you organize your code so that it is easy to understand, can be used multiple times for different programs, and runs efficiently? This course will teach you to use those tools in an effective way. It will show you how to build structures for complex tasks. There are four main ideas we will be addressing in this course:

  1. Data Abstraction: In order to build programs that solve complex problems, it is important to specify the properties and behaviors of certain parts of the program independent of the implementation. We will learn about Abstract Data Types to think about specification and manipulation of these components of code.
  2. Modularity: Each piece of a program is much more useful if it can be combined with multiple other program pieces in a modular fashion. We will learn how to build program modules that can be used and reused in different programs.
  3. Algorithmic Complexity: Some solutions to problems are better than others in terms of their efficiency. Some have efficient use of memory space; others run more quickly. We will learn some tools to evaluate the efficiency of different algorithms.
  4. Standard Tools: We will learn some of the standard ways of organizing and working with data that should be a part of every programmer's toolkit. These include You will learn how to implement these data structures and how to effectively apply them.

This course will include lectures, labs, and programming projects as key components. Quizzes and exams will be used as assessments. (More information about these below.) The labs and programming projects use C++ as the programming language. You will also learn about the C++ language throughout the course. C++ is a powerful, efficient, and widely-used language. This course will also be an opportunity to develop C++ your coding skills.

Prerequisites: CSCI 131 with a grade of C or higher, or permission of the instructor. You should be comfortable with the basics of programming in at least one of Java, C, C++, or a related language.