Home | People | Curriculum | Projects | Resources | Media

CMSC 106: Introduction to Data Structures

Links for CS106

Instructors: John Dougherty and Suzanne Lindell

Suggested Texts on Course Schedule/Syllabus


Description: 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. Some 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 Python, and emphasis will be placed on recursive thinking and its connection to iteration.

Homework: A combination of careful thinking and concise programming. The project will be due in the last week of classes. Solutions will be provided and/or discussed for all of the assignments.

Scheduled Due Dates: There have been many concerns expressed by both faculty and students over "relaxed" deadlines for assignments, especially where feedback and consistency are difficult to maintain. Therefore, all due dates must be met to receive any credit for all assignments and examinations. Partial credit will be given for partially complete but timely assignments. Please refer to the schedule to see in advance (i.e., before it's too late) when all assignments are due. Exceptions to this policy will be strongly discouraged, and only granted cooperatively by the instructor.

Department of Computer Science Policy on Collaboration

Learning Accomodations: Haverford College is committed to supporting the learning process for all students. Please contact me as soon as possible if you are having difficulties in the course. If you think you may need accommodations because of a disability, please visit the Office of Disabilities Services and contact If you have already been approved to receive academic accommodations and would like to request accommodations in this course, please meet with me privately at the beginning of the semester (within the first two weeks if possible) with your verification letter.

Evaluation: Final Grades for the course will be determined based on your work throughout the term. The tentative weightings below will guide the assessment.

See Also: CMSC206 at Bryn Mawr.

Haverford College Page maintained by John Dougherty and David Wonnacott.
Computer Science Department, Haverford College.