CSC 210 Data Structures and Algorithms
Fall 2015

Course Description

CSC 210 Data Structures and Algorithms (3.00)

Structures, techniques, and algorithms for managing data. Topics include variations of linked lists; binary trees, B- trees, and other types of search trees; advanced searching and sorting algorithms; graphs and graph algorithms; and analysis of algorithms. Programming required. Prereqs: CSC 161.

Instructor Accessibility

My office is in Carnegie Hall 311 B. You can stop by in person, or call my office at 630-637-5174. If I am not at the office and you need immediate attention, you can call me at home at 630-759-2110. You can email me at Fall term office hours are Mondays and Wednesdays 4:30- 6:00 pm; Tuesdays and Thursdays 5:00-6:00 pm.

I can also see you by appointment.

Course Textbooks

The class textbook is Gaddis and Muganda, Starting Out with Java, From Control Structures to Data Structures, Third Edition, Pearson, 2016

Course Outline

Course Topics Chapters
1 Data Types, Interfaces, Anonymous Classes, and Lambda Expressions, Lists, Sets, and Maps. Section 10.9
2 Collections and The Streams API Chapter 19
3 Linked Lists Chapter 20
4 Stacks and Queues Chapter 21
5 Binary Trees Chapter 22
6 Advanced Sorting and Analysis of Algorithms Section 17.3
7 Graphs and Graph Algorithms Dasgupta, Chapter 3
8 Depth-First and Breadth-First Search Dasgupta, Chapters 3, 4
9 Shortest Paths and Minimum Spanning Trees Dasgupta, Chapters 4, 5
10 AVL Trees, Red-Black Trees Chapter 22; TBA

Schedule of In-class Quizzes and Tests

All tests and quizzes will be on Mondays unless otherwise announced.

Class Event Date Percent Weight
Quiz 1 Week 3 5%
Test 1 Week 5 15%
Test 2 Week 8 15%
Final Exam Week 11 25%

In addition to the tests, there will be a number of homework/ programming assignments. These will will count for 40% of the course grade. They will be designed to help you understand course concepts and prepare you for the in-class quizzes and tests. Some of the tests and quizzes may involve writing short programs based on the concepts covered in lectures and in the programming assignments.

Email Communication

All assignments and projects must be submitted via email using your College email account. and must have a subject that begins with CSC 210 Submission, followed by the assignment or project being submitted. For example, CSC 210 Submission of Project 1, or CSC 210 Submission of Homework 3. When asking a question or requesting help via email, your subject must begin with CSC 210 Help: ...

Late Policy

All assignments and projects should be turned in by midnight on the day due. A 10% penalty will be assessed on projects turned in late, but in general this penalty will not be levied if the assignment is turned in before I have completed grading the batch of assignments to which it belongs. No assignment/project turned in after the due date for the next assignment/project will be graded. I will make an exception to this rule for students who have been coming to see me for help, where I judge that the student is reasonably close to getting the assignment or project done.

Policy on Missed Quizzes and Tests

In-class tests and quizzes missed without a legitimate excuse cannot be made up. If you have to miss quiz or test (for some legitimate reason) please let me know at least a week before and I will make arrangements for a make up. In the event some unexpected reason beyond your control prevents you from being in class on the day of a test, contact me as soon as possible by phone or email to arrange a make up.

Ethics Policy / Academic Dishonesty.

No student should turn in for grading work that has been done by someone else, or work on which they have received help but which they do not understand. Any work turned in by a student will be considered to have been plagiarized if the student can not explain it when requested to do so by the instructor. It will also be considered to have been plagiarized if there is clear evidence that the work has been copied from another source, even if the student can explain it.