Algorithms (MATE6682)

Latest Course Syllabus-ABET Style () (PDF)

Credits: 3
Students should take this course at: 2nd Year - 1st Semester


This is a hybrid (on–line and face–to–face) course that teaches solid foundations to solve computational problems with an algorithmic approach. In this course we present advanced design techniques such as greedy methods, divide–and–conquer, dynamic programming, and randomized algorithms. Asymptotic notation as well as amortized analysis is introduced as means to measure complexity of algorithms. Most of the examples are related to bioinformatics and graph applications. An introduction to parallel algorithms is given through the model of dynamic multithreading programming. Finally, an introduction to NP–completeness is presented.