COMP_SCI 349: Machine Learning

Quarter Offered

Fall : 3-3:50 MWF ; Downey
Spring : 2-3:20 MW; 2-2:50 F ; Pardo


COMP_SCI 214 or COMP_SCI 325 OR Graduate Standing 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.
  • NOTE: PhD students should register for COMP_SCI 349 sect 21 + its Fri discussion (2-2:50pm)


  • Fall Section: Textbooks have not yet been determined.
  • Spring Section: No textbook

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

COURSE COORDINATOR: Prof. Doug Downey (Fall), Prof. Bryan Pardo (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.


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

  • Decision Tree Learning
  • Artificial Neural Networks
  • Evaluating Hypotheses
  • Bayesian Learning
  • Computational Learning Theory
  • Instance-Based Learning
  • Genetic Algorithms
  • Learning Sets of Rules
  • Combining Inductive and Analytical Learning
  • Reinforcement Learning
  • Clustering

HOMEWORK ASSIGNMENTS: Reading assignment from the Machine Learning Literature and problem sets from the textbook.

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.

COURSE OBJECTIVES: When a student completes this course, s/he should be able to: 1) analyze a problem and determine which machine learning approach may be best suited to solving the problem and 2) implement the chosen approach.