CIS 23 Analysis of Algorithms
Goal
Be able to write or use efficient computer algorithms to solve problems.
Performance Objectives
Given a problem, student will design an efficient algorithm to solve it.
Given an algorithm, student will determine the time (and space) resources used (as a function of input size).
Student will study well known algorithms.
Texts
Required: Introduction to Algorithms, Cormen, Leiserson Rivest and Stein ( 2nd edition)
It is assumed that you will do the reading without being told.
Chapters 1, 2, 3, 4 (Sections 2, 3)
Appendix B and Appendix C (section 1,2) ( You are responsible for this material. We may not go over it since it is CIS 11.)
6, 7, 8, 9 (section 1, 2, 3)
10 (You are responsible for the material in this chapter. We will not go over it since it is CIS 22.)
11, 12, 13, 15, 16, 22, 23, 24, 25, 32, 34.
Order may vary. Other topics may be covered. Some sections may be omitted.
Recommended:
Computer Algorithms, Baase and Van Gelder (3rd edition )
The Design and Analysis of Computer Algorithms, Aho, Hopcroft and Ullman
Grade
Exam1 23%
Exam2 23%
Substantial Programming Project 10%
Final 34%
Homework 10%
There will be homework almost every class. Some exam questions will be similar to the homework. You must submit the homework within a week. There will be a penalty for lateness. Homework must be neat and clear.
Class participation may change your grade.
Prerequisites
CIS11 and CIS22 – known well
Recursion
Sets
Probability
Logs
Linked Lists
Stacks
Queues
Trees
Binary (Search) Trees
Graphs (I wish)
Matrices
Problem Solving
Exchange phone numbers or e-mail addresses with a classmate.
Any attempt to cheat is grounds for failure.
You need a good scientific calculator for homework and exams. ( I like Sharp E L 506 R but there are newer models.)