The goal of this course is to introduce students the advanced techniques for algorithm analysis and design.
Prerequisite(s)
None
Corequisite(s)
None
Special Requisite(s)
Algorithm Analysis and Design lecture is required to be taken during undergraduate education. Basic programming skills in C/C++ and (in order to follow the course resources) adequate English knowledge are also necessary to follow this course.
- Lecture
- Implementations of the algorithms using C/C++.
Principle Sources
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Introduction To Algorithms, 3rd ed, The MIT Press, 2009.
Other Sources
- Michael T. Goodrich, Roberto Tamassia,Algorithm Design : Foundations, Analysis and Internet Examples, John Wiley & Sons Inc., 2002.
- MIT OpenCourseWare Web Site : http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/
Computational Geometric Algorithms : Line Segment Algorithms, Finding the Closest Pair of Points
Lecture, Implementation
15. Week
Final Exams Week
Exam
16. Week
Final Exams Week
Exam
17. Week
Final Exams Week
Exam
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
30
Homework / Term Projects / Presentations
1
10
Final Exam
1
50
Program Outcomes
PO-1
Have scientific research in mathematics and computer science in the level of theoretical and practical knowledge.
PO-2
On the basis of undergraduate level qualifications, develop and deepen the same or a different areas of information at the level of expertise, and analyze and interpret by using statistical methods
PO-3
Develop new strategic approaches for the solution of complex problems encountered in applications related to the field and unforeseen and take responsibility for the solution.
PO-4
Evaluate critically skills acquired in the field of information in the level of expertise and assess the learning guides.
PO-5
Transfer current developments in the field and their work to the groups inside and outside the area supporting with quantitative and qualitative datas as written, verbal and visual by a systematic way.
PO-6
Use information and communication technologies with computer software in advanced level.
PO-7
Develop efficient algorithms by modeling problems faced in the field and solve such problems by using actual programming languages.
PO-8
Respect to social, scientific, cultural and ethical values at the stages of data collection related to the field, interpretation, and implementation.
PO-9
To solve problems related to the field, establish functional interacts by using strategic decision making processes.
PO-10
Establish and discuss in written, oral and visual communication in an advanced level by using at least one foreign language.
Learning Outcomes
LO-1
The student remembers previously learned knowledge about algorithms, asymptotic notation and fundemantal algorithm design techniques.
LO-2
The student analyses the time and space complexity and correctness of the algorithms using theoretical tools and mathematical techniques.
LO-3
The student studies efficient algorithms for a number of fundamental problems.
LO-4
The student learns techniques for designing complex algorithms.
LO-5
The student develops programs using different problem-solving approaches, and be able to recognize when a particular approach is most useful.