ClassInfo

CSC 402 Data Structures I

Craig Miller

Office: CDM 745
Winter 2014-2015
Class number: 27429
Section number: 812
-
Online Campus

Summary

This course is a graduate-level introduction to data structures using the Java programming language. The course introduces Java programming from within the context of data structures. The course covers arrays, linked lists, stacks and queues, data structures supporting disjoint-set operations, and discusses recursion and performance analysis. The implementation of the basic operations on each data structure are discussed and analyzed in terms of their efficiency.

Course Goals

By the end of the quarter, students will be able to...

  • Write code using the Java language that implements fundamental data structures, sorts, and other problems of similar complexity
  • Use a debugger to find problems in a program
  • Write appropriate test code for a program
  • Identify the efficiency class of simple algorithms
  • Employ OO concepts, including data abstraction and encapsulation, when programming



Texts

Required

Algorithms, fourth edition, by Robert Sedgwick and Kevin Wayne (ISBN 0-321-57351-X).

Recommended (and free!)

How to Think Like a Computer Scientist by Allen B. Downey. Available online.

Java for Python Programmers by Brad Miller. Available online.

Introduction to Programming in Java (Chapter 1) by Sedgwick and Wayne. Available online. It covers the first chapter of the required text but at a slower pace.

Software

Java 8, Eclipse 4.4 (text editor), code from textbook



Grading

35% (70 points) Programming assignments (10 points each)
10% (20 points) Quizzes (10 points each)
20% (40 points) Take-home midterm exam
35% (70 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.

All submitted work must be original work unless its source is clearly referenced. Failure to clearly attribute quotes or designs from other people's work constitutes plagiarism. Violations will generally receive no credit for a given submission.

Programming assignments may be completed individually or in groups of two or three. All group members are responsible for making sure that everyone learns from the assignment.

Quizzes will cover content from the assigned readings and recent lectures. They are offered online through D2L. Quizzes must be taken individually and within one week of their availability.

The midterm exam is an individual take-home exam. One part consists of the kinds of questions that will appear on the final exam (good for practice). The second part will involve writing code and submitting it.

The final exam is a proctored, comprehensive exam. A major component of the exam involves tracing, explaining and writing code (on paper).



Prerequisites

CSC 401 or comparable programming experience


Course Policies

Students are expected to attend every class or watch the lecture online.

Exams can be made up with a serious documented excuse (e.g. illness, death in the family) and must be arranged as soon as possible. Arrangements involving other excuses require prior permission from the instructor.

Submitted assignments will be accepted up to 3 days late, with a 1 point penalty. Assignments submitted more than 3 days after the due date will not be accepted without an excused absence cleared by the dean of students office (see forms for submitting an excused absence).

Additional assignments for extra credit will not be offered.

All grade challenges must be submitted in writing and include an explanation why the given score or grade should be reconsidered.



Tentative Schedule

Week Topic Reading Assignment Quiz or Exam
Jan 5 Java and Eclipse: arrays, iteration, static methods and recursion 1.1
Jan 12 Data abstraction, objects, references 1.2 Assignment 1
Jan 19 Collections, generics, array resizing 1.3 Assignment 2 Quiz 1
Jan 26 Linked structures 1.3 Assignment 3
Feb 2 Linked structures continued 1.3 Assignment 4
Feb 9 Worked example of a collection TBD
Feb 16 Performance analysis 1.4 Midterm exam
Feb 23 Simple sorts comparators 2.1 Assignment 5
Mar 2 Priority Queues and Heaps 2.4, 2.5, 6.1 Assignment 6 Quiz 2
Mar 9 Mergesort and Quicksort 2.2, 2.3 Assignment 7
Mar 16 Final Exam


School policies:

Changes to Syllabus

This syllabus is subject to change as necessary during the quarter. If a change occurs, it will be thoroughly addressed during class, posted under Announcements in D2L and sent via email.

Online Course Evaluations

Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect.

Academic Integrity and Plagiarism

This course will be subject to the university's academic integrity policy. More information can be found at http://academicintegrity.depaul.edu/ If you have any questions be sure to consult with your professor.

All students are expected to abide by the University's Academic Integrity Policy which prohibits cheating and other misconduct in student coursework. Publicly sharing or posting online any prior or current materials from this course (including exam questions or answers), is considered to be providing unauthorized assistance prohibited by the policy. Both students who share/post and students who access or use such materials are considered to be cheating under the Policy and will be subject to sanctions for violations of Academic Integrity.

Academic Policies

All students are required to manage their class schedules each term in accordance with the deadlines for enrolling and withdrawing as indicated in the University Academic Calendar. Information on enrollment, withdrawal, grading and incompletes can be found at http://www.cdm.depaul.edu/Current%20Students/Pages/PoliciesandProcedures.aspx.

Students with Disabilities

Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.
To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at:
Lewis Center 1420, 25 East Jackson Blvd.
Phone number: (312)362-8002
Fax: (312)362-6544
TTY: (773)325.7296