CMP 338, Data Structures and Algorithms


Bowen Alpern
office hours: Tuesdays and Thursdays, 4 to 5 pm and by appointment (or happenstance), 137-I Gillet Hall.

Course Objectives

  1. to expose the student at a deep level to a few dozen classic Computer Science data structures and algorithms,
  2. to enable the student to reason about the performance of computer programs,
  3. to enhance the student's competence and confidence as a computer programmer, and
  4. to engage the student in an enquiry into the nature of beauty.

This course will help prepare the student for the "screening" questions that she might expect to find on a job interview.


Libraries and Abstract Data Types, Application Program Interface

Previous final exams

fall 2011
spring 2012

Course hours: 6 - 7:40, Tuesdays and Thursdays

This is a four credit course. You should expect to spend at least eight hours per week outside of class on this course.

Tardiness policy

I expect students to be on time for class. If you arrive late, enter as unobtrusively as possible. If lateness becomes chronic, I will reserve the right to institute a more draconian policy.

Grading policy

There will be two in-class exams and a final. Each of these will count for 30% of your grade. The final will be cummulative. If you do better on the final than on a midterm exam, I will increase your worst midterm grade somewhat. The remainder of your grade will be programming homework, class participation, quizzes, etc..

Tentative Course Calander

Tuesday 6 - 7:40 Thursday 6 - 7:40
8/27Algorithms and Data StructuresCh 1.1 8/29Data AbstractionCh 1.2
9/4Stacks and QueuesCh 1.3 9/6Analysis of AlgorithmsCh 1.4
9/11Union-FindCh 1.5 9/13Symbol TablesCh 3.1
9/18NO CLASS 9/20Hash Tables 1Ch 3.1 & 3.4
9/25NO CLASS 9/27Hash Tables 2Ch 3.4
10/2Review 10/4Comparison and Elementary SortsCh 2
10/9 Exam 1 10/11Sorting SequencesCh 2
10/16Properties of Comparison SortsCh 2 10/18Exam 1 AnswersCh 2
10/23Sorting ArraysCh 2 10/25Integer SortsCh 5.1
11/6Radix SortsCh 5.1 11/83-way QuickSortCh 5.1
11/13Review of Sorting 11/15Exam 2
11/20Exam 2 Answers 11/22NO CLASS
11/27Binary Search TreesCh 3.2 11/29Two-Three TreesCh 3.3
12/4Red-Black TreesCh 3.3 12/6TriesCh 5.2
12/11Graph AlgorithmsCh 4 12/13 6-9:30 pmCourse Review (and party)