ITCS 5356: Introduction to Machine Learning
Fall 2024


Time and location: Tue, Thu 4:00 – 5:15pm, EPIC 3222

Instructor & TAs:   Razvan Bunescu     Youssef Ait Alama
Office:   Woodward 410G   Burson 239B
Office hours:   Tue, Thu 5:30 – 6:30pm   Mon, Wed 12:00 – 1:00pm
Email:   razvan.bunescu @ charlotte edu   yaitalam @ charlotte edu

Course description:
This course will introduce fundamental concepts and algorithms underlying the theory and practice of Machine Learning (ML). Major ML models and techniques that we aim to cover include: perceptron, k-nearest neighbors, linear regression, gradient descent, Naive Bayes, logistic regression, neural networks, and reinforcement learning. The descriptions of ML models will be supplemented with introductions of relevant foundational concepts in linear algebra, probability theory, and optimization.

Prerequisites:
Students are expected to be comfortable with programming in Python, data structures and algorithms, and have basic knowledge of mathematics. Review material will be made available on Canvas and on this website throughout the course.

Recommended free texts:
  • Pattern Recognition and Machine Learning by Christopher Bishop. Springer, 2007.
  • An Introduction to Statistical Learning with Python by James, Witten, Hastie, and Tibshirani. Springer, 2023.
  • Dive into Deep Learning by Zhang, Lipton, Li, and Smola. Amazon, 2019.
  • Mathematics for Machine Learning by Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong. Cambridge University Press, 2020.

  • Lecture notes:
    1. Syllabus & Introduction with the simple Perceptron
    2. Programming with Python
    3. Basic linear algebra
    4. NumPy for linear algebra
    5. k-Nearest Neighbors for classification and regression
    6. Differentiation and optimization
    7. Linear regression and ordinary least squares
    8. Gradient descent and least mean squares
    9. Curve fitting and regularization
    10. Kernel Perceptron and Averaged Perceptron
    11. Probability theory
    12. Maximum Likelihood Estimation principle
    13. Naive Bayes
    14. Logistic regression
    15. Computation graphs and automatic differentiation in PyTorch
    16. Multilayer Perceptrons, Backpropagation, and Deep Learning
    17. Reinforcement learning

    Homework assignments1,2:
    Final project:
    Supplemental ML materials:
    Background review materials:
    Machine learning software: