Undergraduate
Faculty of Science and Letters
Mathematics And Computer Science
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.


Algorithm Analysis and Design

Course CodeSemester Course Name LE/RC/LA Course Type Language of Instruction ECTS
MB6002 6 Algorithm Analysis and Design 2/2/0 CC Turkish 5
Course Goals
The goals of this course are to study several fundemantal algorithms which are used to solve conventional computational problems and to introduce some mathematical methods and tools that are useful in the analysis of algorithms.
Prerequisite(s) None
Corequisite(s) None
Special Requisite(s) Proficiency in programming, data structures, basic math (series, matrices) and (in order to follow the course resources) basic English knowledge are necessary and sufficient.
Instructor(s) Lecturer Muharrem Altunışık
Course Assistant(s) None
Schedule Thursday / 09:00-12:50 / Ataköy Campus 2nd Basement Floor Computer Laboratory 2 - B2FEFPC2
Office Hour(s) Wednesday / 11.00-13.00 / Incirli Campus 1st Floor A Corridor 1A09 Academician Room
Teaching Methods and Techniques - Lecture

- Implementations of the algorithms using C# in Computer Lab.
Principle Sources - Algorithm Design – Jon Kleinberg & Éva Tardos
Other Sources
Course Schedules
Week Contents Learning Methods
1. Week Introduction and Review of Basic Concepts Oral presentation, implementation
2. Week Tree Data Structures Oral presentation, implementation
3. Week Binary Search Trees (BST) Oral presentation, implementation
4. Week Balanced Trees Oral presentation, implementation
5. Week Stacks and Queues Oral presentation, implementation
6. Week Hash Tables Oral presentation, implementation
7. Week Midterm Exam Midterm Exam
8. Week Graph Data Structures Oral presentation, implementation
9. Week Graph Traversing Algorithms Oral presentation, implementation
10. Week Shortest Path Algorithms Oral presentation, implementation
11. Week Least Cost Covering Trees Oral presentation, implementation
12. Week Dynamic Programming and Backtracking Oral presentation, implementation
13. Week Divide and Conquer and General Repetition Oral presentation, implementation
14. Week Finals Week Exam
15. Week Finals Week Exam
16. Week Finals Week Exam
17. Week Finals Week Exam
Assessments
Evaluation tools Quantity Weight(%)
Midterm(s) 1 25
Homework / Term Projects / Presentations 1 25
Final Exam 1 50


Program Outcomes
PO-1Interpreting advanced theoretical and applied knowledge in Mathematics and Computer Science.
PO-2Critiquing and evaluating data by implementing the acquired knowledge and skills in Mathematics and Computer Science.
PO-3Recognizing, describing, and analyzing problems in Mathematics and Computer Science; producing solution proposals based on research and evidence.
PO-4Understanding the operating logic of computer and recognizing computational-based thinking using mathematics as a discipline.
PO-5Collaborating as a team-member, as well as individually, to produce solutions to problems in Mathematics and Computer Science.
PO-6Communicating in a foreign language, and interpreting oral and written communicational abilities in Turkish.
PO-7Using time effectively in inventing solutions by implementing analytical thinking.
PO-8Understanding professional ethics and responsibilities.
PO-9Having the ability to behave independently, to take initiative, and to be creative.
PO-10Understanding the importance of lifelong learning and developing professional skills continuously.
PO-11Using professional knowledge for the benefit of the society.
Learning Outcomes
LO-1The student studies different algorithms for many of the most common types of standard algorithmic problems such as sorting, searching and graph problems
LO-2The student analyses the time and space complexity and correctness of the algorithms using theoretical tools and mathematical techniques
LO-3The student becomes proficient in the application of fundamental algorithm design techniques (e.g.,divide and conquer, greedy algorithms, dynamic programming)
LO-4The student develops programs using different problem-solving approaches, and be able to recognize when a particular approach is most useful
LO-5The student gains the ability to design and implement a program to model a real-world system, and subsequently analyze its behavior
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11
LO 1
LO 2
LO 3
LO 4
LO 5