Home | People | Curriculum | Projects | Resources | Media

CMSC 106: Introduction to Data Structures

Links for CS106

Instructors: John Dougherty and Suzanne Lindell

Semester & Year: Spring 2013




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.

Collaboration: You are encouraged to discuss the lecture material and the labs and problems with other students, subject to the following restriction: the only "product" of your discussion should be your memory of it - you may not write up solutions together, or exchange written work or computer files. Collaboration is not allowed on examinations or quizzes.

Learning Accomodations: Students who think they may need accommodations in this course because of the impact of a disability are encouraged to meet with the instructor in private (e.g., during office hours) early in the semester. Students should also contact Rick Webb, Coordinator, Office of Disabilities Services (, 610-896-1290) to verify their eligibility for reasonable accommodations as soon as possible. Early contact will help to avoid unnecessary inconvenience and delays, and facilitate learning.

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.