Jordan University of Science & Technology

advertisement
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
Download