Objective: The course provides an introduction to the fundamentals of artificial intelligence with a strong practice-oriented focus on machine learning.
Topics covered: The course introduces the fundamental concepts of artificial intelligence, including definitions, historical background, application areas, opportunities, and limitations. It addresses problem formulation and problem-solving techniques, as well as different types of problems and their computational complexity, including P, NP, and NP-complete classes. Students learn problem-solving approaches based on search techniques, such as A* and Minimax algorithms, dynamic programming, cost optimization methods, and iterative approaches including hill climbing, simulated annealing, and genetic algorithms. The course also covers the representation of uncertainty, Bayes’ theorem and its applications, fuzzy logic, and Hidden Markov Models.
In the area of machine learning, the course presents the fundamentals of supervised learning, including classification and regression, as well as unsupervised learning methods such as clustering. Students become familiar with linear regression, decision trees, support vector machines, perceptrons, and neural networks, including their structure, functioning, and training processes. The curriculum further explores shallow neural networks, convolutional neural networks, deep neural networks, and the core principles of deep learning. Reinforcement learning techniques, including Q-learning, and the basics of natural language processing are also introduced.
Laboratory sessions support the lectures through hands-on practice using Python and relevant libraries such as NumPy, SciKit, and Pandas, accompanied by weekly practical exercises aligned with the lecture topics.