CSC 313 Data Structures in Java

Autumn 2002

Instructor

Dr. Craig Miller
Office: 830 CTI Building, 312-362-5085
Email: cmiller@cs.depaul.edu
Office Hours: Announced on Web page

Course Meeting

Tuesday and Thursday 10:10 - 11:40
CS&T 220 TBA, Loop Campus

Text

Data Structures & Other Objects using Java, by Michael Main

Prerequisites

CSC 212 (or CSC 224) and MAT 140.

Overview

This course covers concepts used in the design of computer programs. The focus is on common data structures (e.g. arrays, linked lists, trees, and hash tables), their role in implementating abstract objects (e.g. collections, stacks, queues, tables, and iterators), and their application to problems. Students also learn some common problem solving methods including algorithm analysis, sorting and recursion.

Grade Determination

35% (70 points) Best 7 of 8 programming assignments (10 points each)
20% (40 points) Two quizzes (20 points each)
20% (40 points) Midterm Exam
25% (50 points) Final Exam

Students receiving more than 90% of possible points are guaranteed at least an A-, more than 80% at least a B-, more than 70% at least a C-, and more than 60% at least a D.

Policies

While attendance does not comprise a formal part of the grade, students are expected to attend all classes and participate in in-class exercises. Class will start promptly at 10:10. Students are individually responsible for material they may have missed due to absence or tardiness.

Quizzes and tests can only be made up with a serious documented excuse (e.g. illness, death in the family). A make-up quiz or test must be arranged as soon as possible and always before the student attends the next class meeting. Arrangements involving other excuses require prior permission from the instructor.

Assignments will be submitted online (URL TBA). While students should plan to complete their assignments by classtime on Tuesday, assignments will be accepted until 11:30pm the following day (Wednesday) without any penalty. Assignments submitted after Wednesday will generally not be accepted.

Assignments submitted by email are generally not accepted.

Assignments must represent a student's individual effort. While students are permitted to discuss assignments at the conceptual level and help each other point out compiler errors, under no circumstances should students share code (electronically or otherwise). Using any code in an assignment that does not acknowledge its author is plagiarism.

School Policies

Online Instructor Evaluation

Course and instructor evaluations are critical for maintaining and improving course quality. To make evaluations as meaningful as possible, we need 100% student participation. Therefore, participation in the School’s web-based academic administration initiative during the eighth and ninth week of this course is a requirement of this course. Failure to participate in this process will result in a grade of incomplete for the course. This incomplete will be automatically removed within seven weeks after the end of the course and replaced by the grade you would have received if you had fulfilled this requirement.

Email

Email is the primary means of communication between faculty and students enrolled in this course outside of class time. Students should be sure their email listed under "demographic information" at http://campusconnect.depaul.edu is correct.

Plagiarism:

The university and school policy on plagiarism can be summarized as follows: Students in this course, as well as all other courses in which independent research or writing play a vital part in the course requirements, should be aware of the strong sanctions that can be imposed against someone guilty of plagiarism. If proven, a charge of plagiarism could result in an automatic F in the course and possible expulsion. The strongest of sanctions will be imposed on anyone who submits as his/her own work a report, examination paper, computer file, lab report, or other assignment which has been prepared by someone else. If you have any questions or doubts about what plagiarism entails or how to properly acknowledge source materials be sure to consult the instructor.

Incomplete:

An incomplete grade is given only for an exceptional reason such as a death in the family, a serious illness, etc. Any such reason must be documented. Any incomplete request must be made at least two weeks before the final, and approved by the Dean of the School of Computer Science, Telecommunications and Information Systems. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.

Tentative Schedule

Week Topic Text Reading Quiz or Exam Assignment Due
Sept 12 Java Review and Class specification Ch. 1 & 2 (except 1.2)    
Sept 17 & 19 Runtime analysis and collection classes Sect 1.2 and Ch. 3    
Sept 24 & 26 Collection classes Ch. 3 Quiz 1 (Thursday) Assignment 1
Oct 1 & 3 Linked lists Ch. 4   Assignment 2
Oct 8 & 10 Linked list examples, Objects and Iterators Ch. 4 & 5   Assignment 3
Oct 15 & 17 Stacks, Queues, Intro to recursion Ch. 6 & 7 & 8.1 Midterm Exam (Tuesday)  
Oct 22 & 24 Recursion and sorting Ch. 8 & 12   Assignment 4
Oct 29 & 31 Trees Ch. 9 Quiz 2 (Thursday) Assignment 5
Nov 5 & 7 Heaps and Intro to Hash Tables Sect 10.1 and Ch. 11   Assignment 6
Nov 12 & 14 Hash Tables Ch. 11   Assignment 7
Nov 19 Heap sort and Review 12.3   Assignment 8
November 27     Final Exam (Wednesday at 11:45)  

Source and documentation of programs discussed in class

Useful links for programming in Java