تعلم كيفية حساب تعقيدات الخزن والوقت للخوارزميات التكرارية (Iterative Algorithms) وخوارزميات الاستدعاء الذاتي (Recursion Algorithms) وباستخدام طرق تخمين التعقيدات المختلفة
تعلم أهم أنواع الخوارزميات وكيفية التعبير عن الخوارزمية و فهم الفرق بين الخوارزمية والبرنامج.
تعلم كيفية حساب تعقيدات الخزن والوقت للخوارزميات التكرارية (Iterative Algorithms) وخوارزميات الاستدعاء الذاتي (Recursion Algorithms) وباستخدام طرق تخمين التعقيدات المختلفة.
تعلم كيفية حساب تعقيدات الوقت بالحالات الأفضل و الأسوأ والمتوسطة للخوارزميات.
معرفة كيفية قياس انجازية الخوارزميات.
التعرف على فكرة تصميم الخوارزميات مثل Divide-and-Conquer وGreedy Method وDynamic Programming و Backtrackingو Branch-and-Bound وكيفية تطبيقها في حل المشاكل من خلال اخذ بعض أمثلة المشاكل وكيفية حلها بهذه الخوارزميات.
هم مفهوم تحليل استهلاك الدين واهم تقنياته وكيفية تطبيقه.
فهم الخوارزميات المتوازية مع أهم تطبيقاتها و تعلم متى التوازي يمكن أن يستخدم.
تعلم نماذج (PRAM ) التي سينفذ عليها الخوارزميات المتوازية المصممة و تعلم كيفية كتابة خوارزمية متوازية باخذ بعض الامثلة.
التفاصيل الاساسية للمادة
Algorithms definition: it's conditions , types of algorithms, Algorithm analysis methods, The best, Average and worst case Analysis, and performance measurement with example, Divide-and-Conquer method, Greedy Method, Dynamic programming method, The Backtracking method, Branch and Bound method, Amortized Analysis, Introduction to Parallel Algorithms.
الكتب المنهجية
Horowitz, E., Sahni, S., and Rajasekaran, S. (1997).Computer Algorithms/C++, W.H.Freeman Press.
Neapolitan, R. and Naimipour, K.(2004). Foundations of Algorithms Using C++ Pseudocode, Third Edition, Jones and Bartlett Publishers.
المصادر الخارجية
Cormen,T. H., Leiserson,C. E., Rivest, R. L., and Stein, C.(2001). Introduction to Algorithms, Second Edition, MIT press.
Leiss , E. L.(2007). A Programmer’s Companion to Algorithm Analysis, Chapman & Hall/CRC.
Drozdek, A.(2001). data structures and algorithms in C++, 2nd Edition, Brokes/Cole.
parberry, I.(2001). Lecture notes on algorithm analysis and computational complexity, Fourth Edition, university of north texas.
parberry, I. and Gasarch, W.(2002). problems on algorithms, second Edition, I. parberry and W. Gasarch. Alsuwaiyel, M. H.(1999). Algorithms design techniques and analysis, world scientific publishing.
ATALLAH, M. J. (1999). Algorithms and theory of computation handbook, CRC Press.
Sahni, S.(1998). data structures, algorithms, and applications in c++, McGraw-Hill companies, Inc.
EDMONDS, J. (2008). HOW TO THINK ABOUT ALGORITHMS, Cambridge University Press.
McConnell, J. J.(2001). Analysis of Algorithms:An Active Learning Approach, Jones and Bartlett Publishers, Inc.
Miller, R. and Boxer, L. (2005).Algorithms Sequential and Parallel: A Unified Approach, 2nd Edition, Career & Professional Group, a division of Thomson Learning Inc.
Skiena, S. S.(2008). The Algorithm Design Manual, 2nd edition, Springer-Verlag London Limited
Kleinberg, J. and Tardos, E. (2006). Algorithm Design , 1st edition, Pearson Education, Inc..
تقديرات الفصل
الفصل الدراسي
المختبر
الامتحانات اليومية
المشروع
الامتحان النهائي
25%
10%
5%
-
60%
معلومات اضافية
تجرى ثلاث امتحانات نظرية من 25 لكل امتحان ناخذ اعلى درجتين ونقسمها على 2 فنحصل على السعي النهائي من 25 لكل امتحان وثلاث امتحانات عملية من 10 لكل امتحان تضاف لها درجة الامتحانات اليومية (5 ) فنحصل على ثلاث درجات من 15 ناخذ اعلى درجتين ونقسمها 2 نحصل على السعي النهائي من 15 اما الامتحان النهائي من 60 (40 للنظري و 20 للعملي)
جمهورية العراق
وزارة التعليم العالي والبحث العلمي
جهاز الاشراف والتقويم العلمي
أسم الجامعه: جامعة بابل
أسم الكلية: // العلوم للبنات
أسم القسم: علوم الحاسبات
أسم المحاضر: فرح محمد حسن الشريفي
اللقب العلمي: مدرس مساعد
المؤهل العلمي: ماجستير علوم الحاسبات
مكان العمل: كلية العلوم للبنات /جامعة بابل
جدول الدروس الاسبوعي
الاسبوع
التاريخ
المادة النظرية
المادة العلمية
الملاحظات
1
3/10/2013
Introduction to Algorithm Design and Analysis and reviewing the syllabus and study plan
Getting Started with VB.NET 2008
2
10/10/2013
Algorithms definition: it's conditions , Algorithm analysis methods : space and time complexity, Operations Count Method with examples
Language Principles of VB.net 2008
3
17/10/2013
step count method , Analysis of the recursion codes with step count method, some mathematical facts , summation formula and complexity analysis from pseudo-code
Simple Visual Basic Project
4
24/10/2013
complexity analysis by Asymptotic Notations with Examples
Writing and Using Procedures and functions .
5
31/11/2013
The best, Average and worst case Analysis with examples
Working with Forms
6
7/11/2013
performance measurement with examples
Basic Windows Controls
7
14/11/2013
Divide-and-Conquer method with binary search Example
This course aims to teach the students the capability of analysis all types of algorithms to To estimate how long an algorithm or program will run and to estimate the space requirements of the algorithms. It also give the students the ability To compare the efficiency of different algorithms for solving the same problem.this course also help the students focus your attention on the parts of the code that are executed the largest number of times. This is the code you need to improve to reduce the running time. This course will acquire the students the expertise to writing efficient programs that will be used to serve in different fields in the life effectively. Learning the students to the fundamentals of this course has great impact on writing large and efficient software and in different corporations that deals with the software, the education, and the commercials. This course aims to teach the students the capability of designing the efficient algorithms for any problem they face it. This course will acquire the students the expertise to writing efficient programs that will be based on the ideas of the design methods for algorithms, where, they will choose the appropriate design style according to the problem that will be solved. Learning the students to these design methods has great impact on writing large and efficient software in excellent algorithmic style that will guarantee the efficiency of resulted software
Course Description
Algorithms definition: it's conditions , types of algorithms, Algorithm analysis methods, The best, Average and worst case Analysis, and performance measurement with example, Divide-and-Conquer method, Greedy Method, Dynamic programming method, The Backtracking method, Branch and Bound method, Amortized Analysis, Introduction to Parallel Algorithms.
Textbook
Horowitz, E., Sahni, S., and Rajasekaran, S. (1997).Computer Algorithms/C++, W.H.Freeman Press.
Neapolitan, R. and Naimipour, K.(2004). Foundations of Algorithms Using C++ Pseudocode, Third Edition, Jones and Bartlett Publishers.
References
Cormen,T. H., Leiserson,C. E., Rivest, R. L., and Stein, C.(2001). Introduction to Algorithms, Second Edition, MIT press.
Leiss , E. L.(2007). A Programmer’s Companion to Algorithm Analysis, Chapman & Hall/CRC.
Drozdek, A.(2001). data structures and algorithms in C++, 2nd Edition, Brokes/Cole.
parberry, I.(2001). Lecture notes on algorithm analysis and computational complexity, Fourth Edition, university of north texas.
parberry, I. and Gasarch, W.(2002). problems on algorithms, second Edition, I. parberry and W. Gasarch. Alsuwaiyel, M. H.(1999). Algorithms design techniques and analysis, world scientific publishing.
ATALLAH, M. J. (1999). Algorithms and theory of computation handbook, CRC Press.
Sahni, S.(1998). data structures, algorithms, and applications in c++, McGraw-Hill companies, Inc.
EDMONDS, J. (2008). HOW TO THINK ABOUT ALGORITHMS, Cambridge University Press.
McConnell, J. J.(2001). Analysis of Algorithms:An Active Learning Approach, Jones and Bartlett Publishers, Inc.
Miller, R. and Boxer, L. (2005).Algorithms Sequential and Parallel: A Unified Approach, 2nd Edition, Career & Professional Group, a division of Thomson Learning Inc.
Skiena, S. S.(2008). The Algorithm Design Manual, 2nd edition, Springer-Verlag London Limited
Kleinberg, J. and Tardos, E. (2006). Algorithm Design , 1st edition, Pearson Education, Inc..
Course Assessment
Term Tests
Laboratory
Quizzes
Project
Final Exam
As (25%)
As (10%)
As (5%)
----
As (60%)
General Notes
University: University of babylon
College: science for women
Department: computer science
Stage:third
Lecturer name:Ali Kadhum Idrees
Academic Status: Assistant professor
Qualification: master in computer scince
Place of work:college of scince for women
Republic of Iraq
The Ministry of Higher Education
& Scientific Research
Course weekly Outline
week
Date
Topics Covered
Lab. Experiment Assignments
Notes
1
3/10/2010
Introduction to Algorithm Design and Analysis and reviewing the syllabus and study plan
Getting Started with VB.NET 2010
2
10/10/2010
Algorithms definition: it's conditions , Algorithm analysis methods : space and time complexity, Operations Count Method with examples
Language Principles of VB.net 2010
3
17/10/2010
step count method , Analysis of the recursion codes with step count method, some mathematical facts , summation formula and complexity analysis from pseudo-code
Visual Basic Projects
4
24/10/2010
complexity analysis by Asymptotic Notations with Examples
Writing and Using Procedures .
5
31/11/2010
The best, Average and worst case Analysis with examples
Working with Forms
6
7/11/2010
performance measurement with examples
Basic Windows Controls
7
14/11/2010
Divide-and-Conquer method with binary search Example
Basic Windows Controls
8
21/11/2010
First Exam
The TreeView and ListView Controls
9
28/11/2010
Divide-and-Conquer method for Merge sort problem
Printing with VB.NET
10
5/12/2010
Divide-and-Conquer method for Quick sort problem
First Exam
11
12/12/2010
Greedy Method with knapsack problem example
Implement the performance measurement
12
19/12/2010
Greedy Method for optimal storage pattern, optimal merge pattern, single source shortest path problem ( Dijkstra Algorithm )
Implement the Divide-and-Conquer method with binary search
13
26/12/2010
Greedy Method for scheduling problem
Implement the Divide-and-Conquer method for Quick sort
14
2/1/2011
Dynamic programming method with multistage graph problem
Implement the Greedy Method for optimal storage pattern, optimal merge pattern, single source shortest path problem ( Dijkstra Algorithm )
15
9/1/2011
All pair paths and Belman-Ford Algorithm
Implement the Greedy Method for scheduling problem
16
16/1/2011
The Backtracking method with n-Queens problem Example
Implement the Dynamic programming method with multistage graph problem
Half-year Break
17
6/2/2011
The Backtracking method for Graph coloring problem
Implement the All pair paths and Belman-Ford Algorithm
18
13/2/2011
Second Exam
Implement the The Backtracking method with n-Queens problem
19
20/2/2011
The Backtracking method for 0/1 knapsack problem
Implement the The Backtracking method for Graph coloring problem
20
27/2/2011
The Backtracking method for the sum-of-subset problem
Second Exam
21
6/3/2011
Branch and Bound method
Implement the The Backtracking method for 0/1 knapsack problem
22
13/3/2011
Branch and Bound for 0/1 knapsack problem
Implement the The Backtracking method for the sum-of-subset problem
23
20/3/2011
Branch and Bound for travelling sale man problem
Implement the Branch and Bound for 0/1 knapsack problem
24
27/3/2011
Amortized Analysis
Implement the Branch and Bound for travelling sale man problem
25
3/4/2011
Amortized Analysis
Implement the Amortized Analysis examples
26
10/4/2011
Amortized Analysis
Implement the Parallel Searching
27
17/4/2011
Third Exam
Implement the Parallel Sorting
28
24/4/2011
Introduction to Parallel Algorithms
Third Exam
29
1/5/2011
Introduction to Parallel Algorithms
Implement the Linear Network Sort
30
8/5/2011
Introduction to Parallel Algorithms
Implement the Odd-Even Swap Sort
31
15/5/2011
Introduction to Parallel Algorithms
Implement the Shortest-Path Parallel Algorithm
32
22/5/2011
Introduction to Parallel Algorithms
Implement the Matrix Multiplication on a Parallel Mesh