<p>I took both the <a href="https://www.cs.princeton.edu/courses/archive/fall14/cos402/" rel="nofollow noreferrer">AI</a> 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 <a href="http://inst.eecs.berkeley.edu/~cs188/fa18/" rel="nofollow noreferrer">Berkeley (CS188)</a> and <a href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/" rel="nofollow noreferrer">MIT (6.034)</a>, and of course Stanford's ML lecture series is amazing. <a href="https://rads.stackoverflow.com/amzn/click/com/0136042597" rel="nofollow noreferrer" rel="nofollow noreferrer">Russell &amp; Norvig's textbook</a> is basically the bible for these sorts of courses.</p>

<p>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. </p>

<p>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:</p>

<ul>
<li>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:</li>
<li>Adversarial Game-playing AI (minimax and alpha-beta pruning)</li>
<li>Constraint-Satisfaction Problems (ARC-3, backtracking search) and/or Boolean SAT (DPLL, WalkSAT). </li>
</ul>

<p>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?")</p>

<p>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. </p>

<p>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 <em>maybe</em> deeper neural networks. </p>

<p>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.</p>

CC BY-SA 4.0
2018-09-25T22:16:54.680Z
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.)
Ellen Spertus
CC BY-SA 4.0
2018-09-26T03:34:02.603Z
Hi Matthew! Welcome to [cseducators.se]! Thank you for taking the time to write this answer and share your experiance! I hope to see you around the site more.
thesecretmaster
CC BY-SA 4.0
2018-09-26T13:00:05.540Z
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?
Mafii
CC BY-SA 4.0
2018-09-26T15:20:07.677Z
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!
Matthew W.
CC BY-SA 4.0
2018-09-25T20:54:04.203Z
2019-03-21T17:57:46.617Z
2019-03-21T17:57:46.617Z
Matthew W.
<p>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:</p>
<blockquote>
<p>DATA 150: Introduction to Data Analysis (4 Credits)</p>
<p>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.</p>
<p>CS 141: Machine Learning (4 Credits)</p>
<p>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.</p>
</blockquote>
<p>It's been a long time since I was in school, and even then my knowledge of AI was pretty eclectic. <strong>What belongs in an undergraduate AI course that is not covered by the above two courses?</strong></p>
<p>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.)</p>

CC BY-SA 4.0
2018-09-25T19:42:26.187Z
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.
Buffy
CC BY-SA 4.0
2018-09-25T20:20:08.987Z
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.
Buffy
CC BY-SA 4.0
2018-09-25T22:14:40.373Z
@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.
Ellen Spertus
<curriculum-design><undergraduate><artificial-intelligence>
What belongs in a low-math undergraduate AI elective besides ML?
# What belongs in a low-math undergraduate AI elective besides ML?

(Asked by: username_0 on 2018-09-25)

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.)

**Tags:** curriculum-design, undergraduate, artificial-intelligence

> **Comments:**
> **username_1**: 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.  
> **username_1**: 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.  
> **username_0**: @username_1 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.  

---

## 1 answers

### Answer by username_2 on 2018-09-25. Score: 13

I took both the [AI](https://www.cs.princeton.edu/courses/archive/fall14/cos402/) 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)](http://inst.eecs.berkeley.edu/~cs188/fa18/) and [MIT (6.034)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/), and of course Stanford's ML lecture series is amazing. [Russell & Norvig's textbook](https://rads.stackoverflow.com/amzn/click/com/0136042597) 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.

> **Comments:**
> **username_0**: 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.)  
> **username_3**: Hi Matthew! Welcome to [cseducators.se]! Thank you for taking the time to write this answer and share your experiance! I hope to see you around the site more.  
> **username_4**: 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?  
> **username_2**: Hi username_4! 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!  

---

