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 WILLIAM HENDRIX
Assistant Professor of Instruction
Computer Science and Engineering
ENB 301C | Email

 

Dr. William Hendrix is an Assistant Professor of Instruction and Undergraduate Coordinator for the Computer Science and Computer Engineering programs at USF. He received his PhD at North Carolina State University and taught at Northwestern University for two years before moving to USF in 2015. He is passionate about teaching and learning and is very excited to be a part of the Bridge to Computing program.

 

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 University of South Florida. 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.