Instructor Information

Stephyn Butcher

Stephyn Butcher is “Data Chef” at PXY Data. He works to keep the data flowing from 3rd party vendors into the analytics infrastructure.

Previously, he was Principal Software Engineer-Data Scientist for GLG and worked on various data science and data engineering problems and he was Data Product Solutions Engineer for Appriss Safety, Senior Software Engineer for ThreatGRID, a division of Cisco, which focused on malware detection. He has worked as a Data Scientist/Engineer for Clubhouse Software, LivingSocial, NIH/HPCIO and Mercury Analytics.

He has taught Machine Learning (Homewood), Artificial Intelligence (EP), Reasoning Under Uncertainty (EP) and Data Science (EP). He has Ph. D. in Computer Science, an MS in Computer Science, an MA in Economics and a BA in Economics. His dissertation research focused on swarm intelligence. His research interests include games programming, machine learning, programming languages, software engineering, and statistics.

In 2017, he was ordained as a Zen priest (雲水). His ordination name is 妙山住信 (Myozan Jushin).

Course Information

Course Description

This is a foundational course in Artificial Intelligence. Although we hear a lot about machine learning, artificial intelligence is a much broader field with many different aspects. In this course, we focus on three of those aspects: reasoning, optimization, and pattern recognition. Traditionally, the first was covered under “Symbolic AI” or “Good Old Fashioned AI” and the latter two were covered under “Numeric AI” (or more specifically, “Connectionist AI” or “Machine Learning”). However, despite the many successes of machine learning algorithms, practitioners are increasingly realizing that complicated AI systems need algorithms from all three aspects. This approach falls under the ironic heading “Hybrid AI”. In this course, the foundational algorithms of AI are presented in an integrated fashion emphasizing Hybrid AI. The topics covered include state space search, local search, example based learning, model evaluation, adversarial search, constraint satisfaction problems, logic and reasoning, expert systems, rule based ML, Bayesian networks, planning, reinforcement learning, regression, logistic regression, and artificial neural networks (multi-layer perceptrons). The assignments weigh conceptual (assessments) and practical (implementations) understanding equally. Prerequisite(s): A working knowledge of Python programming is assumed as all assignments are completed in Python.

Course Goal

The goal of the course is to give students hands-on experience with the fundamental algorithms of Artificial Intelligence. The course focuses on practical implementation over theoretical proofs.

Course Objectives

  • Understand algorithmic approaches to reasoning, optimization, and pattern recognition.
  • Implement artificial intelligence algorithms.
  • Solve problems in artificial intelligence by decomposition and the application of a Hybrid AI approach.

When This Course is Typically Offered

This course is usually offered online every semester.

Syllabus

  • State Space Search
  • Adversarial Search (Games)
  • Constraint Satisfaction Problems
  • Reinforcement Learning
  • Local Search
  • Logic
  • Planning
  • Regression and Classification
  • Model Evaluation
  • Artificial Neural Networks
  • Decision Trees
  • Probabilistic Reasoning
  • Instance Based Learning

Student Assessment Criteria

Group Discussion & Self Checks (14) 20%
Programming Assignments (14) 40%
Assessments (14) 40%

The percentages indicate that you must achieve an excellent level performance on all assessments for an "A". For example, an "A" in the class requires an "A" in Class Participation, submission of a super majority of Self Checks, an "A" on on a super majority of Programming Assignments and an "A" on a super majority of quizzes. A satisfactory level on each Assessment type would earn a "B".

Computer and Technical Requirements

Must have completed all Core Foundation courses for your degree program (MS Computer Science, Artificial Intelligence, or Data Science).

Python is required for the course. You can google for video tutorials (the Google tutorial is nice), Dive into Python is a free book online and in PDF form. There is a lot of programming in the course (weekly assignments).

Participation Expectations

Group Discussion revolves around the Self Checks, which prepare the students for the programming assignments. Programming Assignments are to be worked from scratch, without non-class references (no Stackoverflow, "Googling"). The computer science academic integrity policy is strictly followed and enforced.

Textbooks

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

Course Notes

There are no notes for this course.

Final Words from the Instructor

This is a foundational course in Artificial Intelligence. Although we hear a lot about machine learning, artificial intelligence is a much broader field with many different aspects. In this course, we focus on three of those aspects: reasoning, optimization, and pattern recognition. Traditionally, the first was covered under “Symbolic AI” or “Good Old Fashioned AI” and the latter two were covered under “Numeric AI” (or more specifically, “Connectionist AI” or “Machine Learning”). However, despite the many successes of machine learning algorithms, practitioners are increasingly realizing that complicated AI systems need algorithms from all three aspects. This approach falls under the ironic heading “Hybrid AI”. In this course, the foundational algorithms of AI are presented in an integrated fashion emphasizing Hybrid AI. The assignments weigh conceptual (assessments) and practical (implementations) understanding equally.

Term Specific Course Website

http://blackboard.jhu.edu

(Last Modified: 04/29/2021 12:55:18 PM)