EECS 349: Machine Learning

Quarter Offered

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


EECS 214 or EECS 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 & AI Depth Requirement.


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