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.


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


Note for Fall Section: Textbooks have not been determined.

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.

PREREQUISITES:  EECS 214 or EECS 325 OR Graduate Standing and equivalent programming experience.


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.