COMP_SCI 349: Machine Learning

Quarter Offered

Summer : 2-3:20 TuTh ; Alam
Fall : 9:30-10:50 MW ; Demeter
Winter : 12:30-1:50 MW ; Alam
Spring : 9:30-10:50 MW ; Wood-Doughty


COMP_SCI 214 or COMP_SCI 325 OR Graduate Standing in Computer Science or Computer Engineering and equivalent programming experience.



Machine Learning is the study of algorithms that improve automatically through experience. Topics covered typically include Bayesian Learning, Decision Trees, Genetic Algorithms, Neural Networks.

  • This course satisfies the AI Breadth Requirement.


  • Summer, Fall, Spring & Winter Section:Online readings provided by the course instructor.

REFERENCE TEXTBOOKS: Selected papers from journals and conferences presenting research on Machine Learning

COURSE COORDINATOR: Prof. Doug Downey & Prof. Bryan Pardo
COURSE INSTRUCTOR: Prof. Demeter (Fall), Mohammed A. Alam (Summer & Winter) & Zach Wood-Doughty (Spring)

COURSE GOALS: To expose students to concepts and methods in machine learning. To give students a basic set of machine learning tools applicable to a variety of problems. To teach students critical analysis of machine learning approaches so that the student can determine when a particular technique is applicable to a given problem and apply or implement that technique.


This is an example set of topics. The exact subset will vary depending on year.

  • Decision Tree Learning
  • Nonlinear Regression
  • Artificial Neural Networks
  • Evaluating Hypotheses
  • Bayesian Learning
  • Computational Learning Theory
  • Instance-Based Learning
  • Genetic Algorithms
  • Learning Sets of Rules
  • Reinforcement Learning
  • Clustering

HOMEWORK ASSIGNMENTS: Reading assignment from the Machine Learning Literature. Coding assignments implementing machine learning algorithms, and experiments testing ML algorithms on real-world data.

LABORATORY ASSIGNMENTS: There will be several lab assignments. Students will be required to implement machine learning algorithms and analyze their performance on example sets of data. Example algorithms include: feed-forward multilayer neural networks, decision trees, hidden Markov models, automated clustering techniques.

GRADES: Will be based on a combination of problem sets, reading assignments and programming assignments.