Course Materials

Educational resources for teaching and learning network machine learning

Machine Learning for Computer Systems

Our primary course on applying machine learning to computer systems and networking.

Course Website: noise-lab.net/ml-systems

Course Overview

This course covers applications of machine learning to computer systems, with a particular focus on security, performance analysis, and prediction problems in networking. Topics include data preparation, feature selection, model evaluation, fairness, interpretability, and ML testing/debugging.

Resources

Topics Covered

  • Network traffic analysis use cases
  • Data acquisition and feature extraction
  • Supervised learning (Naive Bayes, regression, SVMs, trees, deep learning)
  • Unsupervised learning (clustering, dimensionality reduction, autoencoders)
  • Generative models (transformers, diffusion models)
  • Timeseries analysis and reinforcement learning
  • Model performance and maintenance

Network Measurements

This course covers network measurements, including methodologies, tools, and applications for understanding network behavior and performance.

Course Website: fbronzino.notion.site/network-measurements

Course Overview

This course focuses on network measurements broadly speaking. As machine learning becomes increasingly key for understanding our networks, a good portion of the course focuses on these applications. Students learn how to collect, analyze, and interpret network data, with special emphasis on modern ML-based approaches for network inference and analysis.

Resources

Additional Resources

Assignments

Problem sets and programming assignments designed to provide hands-on experience with ML for networking applications.

Reading Materials

Recommended textbooks, research papers, and supplementary reading materials.