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.
dianne.hansford@asu.edu
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
Objectives
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
Textbook
Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne is the required textbook.
See the Web Resources section
Website
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
- Lectures, videos,
and demonstrations in class
-- learn why the topic is important, learn the fundamentals, and see it at work
- Homeworks:
course topic + writing component
-- learn the topic, implement in Java, and learn to communicate
- In-class exercises and quizzes:
practice key concepts of the day
-- bring paper, pencil, and eraser to class and be prepared to work on examples
- Students are expected to attend class and participate.
Evaluation
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.
Grading
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.