Professional Documents
Culture Documents
CS 284 Algorithms
Summer 2012-2013
Course Catalog
3 Credit hours (3 h lectures). This course is an introductory course to the design, implementation and analysis of computer algorithms. Topics covered include the growth of functions, the time complexity of algorithms, recurrence relations and their solutions, the design and analysis of various sorting algorithms (insertion, merge, quick, and heap sort), graph searching algorithms (breadth-first and depth-first search), and spanning trees. Programming projects.
Text Book(s) Introduction to Algorithms Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, & Clifford Stein The MIT Press 2009 Third Edition
References
Books
Recent references available at JUST university library (book name, author, year, copies available)
1. 2. 3. 4. 5.
Introduction to the design & analysis of algorithms, Anany Levitin., 7002,1 Data structures and algorithms using Visual Basic.NET, Michael McMillan, 7002,1 Algorithm design , Jon Kleinberg, Eva Tardos, 7002,4 Algorithms, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, 7002,7 Data structures and algorithm analysis in C++, Mark Allen Weiss, 7002,4
6. 7.
Data structures and algorithms in C++, Adam Drozdek. , 7002,4 Data structures and algorithms using C#, Michael McMillan. , 7002, 7
8. Structuring data and building algorithms: an ANSI-C based approach, Ian Chai, Jonathan David White, 7002,7 9. Algorithm design, Jon Kleinberg, Eva Tardos. , 2006,
to algorithms, Thomas Rivest, Clifford
11. Concrete Mathematics: A Foundation for Computer Graham, Donald E. Knuth, Oren Patashnik, 2nd Edition, 1994.
Internet links
http://mitpress.mit.edu/algorithms/ http://highered.mcgraw-hill.com/sites/0070131511/student_view0/
Instructors
Instructor
maalshbool@just.edu.jo
Office Hours
Sunday, Monday, Thursday 11:00-12:00 Tuesday, Wednesday 10:30-11:30
Teaching Assistant
Prerequisites
Prerequisites by course
Tentative Schedule
Week
1 1
Topic Details algorithm, mathematical background, analysis criteria, algorithm complexity, Time and Space efficiency Worst- and average-case efficiency analysis, space usage, Classifying function by their growth rate Asymptotic notations, Big-Oh, Big-Theta, Big-Omega notations. Representation of time complexity using recurrence functions/relations, Using the recursion tree. Insertion Sort and its analysis, Tracing examples, best-case and worstcase time complexity analysis. Merge Sort and its analysis, overlapping lists, Merge Sort strategy and analysis.
Chapter
Chp.1 Chp.3
2
2 3 3
Solving recurrences Sorting Algorithms- Insertion Sort Sorting Algorithms- Merge Sort
FIRST EXAM
4 4 5 5
Priority Queues, Heap, and Heap Sort Sorting Algorithms- Quick sort Graph Optimization Problems
Array Representation of Heaps, Heap Types, Operations on Heaps. Heapsort, analysis of the operations on heaps Quick Sort and its analysis, Quick Sort strategy and analysis. Graph Concepts and definitions, computer representation, breadth- first searches and their analysis using different graph representation methods. SECOND EXAM
6 7
Graph Concepts and definitions, computer representation, depth first searches and their analysis using different graph representation methods. Minimum Spanning Tree (MST) implementation, Kruskal's MST algorithm, Prim's MST algorithm, time and space analysis. Shortest path Algorithm, Greedy algorithmic methods straightforward solutions, Dijkistras single-source shortest path and
8 8
Dynamic Programming
Chp.25
Final Exam
Evaluation
Assessment Tool Quizzes+Activities First Exam Second Exam Final Exam Expected Due Date Upon notification in the previous class According to the department schedule According to the department schedule According to the University final examination schedule Weight 10% 25 % 25 % 40 %
Policy
Attendance Attendance is very important for the course. In accordance with university policy, students missing more than 10% of total classes are subject to failure. Penalties may be assessed without regard to the student's performance. Attendance will be recorded at the beginning or end of each class. Students are expected to keep up with the material as it is presented and submit assignments on time. All exams will be CLOSE-BOOK; necessary algorithms/equations/relations will be supplied as convenient. The date of the Exams will be scheduled later.
Homework/Lab
Exams