CS 106: Introduction to Data Structures

Fall 2024, Prof. Sorelle Friedler

An introduction to the fundamental data structures of computer science: strings, lists, stacks, queues, trees, BSTs, graphs, sets and their accompanying algorithms. Principles of algorithmic analysis and object reasoning and design will be introduced using mathematical techniques for the notions of both complexity and correctness. More practical issues, such as memory management and hashing, will also be covered. The programming language used to illustrate and implement these concepts will be able to support functional, imperative and object-oriented approaches.

Prerequisite: CS 105 or BMC CS 109 or 113 with a grade of 2.0 or better.

Haverford CS 106 is equivalent to Bryn Mawr CS 151 - students may not receive credit for both.

Syllabus (pdf) Textbook

Labs

Labs make up a major and important portion of the work for this course. For due dates, please see the calendar below. While some are given below in advance, modifications may be made throughout the semester (including changing, cutting, or adding other labs), so any work done in advance is at your own risk. Labs will be officially distributed one or two weeks before their due date. The below directory containing lab descriptions is only accessible when logged into your haverford.edu account (BMC students should contact the instructor for access).

Lab Descriptions

Labwork should be done on the computers in the computer science teaching lab (KINSC H110 or H204) either in person or by logging in remotely. We will help you learn how to login and access the lab during your first lab session. You may also find the following documents useful:

Coding Requirements

Here are some coding guidelines that you should be sure to follow:

Course Calendar

All course times, lab due dates, and office hours are listed on the calendar below as well as on the syllabus above. In addition to the listed office hours, lab monitors are available for help in KINSC H110 every Sunday - Thursday from 7-11pm. Students are also welcome to attend TA office hours for Bryn Mawr's similar 151 course.