Jordan University of Science & Technology Faculty of Computer & Information Technology Computer Science Department Year: 2006/2007 Semester: Fall Course Information Course Title Algorithms Course Number Prerequisites CS 284 CS 211 Data Structures & MATH 241 Discrete Mathematics Course Website Instructors www.cs.just.edu.jo then select faculty then my name Dr. Eyas Qawasmeh Office Location Office Hours D3 level 0 ( One floor up the from the chemistry department ) Sun, Tue, Thr 10:15-11:15, and Tue from 9:15-10:15 eyas@just.edu.jo E-mail Text Book Title Introduction to Algorithms Author(s) Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, & Clifford Stein Publisher The MIT Press Year 2001 Edition Second Edition Book Website http://mitpress.mit.edu/algorithms/ & http://highered.mcgraw-hill.com/sites/0070131511/student_view0/ References Sara Baase and Allen Van Gelder, “Computer Algorithms: Introduction to Design and Analysis”, Third Edition, Addison-Wesley, 2000. Michael T. Goodrich and Roberto Tamassia, “Algorithm Design – Foundations, Analysis, and Internet Examples” John Wiley & Sons, Inc., 2002. Ellis Horowitz and Sartaj Sahni, “Fundamentals of Computer Algorithms”, 1988. Gilles Brassard and Paul Bratley, “Fundamentals of Algorithmics”, Prentice Hall International Editions, Englewood Cliffs, NJ 1996. Thomas H. Cormen, Charles Leiserson and Ronald L. Rivest, “Introduction to Algorithms” McGraw Hill, 1990. Assessment Policy 1 Assessment Type Expected Due Date Weight First Exam TBA 25% Second Exam TBA 25% Final Exam TBA Many times during the semster 40% Activities (Quizzes, homeworks, etc.) 10% Course Objectives To provide a thorough treatment of the concepts and design principles of contemporary Computer Algorithms. To present time and space complexity of algorithms. To measure the efficiency of algorithms. To design and analyze various sorting algorithms such as insertion, merge, quick, and heap sort. To design and analyze various searching algorithms such as breadth-first and depth-first search. To select best algorithm for a certain problem. To design different algorithmic approaches. Teaching & Learning Methods Class lectures, lecture notes, and quizzes are designed to achieve the course objectives. You should read the assigned chapters before class, and participate in class and do whatever it takes for you to grasp this material. Also, ask any question related to Computer Algorithms. You are responsible for all material covered in the class. Please communicate with me regarding any concerns or issues related to Computer Algorithms by either in class, phone or email. The web page is a primary communication vehicle. Lecture notes and syllabus are available on the web. Learning Outcomes Upon successful completion of this course, students: should know basic terms associated with algorithms, such as Big O, Big Omega, Big Theta, etc. should know basic terms associated with graphs, such as directed and undirected graphs, path, cycle, strongly and weakly connected graphs, tree and forest, etc. should understand, design and analyze various sorting algorithms such as insertion sort, merge sort, quick sort, heap sort, etc. should understand, design, and analyze various searching algorithms such as breadth-first search, depth-first search, etc. Course Content 2 Number of Weeks (1 Week) (2 Week) (2 Week) (1 Week) (3 Weeks) (1 Week) (4 Weeks) (2 Week) Topics Introduction What is an algorithm? Algorithms as a Technology; Components of an Algorithm; Example: Greatest Common Divisor; Algorithm’s Efficiency. Getting Started Insertion Sort; Analyzing and Designing Algorithms; Merge Sort (Divide and Conquer). Growth of Functions Complexity (Worst-Case, Best-Case, and Average-Case); Example: Sequential Search; Growth Rates of Functions (Polynomials, Exponents, Logarithms, Summation, and Factorials); Proofs (By Counterexample, Contradiction, and Induction). Recurrences and Induction Induction Proofs; Recurrence Equations; Recurrence Trees; Substitution Method; Iteration Method; Master Method. Heap Sort Heap Property; Build Heap; Heap Sort; Performance Comparisons (Insertion Sort, Merge Sort, and Heap Sort); Application: Max-Priority Queues; Basic Operations on MaxPriority Queues (Max, Extract-Max, Increase-Key, and Insert). Quick Sort Advantages and Disadvantages; Partitioning (Choice of Pivot: Rightmost element, Randomly, and Median of three (first, last, and middle)); Worst, Best, and Average Case Partitioning; Randomized Quick Sort. Graphs Graph Terminologies; Representations of graphs; Breadth-First Search; Depth-First Search. Minimum Spanning Trees Growing a Minimum Spanning Tree; Algorithms of Prim and Kruskal. Chapter in Text chap-1 from Slides 2 3 4 6 7 22 23 3 Additional Notes No make up quizzes. Usually, quizzes are determined. Each Quiz is out of 10. If five quizzes or more are given then the lowest quiz’s grade is dropped. The format for the exams is generally (but NOT always) as follows: General Definitions, Multiple-Choice, True/False, Analyze a Problem, Short Essay Questions, and etc. Makeup Exams Makeup exam should not be given unless there is a valid excuse. Drop Date Last day to drop the course is before the twelve (12th) week of current semester. Cheating or copying on exam or quiz is an illegal and unethical activity. Standard JUST policy will be applied. All graded assignments must be your own work (your own words). Excellent attendance is expected. JUST policy requires the faculty member to assign ZERO grade (35) if a student misses 10% of the classes that are not excused. Sign-in sheets will be circulated. If you miss class, it is your responsibility to find out about any announcements or assignments you may have missed. Quizzes Exams Cheating Attendance Workload Graded Exams Average work-load student should expect to spend 6 hours per week. Instructor should return exam papers graded to students not after the week after the exam date. Participation in and contribution to class discussions will affect your final grade positively. Raise your hand if you have any question. Making any kind of disruption and (side talks) in the class will affect you negatively. Participation 4