Department of Computer Science
Middlebury College
CS 201 - Data Structures
Spring 2014

instructor: Dave Kauchak
e-mail: [first_initial][last_name]@middlebury.edu
office hours: MBH 635
  M 3-4pm
  T/Th 10-11:30am
  and by appointment

time: MWF 1:45-2:35pm
location: MBH 104
web page: http://www.cs.middlebury.edu/~dkauchak/classes/cs201/ (or go/cs201)

Lab Tutor Schedule: Sun-Tue 8-10pm in MBH 632

ASI (Colby Horn): M/W 1:30-2:30pm, T/Th 1:30-3:30pm

Computer lab help:
For computer issues in the lab (MBH 505) e-mail cshelp @ middlebury edu.

textbooks:

general information:
This course is an introduction to the basic computer science data structures. As part of this process, you'll learn how to program in Java as well as general advanced programming concepts such as object-oriented design and complexity analysis.

This class assumes you've had prior programming experience (specifically one of our 100-level courses). If you have any question if the class would be appropriate for you, I'm happy to discuss it with you.

administrivia

digital submission


Announcements


Schedule

Note: This is a tentative schedule and is subject to change
DateTopic Reading  Problems  Assignments 
2/10admin, Java introdata types, operators (5 pgs)  
2/12Java basicsarrays, control (7 pgs)set 1 - solutionassign 1, part 1
2/14classesobjects, classes,
"Classes"-"More on Classes"
set 2 - solutionassign 1, part 2
2/17more on classes
-
set 3 - solution 
2/19arrays
-
set 4 - solutionassign 2, part 1
2/21NO CLASS  assign 2, part 2
2/24inheritencesubclassesset 5 - solution 
2/26inheritence 2Bailey Ch. 1-1.4set 6 - solutionassign 3, part 1
2/28JUnitsuper, object, Sections 1 - 3.3set 7 - solutionassign 3, part 2
3/3interfaces, sortinginterfaces (4 pages)
Optional: Why use interfaces?
set 8 - solution 
3/5more inheritence,
mergesort (ppt)
Ch. 6-6.4reading catch-upassign 4, part 1
3/7Exceptions, Java I/Oassign 4, part 2, Appendixset 9 - solutionassign 4, part 2
3/10asymptoticsCh. 6.5-6.7set 10 - solution 
3/12quicksort (ppt) set 11 - solutionassign 5, part 1
3/14extendable arraysCh. 3-3.1 (Vector=ArrayList)set 12 - solutionassign 5, part 2
3/17JavaDoc set 13 - solution 
3/19midterm review
sample questions
 
-
 
3/21genericsCh. 4-4.2.1, this 
3/24NO CLASS   
3/26NO CLASS   
3/28NO CLASS   
3/31ArrayList (ppt)
ArrayList code
Ch. 4.2.2-4.3  
4/2linked listsCh. 9-9.4set 14 - solutionassign 6, part 1
4/4more linked listsCh. 9.5-9.6set 15 - solutionassign 6, part 2
4/7stacks and queuesCh. 10set 16 - solution 
4/9stack and queue applications 
-
assign 7
4/11NO CLASS   
4/14treesCh. 12set 17 - solution 
4/16binary treesCh. 14-14.4set 18 - solutionassign 8, part 1
4/18binary search trees
-
set 19 - solutionassign 8, part 2
4/21priority queuesCh. 13-13.3set 20 - solution 
4/23heaps13.4-13.4.2
-
assign 9, part 1
4/25more heaps set 21 - solutionassign 9, part 2
4/28hashing set 22 - solution 
4/30hashtablesCh. 15set 23 - solutionassign 10
5/2open addressing set 24 - solution 
5/5open addressing 2 set 25 - solution 
5/7graphsCh. 16-16.3
-
 
5/9graph algorithmsCh. 16.4.1set 26 - solution 
5/12Exam review   

Midterm: Thursday, March 20 7-9pm in MBH 104

Final exam: Self-scheduled during exam week (available now)


Resources