ITCS 5356: Machine Learning Models
Fall 2026


Time and location: Tue, Thu 5:30 – 6:45pm, Woodward 130

Instructor & TAs:   Razvan Bunescu     Alec Pike
Office:   Woodward 410G   Cone 164
Office hours:   Tue, Thu 2:30 – 3:30pm   Mon, Wed 1:00 – 2:00pm
Email:   rbunescu @ charlotte edu   apike5 @ 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, k-Means, linear regression, gradient descent, Naive Bayes, logistic regression, neural networks, and Q-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 mathematical fluency. Review material will be made available on Canvas and on this website throughout the course.

Recommended free texts: 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:
Supplemental Math and ML materials:
Background review materials:
Machine learning software: