This course covers
essential topics in algorithms, data structures, computational complexity, and
foundational AI/ML concepts, with a focus on practical applications and
efficiency analysis. It includes algorithm design techniques such as divide and
conquer, greedy methods, dynamic programming, and key concepts in searching and
sorting. Students will learn to analyze algorithm efficiency using Big O
notation, evaluate computational problems in terms of P, NP, and
NP-completeness, and explore basic machine learning principles where algorithms
improve through data-driven learning. Teaching methods include lectures,
hands-on labs, case studies, and group discussions, while assessments involve
quizzes, coding assignments, exams, and a final project applying algorithmic
and introductory ML concepts to real-world problems.
- Teacher: Takeyaso Nakazato
