CS367 Summer 2012

Instructor: James Paton
paton@cs.wisc.edu
Office hours: 9:30-10:30am MTuWTh 3379 CS

TA: Nisha Kiran
nkiran@cs.wisc.edu
Office hours: ??? 3395 CS

News and announcements

Syllabus

Description

Study of data structures (including stacks, queues, trees, graphs, and hash tables) and their applications. Development, implementation, and analysis of efficient data structures and algorithms (including sorting and searching). Experience in use of an object-oriented programming language.

Calendar

Week  Readings Topics (tentative) Other
1 6/18  Introduction  intro to CS367  course information handout
  6/19    interfaces, Objects, Java generics  
  6/20  Lists  lists (array-based)  
  6/21    iterators  
2 6/25  Exceptions  using the command line, exceptions  
  6/26    exceptions, intro to complexity  
  6/27  Complexity  complexity  
  6/28    complexity  
3 7/2  Linked Lists  primitive vs reference types, linked lists  
  7/3    linked lists  
  7/4    Independence Day  
  7/5  Stacks and Queues  stacks and queues  
4 7/9  Recursion  recursion  
  7/10    recursion  Midterm: Thursday, 7/12 in class
  7/11  Searching  recursion, search, intro to trees  
  7/12    MIDTERM EXAM  
5 7/16  Intro to Trees  general trees, binary trees  
  7/17  Binary Search Trees  binary search trees  
  7/18    binary search trees, balanced search trees  
  7/19  Red-Black Trees  red-black trees  
6 7/23  Priority Queues  red-black trees, priority queues, heaps  
  7/24    priority queues, heaps, intro to hashing  
  7/25    exam-related questions  
  7/26  Hashing  hashing  
7 7/30    hashing  
  7/31  Graphs  graphs  
  8/1    graphs  
  8/2  Sorting  graphs, sorting  
8 8/6    sorting  
  8/7    course wrap-up  
  8/8      
  8/9    FINAL EXAM: Thursday, 8/9  

Grading

Midterm: 20%
Final: 20%
Programs (5): 35%
Homeworks (3): 20%
Attendance and participation: 5%