CS 321
CS 321 Data Structures (Spring 2019)
Instructor: Jyhhaw Yeh
Office: CCP 247 Phone: 4263034 email: jhyeh@boisestate.edu
Class Time: TTH 4:30  5:45 PM Location: CCP 259
Office Hours:
Teaching Assistant:
TA and Tutor 
Office Hours 
Location 
(TA) Farjana Yesmin (Tutor) Sean O'Toole (Tutor) Tuan Nguyen 
Check Tutoring Center Schedule

Kount Tutoring Center (CCP 241)

Textbook:
 Introduction to Algorithms, 3rd Edition, McGrawHill by T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein.
Course Objectives:
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.
Catalog Description:
Sorting, searching, and order statistics. Further data structures: trees, priority queues, dictionaries,
balanced search trees, BTrees, heaps, hash tables, and graphs.
Prerequisites:
 CS 221: Computer Science II
 MATH 189: Discrete Mathematics
Corequisites:
 CSHU 271: Agile Development
 CSHU 310: Intro to Database System Usage
Course Outline Topics:
Topics 
Lectures 
Getting Started (Chapter 2) and Introduction to Asymptotic Notations (BigOh, Theta, and BigOmega) 
2 
Sorting (Chapter 6, 7, 8) 
5 
Basic Data Structures (Chapter 10) 
1 
Hash Tables (Chapter 11) 
2 
Trees (Concept & Terminology, Expression Trees) 
3 
Search Trees (Chapter 12 Binary Search Trees, AVL Trees, and Chapter 18 BTrees) 
5 
Graph Algorithms (Chapter 22, 23) 
3 
Exams & Review 
5 
Programming Assignments Discussion 
4 
Design and Analysis:
 Students will get programming design experience in this course
 Students will get efficiency analysis experience in this course
Grading:
 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
Grading Policy:
 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.
Academic Honesty:
 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.