CSC 402/Data Structures I
Syllabus (version 1.0)
Course description
From the course catalog: "A first course on data structures in Java for graduate students. 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. Prerequisite: CSC 401 (Introduction to Programming)"
More specifically, this is a second programming course for students who have had a term of programming or its equivalent. We assume that students know no Java and we will teach the language from its fundamentals.
Course web site
Except for the textbook, all course materials will be available through DePaul's D2L web site. If you are not registered in the course you will not be able to see them but you may write to me to request them at my CDM email address.
Textbooks
There are two required textbooks. The first is "Algorithms", 4th edition, by Robert Sedgewick and Kevin Wayne (Addison-Wesley, 2011), ISBN 978-0-321-57351-3. Its associated web site is quite extensive. Please be sure you get the 4th edition! There is an electronic version and the book is available online through our library's Safari subscription. This last way requires you to log in with your Campus Connect user name and password.
The second required text is online and available for free: "Think Java".
Learning outcomes
By the end of this course students should be able to:
- analyze a moderately complex problem;
- determine from the analysis which linear data structures are needed;
- from that analysis, create an algorithm that uses those data structures to solve the problem;
- translate the algorithm and data structures into a working Java program;
- debug a Java program to get it working;
- analyze an algorithm to determine its running time.
Schedule of topics
This is an approximate version of the order of topics.
Week | Topic | Reading in "Algorithms" |
---|---|---|
1 (1/6) | Java and Eclipse: Arrays, Iteration and Recursion | Section 1.1 |
2 (1/13) | Data Abstraction, Objects, References | Section 1.2 |
3 (1/20) | Linked Structures | Section 1.3 |
4 (1/27) | Linked Structures and Resizing Arrays | Section 1.3 |
5 (2/3) | Analysis | Section 1.4 |
6 (2/10) | Midterm | Review |
7 (2/17) | Union Find | Section 1.5 |
8 (2/24) | Elementary sorts, Comparators | Section 2.1 |
9 (3/3) | Priority Queues and Heaps | Sections 2.4, 2.5, and 6.1 |
10 (3/10) | Mergesort and Quicksort | Sections 2.2 and 2.3 |
Important dates
Our class meets every Monday, 5:45pm to 9pm, with a 15-minute break at 7:15. At the moment the class is listed as meeting in room 1111 of the Lewis building (25 E. Jackson) but please check that shortly before the first class as room assignments sometimes change at the last minute.
- First class: Monday, January 6th
- Midterm: Monday, February 10th
- Last class: Monday, March 10th
- Final exam: Monday, March 17th
Assignments and grading
There will be weekly programming assignments. along with quizzes and exams. The number and type of quizzes and the grading weight of each of these is not yet worked out but will be published before our class begins.
The resulting overall percentage will be translated into a letter grade as follows:
Letter | Percentage range |
---|---|
A | 95-100 |
A- | 90 - <95 |
B+ | 87 - <90 |
B | 83 - <87 |
B- | 80 - <83 |
C+ | 77 - <80 |
C | 73 - <77 |
C- | 70 - <73 |
D+ | 65 - <70 |
D | 60 - <65 |
F | <60 |
Participation policy
For students in the in-class section, attending every class is required.
Academic Integrity Policy
This course will be subject to the academic integrity policy passed by our faculty. More information can be found at http://academicintegrity.depaul.edu/. I strongly recommend that you read this! It explains both your rights and your responsibilities as a student on matters of academic integrity.
Communication
All communication will be done in one of three ways:
- Announcements in class. You are responsible for anything and everything I say in class.
- Email from me. You can send email to me at jrogers@cs.depaul.edu.
- Announcements on the D2L web site.
Office location and hours
My office is room 747 in the CDM building, 243 S. Wabash. My office hours can be found on my CDM homepage. My phone number is 312-362-8334 (dial 2-8334 from the 7th floor lobby phone).
Plagiarism
The university and school policy on plagiarism can be summarized as follows: Students in this course 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 any 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 consult the instructor.
Incomplete
An incomplete grade is given only for an exceptional reason such as, for example, a death in the family or a serious illness. 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 College of Computing and Digital Media. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.
Resources for 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 either the PLuS Program, for Learning Disabilities and/or AD/HD, or the Office for Students with Disabilities, for all other disabilities, at:
Student Center, LPC, Suite #370
Phone number: (773) 325-1677
Fax: (773) 325-3720
TTY: (773) 325-7296