CPI 220: Applied Data Structures and Algorithms

CIDSE at Arizona State University
Fall 2017  * T & TH 3:00 - 4:15am  *  CDS15

Instructor: D. Hansford, Ph.D.

Office: BYENG 346
Office Hours: T, TH 10:30-11:30 and by appointment

Home Page          Class Log

Course Description

This course is an introduction to algorithms and data structures that are used in the development of software. The topics covered in this class include
1) data types: bags, stacks, queues, union-find
2) analysis of algorithms
3) sorting: mergesort, quicksort, priority queues
4) searching: binary search trees, hash tables
5) graphs: breadth-first search, depth-first search, Prim, Kruskal, Dijkstra
6) strings: sort, tries, Knuth-Morris-Pratt substring search, data compression
7) advanced topics: B-trees, K-d trees, suffix arrays, network flow



This course has three main goals:
1) Attain knowledge of key concepts in data structures and algorithms
2) Apply these concepts to real world problems
3) Develop creativity and critical thinking skills

Pre-requisites: CSE 205 (Object-oriented Programming with Java) with C or better


Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne is the required textbook.
See the Web Resources section


This page and the class log are the primary webpages for this course.
Blackboard will be used for turning in assignments and posting announcements.
The textbook's website contains resources that we will use.

Course Structure


4 programming projects: 40% (each 10%)
Quizzes: 10%
Mid-term test: 25%
End-term test: 25%

No team work on the programming assignments

Late programming projects will be discounted at a rate of 5% per day.

Missed tests may be made-up and assignment extensions given if a valid excuse is presented with documentation. If you have a personal or family emergency that causes you to get behind in the class, please let me know and we can make a plan. Also, the University has policies regarding religious holidays and sanctioned events. Please notify me if these situations apply to you.


Accumulated score rounded up to nearest integer and letter grade assigned by rule:
A: 90-100, B: 80-89, C: 70-79, D: 60-69, E: <60

"Plus grades" (A+, B+, etc) are earned through above average class participation.

Disability Resource Center

Please check the website for ASU's Disability Resource Center for assistance.

Academic Integrity

Violations of the University Academic Integrity policy will not be ignored.   Penalties include reduced or no credit for submitted work, a failing grade in the class, a note on your official transcript that shows you were punished for cheating, suspension, expulsion and revocation of already awarded degrees.  The university requires that should I implement any of these penalties, I must report the matter to the Dean's office. Please visit the university academic integrity policy webpage.

Also see: Student's Rights and Responsibilities, Code of Conduct, and policies to create a safe learning environment.

Title IX is a federal law that provides that no person be excluded on the basis of sex from participation in, be denied benefits of, or be subjected to discrimination under any education program or activity.  Both Title IX and university policy make clear that sexual violence and harassment based on sex is prohibited.  An individual who believes they have been subjected to sexual violence or harassed on the basis of sex can seek support, including counseling and academic support, from the university.  If you or someone you know has been harassed on the basis of sex or sexually assaulted, you can find information and resources at the university's sexual violence education webpage