Graduate

COT 5407: Algorithms Essentials

The aim of this course is to develop students’ abilities to analyze the correctness and complexity of algorithms, including graph algorithms, familiarize students with the fundamentals of developing efficient algorithms, including classical algorithm design strategies and data structures and introduce students to the theory of NP-Completeness.

By the end of this course, students will be able to:

  • Prove the correctness or incorrectness of iterative and recursive algorithms.
  • Apply the formal definition and properties of Big-Oh, Big-Omega, and Big-Theta notation to prove claims involving Big-Oh notation.
  • Analyze the worst-case time complexity of iterative algorithms using Big-Oh notation.
  • Analyze the worst-case time complexity of recursive algorithms using Big-Oh notation, recursion tree analysis, or the Master Theorem.
  • Apply several traditional search and graph algorithms to problems and describe the advantages and disadvantages of these search algorithms.
  • Develop efficient algorithms using appropriate data structures and algorithm design strategies, including divide-and-conquer, dynamic programming, greedy algorithms, graph traversals, and backtracking.
  • Prove that problems belong to classes P, NP, NP-Hard, and NP-Complete on the basis of a given problem reduction. 

List of topics covered: 

Big-Oh notation, algorithm analysis, Sorting Algorithms, Data Structure reviews, Dynamic Programming, Greedy Algorithms, Dynamic Programming, Graph algorithms, Backtracking, Complexity Theory, etc.

Professor Profile:

a

PROFESSOR SHAUN CANAVAN
Assistant Professor
Computer Science and Engineering
ENB 315 | Email

 

Dr. Shaun Canavan received his PhD in Computer Science from Binghamton University. He is an Assistant Professor in the Computer Science and Engineering Department at the 51ÔÚÏß. His research focuses broadly on Affective Computing and Human-Computer Interaction. He has over 50 publications in top conferences and journals such as CVPR, ICPR, ICMI, ACII, FG, Pattern Recognition Letters, and the IEEE Transactions on Visualization and Computer Graphics. He is currently a publications chair of Affective Computing & Intelligent Interaction, 2023, along with program chair for Face and Gesture 2024. Previously, he was the demo chair for Face and Gesture 2019, and for Affective Computing and Intelligent Interaction, 2021. He has organized multiple workshops on topics related to applied affect recognition, medical applications of affective computing, and ubiquitous emotion recognition. His work is and has been supported by the DOD, NSF, Google, and Amazon. He is a member of the AAAC, IEEE, and ACM.