CS 321 Data Structures (Spring 2019)
Instructor: Jyh-haw Yeh
Office: CCP 247 Phone: 426-3034 email: firstname.lastname@example.org
Class Time: TTH 4:30 - 5:45 PM Location: CCP 259
|TA and Tutor
| (TA) Farjana Yesmin (Tutor) Sean O'Toole (Tutor) Tuan Nguyen
|| Check Tutoring Center Schedule
|| Kount Tutoring Center (CCP 241)
- Introduction to Algorithms, 3rd Edition, McGraw-Hill by T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein.
At the end of the course, students will be
- able to apply the most efficient known algorithms to solve searching and sorting problems.
- familiar with variety of different data structures and their appropriate usage.
- able to choose appropriate data structures to implement algorithms.
- able to apply basic graph search algorithms (such as BFS and DFS) to applications.
Sorting, searching, and order statistics. Further data structures: trees, priority queues, dictionaries,
balanced search trees, B-Trees, heaps, hash tables, and graphs.
- CS 221: Computer Science II
- MATH 189: Discrete Mathematics
- CS-HU 271: Agile Development
- CS-HU 310: Intro to Database System Usage
Course Outline Topics:
|Getting Started (Chapter 2) and Introduction to Asymptotic Notations (Big-Oh, Theta, and Big-Omega)
|Sorting (Chapter 6, 7, 8)
|Basic Data Structures (Chapter 10)
|Hash Tables (Chapter 11)
|Trees (Concept & Terminology, Expression Trees)
|Search Trees (Chapter 12 Binary Search Trees, AVL Trees, and Chapter 18 B-Trees)
|Graph Algorithms (Chapter 22, 23)
|Exams & Review
|Programming Assignments Discussion
Design and Analysis:
- Students will get programming design experience in this course
- Students will get efficiency analysis experience in this course
- 3 Homeworks and 4 Programs: 50%
- Test 1: 15%
- Test 2: 15%
- Final: 20%
Final Grade: You are guaranteed to receive at least the grade as follows (I reserve the right to lower the cutoffs if I feel it is appropriate).
- 89 <= A- < 90 <= A < 97 <= A+
- 79 <= B- < 80 <= B < 87 <= B+
- 69 <= C- < 70 <= C < 77 <= C+
- 59 <= D- < 60 <= D < 67 <= D+
- F < 59
- Homeworks will not be accepted late.
- Programming assignments must be submitted
electronically to the
instructor by 11.00PM of the due date to avoid any penalty.
Within one week after the deadline, you can still submit your assignment.
However, 20% late submission penalty
will be applied.
No submission will be accepted after one week past the due date.
- All students should submit correct and complete files to the instructor. Any
accidentally wrong or incomplete submission may need to submit again and incur
the late submission penalty.
The points you can get for incorrect programs are as follows.
- Can not be compiled or run time error: no points.
- Wrong answer: Varying from 0% to 80% points depends on the answer.
- Each student must work independently unless specified otherwise.
- Determination of academic dishonesty is at the discretion of the instructor of the course within the policy guidelines of the University.