Pathway to Computing
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:

OGUZHAN TOPSAKAL
Associate Professor of Instruction
Bellini College of Artificial Intelligence, Cybersecurity and Computing
ENB 343F | Email
Dr. Oguzhan Topsakal is an Associate Professor of Instruction at the University of
South Florida. He earned his BS in Computer Engineering from Istanbul Technical University,
followed by an MSc in Computer Engineering and a PhD in Computer Science from the
University of Florida. Dr. Topsakal has published over 40 research articles, conference
papers, and book chapters in leading venues.
During his tenure at Uludag University, Dr. Topsakal received Research and Entrepreneurship
Grants from the Turkish Council of Research for his work on applying augmented reality
in medicine and education.
From 2018 to 2024, Dr. Topsakal served as a faculty member at Florida Polytechnic
University, where he taught various computer science courses. He also led a multidisciplinary
research team focused on digitizing facial plastic surgeries, particularly rhinoplasty,
and conducted research on the application of deep learning in the medical field. His
research efforts were supported by Florida Polytechnic University and Amazon Research
Grants.
In 2024, Dr. Topsakal joined the ɫɫÑо¿Ëù, bringing with him over
15 years of experience in software development, as well as a wealth of teaching, research,
and industry expertise. His diverse skill set encompasses deep learning, machine learning,
software engineering, databases, mobile app development, and augmented reality. His
teaching interests include deep learning, algorithms, natural language processing,
and databases. His current research interests focus on leveraging deep learning and
large language models to address challenges in medicine and education.