Syllabus

CS 302: Advanced Data Structures

Summer 2009

Meeting Times: Lectures & Labs: 10:50 am - 12:15 pm, HB 209
Jun. 22 - Jul. 31
Instructor: Jim Schwing
Office: HB 219-C
Phone: 963 - 1432
E-mail: schwing@cwu.edu
Web Page: http://www.cwu.edu/~schwing
Office hours: 2:00 pm - 3:00 pm, Mon - Thurs. and by appointment.
Text: Data Structures and the Java Collections Framework
2nd Edition, William Collins, McGraw-Hill, 2005.

Grading
Exams (25 & 30% each) 55%
Projects (3 - 15% each) 45%

Grading Scale
95 - 100 A
90 - 94 A -
87 - 89 B +
83 - 86 B
80 - 82 B -
77 - 79 C +
73 - 76 C
70 - 72 C -
60 - 69 D

Grading Note: The programming projects are an important part of the course. Students MUST PASS the project portion of the class to PASS the class.

Learning Outcomes and Course Objectives: This course continues the exploration of data structures, algorithms for manipulating them, and the practical problems of implementing those structures in real programming languages and environments. Attention is paid to the analysis of algorithms to characterize their worst and average case requirements for running time and memory.

Perhaps more than any other courses, CS 301 and 302 should expand the students tool box of basic techniques for manipulating data at both the conceptual and the concrete level. At the conceptual level, the student will see a broad selection of standard practices and approaches used in program design. At the concrete level, the student will begin what should be a career-long practice of accumulating useful, reusable code units.

The basic organization of this course will proceed through the classic data structures and Java-based containers, exploring the use and implementation of each in turn. Motivating problems will be drawn from a variety of application areas.  Specifically:

Honor Code: All work turned in for credit, including exams and all components of the project, are to be the work of the student whose name is on the exam or project. For all project components, the student can receive assistance from individuals other than the instructor only to ascertain the cause of errors. Thus you can get help if you need it to figure out why something doesn't work. You just can't get help from anyone, other than the instructor or TA, to figure out how to make something work. All solutions turned in for credit are to be your individual work and should demonstrate your problem solving skills, not someone else's.

The following text should appear on all assignments:
I pledge that I have neither given nor received help from anyone other than the instructor for all program components included here.

The student should sign his or her name under the pledge. Any deviation from this policy is an honor code violation and will be treated as such if detected. It should be included as a comment in your source code and part of your written report.

Class Attendance: Class attendance is expected.

ADA Statement: Students who have special needs or disabilities that may affect their ability to access information and/or material presented in this course are encouraged to contact me or the Director of Disability Support Services, on campus at 963-2171.

Caveat: The schedule and procedures for this course are subject to change. It is the student's responsibility to learn of and adjust to changes.

Course Schedule

Day Date Topic Readings - Item Due
1 Jun 22 Binary Trees (review) Reading: Ch. 9
2 Jun 23 Binary Search Trees Reading: Ch. 10
3 Jun 24 Binary Search Trees  (cont.) Reading: Ch. 10

4

Jun 25

Binary Search Trees  (cont.)

Reading: Ch. 10

5 Jun 26 Sorting Reading: Ch. 11
6 Jun 29 Sorting (cont.) Reading: Ch. 11
7 Jun 30 Sorting (cont.) Reading: Ch. 11
8 Jul 1 Priority Queues

Reading: Ch. 13

Lab 1 Due

9 Jul 2 Priority Queues (cont.) Reading: Ch. 13
-- Jul 3 No Class - Independence Day Celebrated  
10 Jul 6 Priority Queues (cont.)  Reading: Ch. 13
11 Jul 7 Q & A  
12 Jul 8 Exam 1
13 Jul 9 Hashing Reading: Ch. 14
-- Jul 10 No Class - Dr. Schwing Advising  
-- Jul 13 No Class - Dr. Schwing on Travel  
-- Jul 14 No Class - Dr. Schwing on Travel  
-- Jul 15 No Class - Dr. Schwing on Travel  
14 Jul 16 Hashing (cont.) Reading: Ch. 14
-- Jul 17 No Class - Dr. Schwing Advising  
15 Jul 20 Hashing (cont.) Reading: Ch. 14
16 Jul 21 Tree Maps and Tree Sets

Reading: Ch. 12

Lab 2 Due

17 Jul 22 Tree Maps and Tree Sets (cont.) Reading: Ch. 12
18 Jul 23 Tree Maps and Tree Sets (cont.) Reading: Ch. 12
19 Jul 24 Graphs & Networks Reading: Ch. 15
20 Jul 27 Graphs & Networks (cont.) Reading: Ch. 15
21 Jul 28 Graphs & Networks (cont.) Reading: Ch. 15
22 Jul 29 B-trees
23 Jul 30 Q & A Lab 3 Due
24 Jul 31 Exam 2

Bar

Last updated: Jun. 19, 2009

JL Schwing schwing@cwu.edu
Department of Computer Science

All images and text are ©2009 Central Washington University
This material is subject to copyright and unauthorized use or copying is prohibited.