CSC 402 Data Structures I
Summary
This is the first course in a two-course sequence on data structures using Java.
The course introduces basic Java programming, reviews recursion, introduces asymptotic notations, and focuses on linear data structures including arrays, linked lists and their variants, stacks and queues, and data structures supporting disjoint-set operations.
The implementation of the basic operations on each data structure are discussed and analyzed in terms of their efficiency. The applications covered highlight and exploit the unique characteristics of the data structures, and emphasize problem solving and recursive thinking.
Texts
http://algs4.cs.princeton.edu/home/ (check DePaul ELibrary. OReilly Section)
https://introcs.cs.princeton.edu/java/home/ (Check DePaul ELibrary.)
https://learning.oreilly.com/videos/computer-science/9780134465951/ (check DePaul ELibrary. OReilly Section)
Prof. James Riely Notes and Lectures. http://fpl.cs.depaul.edu/jriely/ds1/index.html (We will use these as a guideline, but proceed at our own pace, with our own assignments)
Grading
Weekly Assignments: 30%
Exams/Quizzes: 70%
No late assignments will be accepted.
Prerequisites
Objectives
Basic OO programming techniques
Use of debuggers
Use of testing
Understanding correctness of programming
Understanding performance characteristics of programs
Competence with iterative and recursive solutions to problems
Knowledge
Understanding of linked lists and resizable arrays
Understanding of stacks, queues, dequeues.
Understanding of heaps.
Understanding of union-find.
SI
This course was selected to participate in DePaul's Supplemental Instruction (SI) program. SI is a series of online weekly review sessions designed to help students succeed in their academic pursuits. SI is for ALL students who want to enhance their understanding of course material and improve their grades. On average, over 90% of students who attended 6 or more SI sessions passed the course; therefore, we encourage you to participate in as many SI Sessions as possible and to begin attending early on in the quarter.
At each session you will be guided through the material by your SI Leader, a current DePaul student who has previously taken the course and done well. The online sessions offer a chance to meet with classmates to compare notes, discuss important concepts, develop strategies for studying, and test yourselves before quizzes and exams. (2) 1-hour live Zoom SI Sessions will take place virtually each week. These sessions will also be recorded and accessible in SI Slack for students who have a schedule conflict. Please be sure to use the SI Leaders' instructions to join SI Slack.
Java and Eclipse: Arrays, Iteration and Recursion (1.1)
Induction, Iteration and Recursion
Simple Objects and Linked Structures
Mutating Linked Structures (1.3)
Union Find and Intro to Analysis
Intro to Analysis
Resizing Arrays
Elementary Sorts, Objects as Data:
Priority Queues and Heaps
Mergesort
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.
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.
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.
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 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