CS 206 - Data Structures

Spring 2019

Geoffrey Towell

An introduction to the fundamental data structures of computer science: lists, stacks, queues, trees, BSTs, graphs, sets and their accompanying algorithms. Principles of algo- rithmic 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.

Check the class website often for updates. Deadlines will also be listed there.

Approximate Schedule of Topics

Total grade breakdown

Grades will be awarded based on the number of points earned and according to the percentage breakdowns shown.
Midterms (2)32%
Final exam18%

Midterms will be in class. Closed book, closed notes, no electronic devices.

The final will be self-scheduled during exam week. It is intended to be more of a third mid-term than a true final.

Late work policy

All extensions must be requested at least 24 hours in advance of the deadline. Extensions will be granted based on individual circumstances. Work handed in late without a previously granted extension will not be accepted.

Attendance and Participation

Attendance at, and active participation in, all class sessions is expected of all students. Participation will be taken into account in awarding of final grades for students who are on the edge between two grades. For example, a student with a B+/A- average and a strong attendance and participation record would receive an A-, while a student with a weak record would receive a B+.


It is your responsibility to understand and follow the collaboration policy in this class. The goal of the policy is to encourage collaboration while ensuring that you and your classmates really engage in earning how to solve the challenging problems you will see in this course. If you are ever uncertain if collaboration or certain sources are allowed, you should ask the professor.

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/understanding of it - you may not write up solutions together, or exchange written work or computer files. The group project is the only exception to this - in this case, these collaboration rules apply to students outside of your group and you may freely work closely with students within your group. Collaboration is not allowed on examinations or quizzes.

You should not use outside sources (the internet, other textbooks, students not in this class, etc.). Code should not be copied without permission from the author. If permission is given, code should be cited at the location it is used with a comment. If your solution is inspired by any outside resources (I understand that sometimes it is hard to not see things), you MUST cite.

Learning Accommodations

Students requesting accommodations in this course because of the impact of disability are encouraged to meet with me privately early in the semester with a verification letter. Students not yet approved to receive accommodations should also contact Deb Alder, Coordinator of Accessibility Services, at 610-526-7351 in Guild Hall, as soon as possible, to verify their eligibility for reasonable accommodations. Early contact will help avoid unnecessary inconvenience and delays.

This class may be recorded.