Public View

You are viewing the public version of the syllabus. If you have a SUNet account, you can view the richer version of the syllabus after logging in.

CS 412
Machine Learning

Faculty Faculty of Engineering and Natural Sciences
Semester Spring 2025-2026
Course CS 412 - Machine Learning
Time/Place
Time
Week Day
Place
Date
16:40-17:30
Mon
SBS-G071
Feb 16-May 22, 2026
16:40-18:30
Tue
UC-G030
Feb 16-May 22, 2026
Level of course Undergraduate
Course Credits SU Credit:3, ECTS:6, Basic:2, Engineering:4
Prerequisites ( MATH 201 or MATH 212) and MATH 203
Corequisites CS 412R
Course Type Lecture

Instructor(s) Information

Mohammad Yusaf Azimi

Course Information

Catalog Course Description
This is an introductory machine learning course that will aim a solid understanding of the fundamental issues in machine learning (overfitting, bias/variance), together with several state-of-art approaches such as decision trees, linear regression, k-nearest neighbor, Bayesian classifiers, support vector machines, neural networks, logistic regression, and classifier combination.
Course Learning Outcomes:
1. Have a solid understanding of the basic concepts, issues, assumptions and limitations in machine learning and how they apply to various machine learning techniques.
2. Have a working knowledge of the basic mathematics (probability, expectation, entropy, basic linear algebra, ...) and algorithms behind common machine learning techniques; together with their suitability in given situations.
3. Given a machine learning problem, select, implement and evaluate one of the appropriate machine learning algorithms (e.g. decision trees, neural networks, SVMs) using a programming environment such as Weka or Matlab.
Course Objective
To teach fundamentals of Machine Learning to students of all backgrounds, so that they will know its capabilities and limitations, and be able to design all aspects of a learning system.

Learning Objectives:

1. Understand the basic concepts, issues, assumptions, and limitations in machine learning (e.g., base accuracy, overfitting, bias/variance, curse of dimensionality...).
2. Have a working knowledge of the basic mathematics (probability, expectation, entropy, basic linear algebra, ...) and algorithms behind common machine learning techniques, together with their suitability in given situations.
3. Given a machine learning problem, be able to implement and evaluate one of the standard machine learning algorithms (e.g., decision trees, neural networks, SVMs) using a tool such as Weka/Matlab or a programming language such as Python/R.
-

Course Materials

Resources:
Textbook:
- None. Normally, slides and lectures will be sufficient to do well on the exam; however, references to sections in one or two of the reference books below will be provided as a supplement to the lecture slides.

- Note that many Machine Learning or Pattern Recognition books are available online by their authors, and others will be on reserve in the IC.

Reference Books:
• The Elements of Statistical Learning – Hastie et al. (freely available)
• Probabilistic Machine Learning: An Introduction – K. Murphy (free draft version)
• Machine Learning – Ethem Alpaydin (online book available through IC)
• Neural Networks and Learning Machines – Haykin (e-book)
• Pattern Recognition and Machine Learning – Bishop (no online version)
Technology Requirements:

Policies