CIS 2168 Data Structures Monday, 1 1:50 PM; Wednesday, 1 2:50 PM, Tuttleman 305A

CIS 2168 Data Structures Monday, 1 1:50 PM; Wednesday, 1 2:50 PM, Tuttleman 305A

CIS 2168 – Data Structures – Monday, 1 – 1:50 PM; Wednesday, 1 – 2:50 PM, Tuttleman 305A

Section 1 Lab Wednesday, 9 – 10:50 AM, Wachman 200

Section 2 Lab Thursday, 12 – 1:50 PM, Wachman 200

Instructor: Elliot Koffman email:
Office: Room 311, ComputerBuilding
Phone: 215-204-1913 on-campus (1-1913)

Lab TA: Lou, Qiang email:

office hours: Monday, 2 PM – 3 PM; Wednesday, 3 PM – 4 PM, please make appointment in advance by email.
virtual office by email:

Send email if you have any questions!!! I check email often.

Textbook: Objects, Abstraction, DATA STRUCTURES, and DESIGN using Java 5.0, By Koffman/Wolfgang, Wiley, 2005

C+IN SC 2168. Data Structures (4 s.h.) F S (Formerly: C+IN SC 0068.)

Prerequisite: Grade of C or better in C+IN SC 1068 (0067).

A continuation of C+IN SC 1068 (0067). Program style organization and design with continued emphasis on the object-oriented design paradigm. Understanding and use of data abstraction through Java classes and class libraries. Understanding and use of the following Abstract Data Types: strings, stacks, queues, priority queues, lists, linked lists, binary trees, heaps, and hash tables. Introduction to expression evaluation and other applications. Introduction to recursion and comparative analysis of searching and sorting algorithms and data structures. Sorting algorithms include insertion sort, mergesort, heapsort,and quicksort. Searching algorithms include binary search, hashing, and Huffman coding.

Note: For Computer Science Major. Mode: 3 hr. lecture, 2 hr. lab.

What is expected of you: You must attend class and the scheduled laboratory section for this course and do the assigned readings (see the syllabus). You must complete all of the assigned laboratory projects in a timely fashion. All lab assignments should be emailed to your lab instructor before lab on the day they are due. Labs turned in after lab begins will be considered late! Your grade will be reduced by 1 point (out of 10) per day for a late lab. You must get a passing grade on the lab assignments to pass the course. For each lab, you must submit a design document along with the program and a test of the program (once we have shown you how to do this!). The design document will show the steps you took to design the algorithm and will follow the software development method used in the text.

You must plan to spend time outside of the scheduled laboratory working on your programs. Often, students find they need 10 or more additional hours outside of lab to complete the assignments. You should check the blackboard page for this course regularly to see any hints, instructions or updates to assignments.

Your grade will be based on a combination of exam scores, quizzes, lab grades, class work and assignments. Exam and quiz scores will count for about 70% of the grade - labs, class work, and assignments will count for the rest.

Group work: It is okay to work together to discuss a problem and get ideas for its solution. However, everyone is responsible for doing his/her final design for a problem and for its program solution. It is plagiarism to turn in someone else's work as your own. If you are caught doing this (with or without the other person's permission, you may receive a failing grade for the course. SEE DOCUMENT ON LAB POLICY FOR DETAILS OF THIS AND OTHER LAB RELATED ISSUES.

Disability Disclosure: Any student who is has a need for accomodation based on the impact of a disability should contact me privately to discuss the specific situation as soon as possible. Contact Disability Resources and Services at 215-204-1280 in Room 100, Ritter Annex to coordinate reasonable accomodations for students with documented disabilities.

IMPORTANT DATES

First class: Monday, 8/31.

No class Labor Day, Monday, 9/7

Last day to drop (tuition refund available): Monday, 9/14.

Last day to withdraw (no refund): Monday, 11/2. Students who have previously withdrawn from the same course,
or who have already withdrawn from 5 courses since September 2003 may not withdraw.

Last Class: Wednesday, 12/9.

Drops and withdrawals are handled by the student's college office. Students need to get to the college office by the deadline.

Students who miss the final and do not make alternative arrangements with mebeforehand will be graded F.

External Links:

Netbeans download site

Java 5.0 Documentation

Course Schedule

READINGASSIGNMENTS should be done BEFORE class. There will be frequent quizzes (one per week). Labs MUST be done in a timely fashion. There will be a penalty for late labs – see the lab policy document on the BB course.

Week / Reading Assignment / Other Assignment
1 – 8/31 / Appendix A - Review
2 – 9/7 (class on 9/9, no class 9/7) / Chapter 1 from BB / Appendix A Quiz
3 – 9/14 / Chapter 1 from BB / Chapter 1, part 1 Quiz, Lab 1 due
4 – 9/21 / Chapter 2 from BB / Chapter 1, part 2 Quiz, Lab 2 due
5 – 9/28 / Chapter 2 from BB / Chapter 2, part 1 Quiz, Lab 3 due
6 – 10/5 / Chapter 5 / Chapter 2, part 2 Quiz, Lab 4 due
7– 10/12 / Chapter 6 / Chapter 5 Quiz, Lab 5 due
8– 10/19 / Chapter 7 / Midterm on chapters 1, 2, 5 6
9– 10/26 / Chapter 8 / Chapter 7 Quiz, Lab 6 due
10 – 11/2 / Chapter 8 / Chapter 8, part 1 Quiz, Lab 7 due
11 – 11/9 / Chapter 9 / Chapter 8, part 2 Quiz, Lab 8 due
12 – 11/16 / Chapter 9 / Chapter 9, part 1 Quiz, Lab 9 due
13 – 11/23 / Chapter 10 / Chapter 9, part 2 Quiz, Lab 10 due
14 – 11/30 / Chapter 10 / Chapter 10, part 1 Quiz, Lab 11 due
15 – 12/7 / TBA / Chapter 10, part 2 Quiz, Lab 12 due
12/14/2009 from 1-3 PM / Final exam / Comprehensive final - All Chapters