11
$\begingroup$

The primarily undergraduate institution at which I teach does not have an Artificial Intelligence course. We do have classes on Data Analysis and Machine Learning:

DATA 150: Introduction to Data Analysis (4 Credits)

Data analysis is the extraction of knowledge and insights from complex data. This course introduces the concepts, issues, and techniques of data analysis. Topics include data cleaning and preparation, feature selection, association rules, classification, clustering, evaluation and validation. Tools implemented in R and Python will be used to explore data sets using these techniques.

CS 141: Machine Learning (4 Credits)

This course provides a broad introduction to machine learning and statistical pattern recognition including both supervised and unsupervised learning from a computational perspective. Topics include generative/discriminative learning, parametric/non-parametric learning, neural networks, support vector machines, clustering, dimensionality reduction, and kernel methods. Additional topics as time allows.

It's been a long time since I was in school, and even then my knowledge of AI was pretty eclectic. What belongs in an undergraduate AI course that is not covered by the above two courses?

A constraint is that we do not require Calculus in our program, and most students have only had discrete mathematics. (While the above classes nominally have Linear Algebra and/or Calculus-based Probability and Statistics as prerequisites, we sometimes waive those requirements.)

$\endgroup$
  • 1
    $\begingroup$ Just as a thought experiment, and a bit orthogonal, have you considered whether it might be better to focus more on what you already do well, going deeper, rather than trying to cover things that might turn out to be sketchy? Not every student, even today, needs, or will go on in, AI. $\endgroup$ – Buffy Sep 25 '18 at 19:42
  • 1
    $\begingroup$ Another thought. Would a non-required upper level course with a heavy math requirement be a bad thing? Perhaps as a goad. It might take some lead time so that students have a shot, of course. $\endgroup$ – Buffy Sep 25 '18 at 20:20
  • 1
    $\begingroup$ @Buffy I don't think Calculus is the best use of all of our students' time. Also, if too few students sign up for a class, it gets canceled. $\endgroup$ – Ellen Spertus Sep 25 '18 at 22:14
13
$\begingroup$

I took both the AI and (basic) ML undergrad courses at Princeton and currently teach an AI elective at the HS level for some very bright students. I've seen some good online material from Berkeley (CS188) and MIT (6.034), and of course Stanford's ML lecture series is amazing. Russell & Norvig's textbook is basically the bible for these sorts of courses.

From what I've seen, AI undergraduate courses have changed a lot in the past decade to focus on ML, since much of the recent breakthroughs and publicity are in those areas. AI is a very broad and historically rich field beyond just Data Analysis or ML. I would say a comprehensive AI course would start from Alan Turing's classic (and often misused) Turing Test and ground itself in an ongoing definition of rationality as effective problem-solving.

From there, there are lot of "classical" AI fields that are very approachable without any calculus; most of their discrete algorithms are intuitive, and you can wave your hands and say the continuous (calculus-involving) counterparts are basically the same idea. Here's my shortlist of essential first topics:

  • Goal-based state-space searching algorithms (e.g. DFS, BFS, Greedy, A*). These are a great start since the notion of searching is very universal and lays the groundwork for the next two:
  • Adversarial Game-playing AI (minimax and alpha-beta pruning)
  • Constraint-Satisfaction Problems (ARC-3, backtracking search) and/or Boolean SAT (DPLL, WalkSAT).

These three areas form my HS curriculum, and provide really rich applications and philosophical fodder ("is this how rational humans think? Is it intrinsically better, or worse, or completely unrelated?")

Some courses might go from these topics into Bayes Nets and/or Hidden Markov Models, though I think this leans math heavy since its all about probability.

Usually by this point AI courses have become more or less completely focused on ML, often starting with k-means clustering, basic classification/regression using perceptrons or decision trees, ensemble learning/boosting, reinforcement learning (usually in the framework of Markov Decision Processes), and maybe deeper neural networks.

EDIT: A follow-up; my course has now changed its third unit topic from CSPs/SAT to Markov Decision Processes (Value Iteration and Policy Iteration) and Reinforcement Learning. Its more exciting, leads into ML, and flows out the Adversarial Games nicely because of the shared concept of finding a "policy", especially if Expectimax is covered.

$\endgroup$
  • $\begingroup$ Thank you. We cover some of the topics you mention in our classes on data structures, algorithms, and theory of computation. FWIW, I took 6.034 ~30 years ago. (I assume there have been some changes.) $\endgroup$ – Ellen Spertus Sep 25 '18 at 22:16
  • 1
    $\begingroup$ Hi Matthew! Welcome to Computer Science Educators! Thank you for taking the time to write this answer and share your experiance! I hope to see you around the site more. $\endgroup$ – thesecretmaster Sep 26 '18 at 3:34
  • 1
    $\begingroup$ Matthew, just out of curiosity - did you ever look into NEAT, and if yes, do you think it's a good algorithm to show both evolutionary approaches to ML and how powerful stochastic is? $\endgroup$ – Mafii Sep 26 '18 at 13:00
  • $\begingroup$ Hi Mafii! I've never heard of NEAT before; based on my 1-minute glance on wikipedia, it looks really cool! Seems to take inspiration from classic "genetic algorithms" (which I find interesting but hard to justify teaching when they are so sporadically applied). I think it would be a really cool think to mention/demonstrate but I highly doubt any undergrad AI survey course would be able to get far into it. Static structure neural networks are weird enough! $\endgroup$ – Matthew W. Sep 26 '18 at 15:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.