Instructor Information

John Sheppard

Work Phone: 406-994-4835

Dr. Sheppard is a Norm Asbjornson College of Engineering Distinguished Professor in the Gianforte School of Computing at Montana State University and is a former Adjunct Professor in the Computer Science Department at Johns Hopkins. His research interests include model-based and Bayesian reasoning, reinforcement learning, game theory, and fault diagnosis/prognosis of complex systems. He is a Fellow of the IEEE, elected "for contributions to system-level diagnosis and prognosis."

Dr. Sheppard received his BS in computer science from Southern Methodist University in 1983. Later, while a full-time member of industry, he received an MS in computer science in what is now Johns Hopkins Engineering for Professionals (1990). He continued his studies and received his Ph.D. in computer science from Johns Hopkins in the day school (1997), completing a dissertation on multi-agent reinforcement learning and Markov games.

Prior to entering academia full time, Dr. Sheppard was a member of industry for 20 years. His prior position was as a research fellow at ARINC Incorporated. Dr. Sheppard became a member of the EP faculty in 1994 where he teaches courses in machine learning and population-based algorithms. He also mentors independent studies and advises several graduate students. In 2022, he received the Provost’s Award for Graduate Research and Creativity Mentoring at Montana State University, which recognizes excellence in advising MS and PhD students.

Course Information

Course Description

This course focuses on recent advances in machine learning and on developing skills for performing research to advance the state of knowledge in machine learning. The material integrates multiple ideas from basic machine learning and assumes familiarity with concepts such as inductive bias, the bias-variance trade-off, the curse of dimensionality, and no free lunch. Topics range from determining appropriate data representations and models for learning, understanding different algorithms for knowledge and model discovery, and using sound theoretical and experimental techniques in assessing learning performance. Specific approaches discussed cover nonparametric and parametric learning; supervised, unsupervised, and semi-supervised learning; graphical models; ensemble methods; and reinforcement learning. Topics will be discussed in the context of research reported in the literature within the previous two years. Students will participate in seminar discussions and will present the results of a semester-long research project of their own choosing.


EN.605.649 Introduction to Machine Learning; multivariate calculus;Students cannot receive credit for both EN.605.746 and EN.625.742

Course Goal

To develop a deeper understanding of the modern issues in researching, developing, and implementing machine learning systems, and to develop a deeper understanding of at least one specific machine learning technique through an individual research project.

Course Objectives

  • To be able to formulate and assess problems in machine learning.
  • To be able to assess the strengths and weaknesses of several advanced machine learning algorithms.
  • To be able to assess and understand the key commonalities and differences in applications of machine learning to agent control and data analysis.
  • To be able to apply techniques in machine learning to problems in agent control or data analysis.

When This Course is Typically Offered

This course is typically offered annually during the spring term and is fully online.


  • Introduction to Machine Learning
  • Experimental Methods
  • Computational Learning Theory
  • Non-Parametric Learning
  • Bayesian Learning
  • Artificial Neural Networks
  • Reinforcement Learning
  • Evolutionary Computation
  • Inductive Logic Programming
  • Data and Dimensionality Reduction
  • Kernel Methods
  • Ensemble Learning
  • Project Presentations I
  • Project Presentations II

Student Assessment Criteria

Discussion reviews 10%
Discussion leadership 10%
Dissertation critique 15%
Project proposal 15%
Project report 20%
Project presentation 10%
Class participation 20%

Grading will be based on online discussions, discussion leadership, ability to report on progress in the field through oral presentation and written critique, and the ability of the student to design and implement a research project. Students will be responsible for periodically leading class discussion. They will also be responsible for posting a summary of the paper being discussed at the start of the discussion period. Each student will also conduct a research project, documented with a formal, technical paper and in-class presentation describing the experimental method and results.

Computer and Technical Requirements

Research projects may be completed using any language, environment, toolset, libraries, etc. desired by the student.

Participation Expectations

This course is formatted as a seminar in which research papers are read and discussed each week. Course content includes documents and videos introducing the topics to the students. Students are then expected to discuss current research related to each topic based on the assigned research papers. 

When discussing a research paper, class leadership will be turned over to the assigned discussion leader(s). At that point the leader(s) will present an overview of the paper for the day and formulate questions and issues for class discussion. After the overview has been presented, the class will be encouraged to engage in discussion of the issues. The instructor will participate as another member of the discussion, interjecting additional material as necessary to provide information on background and current research in the field.


Textbook information for this course is available online through the MBS Direct Virtual Bookstore.

Course Notes

There are notes for this course.

Final Words from the Instructor

This course has been designed to expose students with interest in AI to the current research in machine learning. The course is focused on research conducted in the previous two years, meaning that the topics considered are necessarily advanced.  The intent is to provide a relaxed but vibrant environment for exploring ideas and giving students the opportunity to "try their hand" at research in machine learning. Please note that the pre-requisite of having completed 605.649 Introduction to Machine Learning is strictly enforced. The EP courses 605.647 Neural Networks, 705.601 Applied Machine Learning, and 525.670 Machine Learning for Signal Processing are not acceptable substitutes for this requirement.

Term Specific Course Website

(Last Modified: 01/11/2022 05:51:59 PM)