Answers.Body: <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>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-25T22:16:54.680Z
Answers.Text: 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.)
Answers.UserDisplayName: Ellen Spertus
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-26T03:34:02.603Z
Answers.Text: 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.
Answers.UserDisplayName: thesecretmaster
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-26T13:00:05.540Z
Answers.Text: 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?
Answers.UserDisplayName: Mafii
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-26T15:20:07.677Z
Answers.Text: 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!
Answers.UserDisplayName: Matthew W.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-25T20:54:04.203Z
Answers.LastActivityDate: 2019-03-21T17:57:46.617Z
Answers.LastEditDate: 2019-03-21T17:57:46.617Z
Answers.UserDisplayName: Matthew W.
Body: <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>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-09-25T19:42:26.187Z
Comments.Text: 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.
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-09-25T20:20:08.987Z
Comments.Text: 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.
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-09-25T22:14:40.373Z
Comments.Text: @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.
Comments.UserDisplayName: Ellen Spertus
Tags: <curriculum-design><undergraduate><artificial-intelligence>
Title: What belongs in a low-math undergraduate AI elective besides ML?
ThreadText: # 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 username_2! 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**: username_2, 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!  
  
  ---
  
  