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

Assignments

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 Other
1 6/18 Introduction Intro to CS367 course information
6/19 interfaces, Objects, Java generics
6/20 Lists lists (array-based)
6/21 iterators, comparators
2 6/25 Exceptions using the command line, exceptions
6/26 exceptions, intro to linked lists
6/27 Linked Lists primitive vs reference types, linked lists P1 due (midnight Wednesday)
6/28 linked lists
3 7/2 Complexity complexity
7/3 complexity
7/4 Independence Day
7/5 Stacks and Queues stacks and queues P2 due (midnight Thursday)
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 P3 due (midnight Wednesday)
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 Hashing hashing
7/26 hashing P4 due (midnight Thursday)
7 7/30 Graphs graphs
7/31 graphs
8/1 Sorting graphs, sorting
8/2 sorting
8 8/6 course wrap-up
8/7
8/8 P5 due (midnight Wednesday)
8/9 FINAL EXAM

Lecture notes © 2012 by CS367 Instructors.

Policies

Late Policy

You get five (5) free late days to use throughout the semester. They can be used on homework assignments and programming assignments. After you have run out of late days, you may no longer turn in late work.

All assignments are due at midnight. An assignment counts as one day late if it is turned in after midnight but before midnight the next day.

Collaboration

You may not collaborate on written homework assignments. They must be completed individually. You may discuss written homeworks with other students, however, but you must write up your answers individually. If you work on problems with other students, do not take notes while you are working together. In other words, if you work on homeworks with another student, you should each write up your answers at separate tables without referencing any written materials from your time together.

You may complete programming assignments in pairs or alone. If you work as part of a pair, exactly one of the pair should turn in the homework, and the other member should simply turn in a README file giving their name and the name of their partner.

Attendance and Participation

Attendance and participation are required. Participation consists in attending lecture, volunteering to answer questions posed during lecture, and asking good questions during lecture. Toward the end of the semester, there will be an opportunity to do a short presentation in order to boost your participation grade.

Grading

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