CS 206 - Data Structures
Spring 2019
Geoffrey Towell
gtowell@cs.brynmawr.edu
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
Updated Dec 8, 2019
- Week 1. Sept 3-6
Introduction, Java Review
- Week 2. Sep 9-13
Object-oriented programming (OO design and inheritance), Array Lists
- Reading: Chapters 2, Chapter 7.1
- Week 3. Sep 16-20
Linked Lists
- Reading: Chapters 3 (focus on 3.2-3.4)
- Week 4. Sep 23-27
OO review, Algorithm Analysis
- Reading: Chapter 4. Focus on Section 4.3
- Week 5. Sept 30 - Oct 4
Stacks and Queues
-
Reading: Chapters 6 (focus on 6.1 and 6.2)
- Week 6. Oct 7-11
Midterm review and Midterm 1
- Week 7. Oct 21-25
Iterators and Recursion
- Reading : Chapter 7.4, 5.1, 5.3, 5.4
- Reading: Chapter 7
- Week 8. Oct 28 - Nov 1
Trees
- Reading: Tuesday: Chapter 8.2-8.3.1
- Reading Thursday: Chapter 8.3 and 8.4
- Week 9. Nov 4-8
Priority Queues and Heaps
- Reading: Tuesday: Chapter 9.1-9.2
- Reading: Thursday Chapter 9.3-9.4
- Week 10. Nov 11-15
Sorting and a return to Recursion
- Reading: Chapter 12.1-12.2
- Midterm 2 material ends here
- Week 11. Nov 18-22
Hashtables and Maps; Midterm Review
- Reading: Chapter 10.1-10.2
- Week 12. Thanksgiving and second exam.
-
No class, Take home midterm 2 is due beofre noon Tuesday Nov 26.
- Week 13. Binary Search trees and Balanced trees, Graphs
- Reading: Chapter 11.1-11.3, Ch 14.1-2
AVL rotations lab
Week 14. Graphs, possibly Text, Final Review
Lab: sample final quesions
Week 15. Final exam week - the final exam will be self-scheduled through the Office of the Registrar.
Total grade breakdown
Grades will be awarded based on the number of points earned and according to the
percentage breakdowns shown.
Homework | 45% |
Lab | 5% |
Midterms (2) | 32% |
Final exam | 18% |
Closed book, closed notes, no electronic devices.
Dates:
- In class Oct 10
- Take home. Distributed Nov 21. Must be turned in before 11:30AM, Nov 26.
90 minutes. Closed book, closed notes, no electronic devices. If I am not in my offce, slide it under the door.
The final will be self-scheduled during exam week. It will code material from the whole corse, but will focus on topics from second half od the semester.
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+.
Collaboration
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.