Answers.Body: <p>I don't know if it helps demystifying AI, in my opinion it is more like explaining basic algorithm concepts, but if you want to go into the graphics/image sector, maybe you like:</p>
  <ol>
  <li>Make a <a href="https://en.wikipedia.org/wiki/Histogram" rel="nofollow noreferrer">histogram</a> (color counting)
  <ul>
  <li>Using a simple image format like <a href="https://en.wikipedia.org/wiki/Netpbm" rel="nofollow noreferrer">ppm/pgm</a></li>
  </ul>
  </li>
  <li>Compare histograms of images:
  <ul>
  <li>to tell images apart</li>
  <li>or determine if they are &quot;structurally&quot; the same</li>
  <li>or find &quot;objects&quot; in it (for example the red circle in a picture full of circles with different colors)</li>
  </ul>
  </li>
  </ol>
  <p>In my opinion, to really tackle the AI part, there should be the concept of the &quot;generate/evaluate&quot;-loop being explained:</p>
  <pre><code> create - execute - test - modify(=create) 
  </code></pre>
  <p><a href="https://www.youtube.com/watch?v=R9OHn5ZF4Uo" rel="nofollow noreferrer">This video explains it nicely</a> (Grey on computer algorithms by which AIs like ChatGPT &quot;learn&quot;; One AI to modify/generate, one AI to evaluate).</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-17T12:30:27.640Z
Answers.LastActivityDate: 2024-08-17T15:45:35.587Z
Answers.LastEditDate: 2024-08-17T15:45:35.587Z
Answers.UserDisplayName: Antares
Answers.Body: <p>Your ideas are good!</p>
  <p>Another idea is to implement markov chains, which are conceptually similar to these LLMs, even if the process by which the LLM arrives at the next token is different from a Markov chain.  My favorite Markov chain resource is the <a href="https://www.tumblr.com/kingjamesprogramming" rel="nofollow noreferrer">King James Programming mashup</a>.</p>
  <p>You can also get them to directly program with OpenAI's API - I don't know if they currently allow this to be entirely free.  It used to be, and then they stopped, and I thought I read that they allowed it again.</p>
  <p>You can also check out the open source LLMs, though they might not be very developer-friendly.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-17T09:22:56.280Z
Answers.Text: Thanks for the idea. Have you found they have trouble understanding markov chains ? What kinds of real-world use cases of markov chains you use to explain to them ?
Answers.UserDisplayName: Qiulang 邱朗
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-17T23:30:34.517Z
Answers.Text: @Qiulang邱朗 I don't think there are real-world use cases for Markov chains, but they're intuitive and a useful launching point for explaining conceptually similar processes (such as LLMs)
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-19T14:25:53.653Z
Answers.Text: I suddenly realize this is a good question for chatgpt or gemini lol. So gemini gives me this idea "Create a simple image classifier using a pre-trained model (like from TensorFlow or PyTorch). For instance, classify images as cats or dogs."
Answers.UserDisplayName: Qiulang 邱朗
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-20T08:18:15.663Z
Answers.Text: @Qiulang邱朗 How could a Markov Chain classify images?
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-20T09:38:43.263Z
Answers.Text: Oh you misunderstood what I meant or I didn't say it clearly. I meant I asked my question (not your answer about Markov Chain) to Gemini.
Answers.UserDisplayName: Qiulang 邱朗
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-20T09:45:03.117Z
Answers.Text: [Clause](https://claude.ai/) suggests "Create a simple text classifier using the Naive Bayes algorithm". I think that is a good one too.
Answers.UserDisplayName: Qiulang 邱朗
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-16T21:07:08.903Z
Answers.LastActivityDate: 2024-08-16T21:07:08.903Z
Answers.UserDisplayName: Ben I.
Body: <p>My colleagues are brainstorming the hands-on task to demystifying AI(to a level). We have some goals for these task,</p>
  <p>First, it should be a doable programming exercise (python) for the high school kids.<br />
  Second, it should teach them at least one key concept.</p>
  <p>But we are no expert ourselves so we are struggling with ideas. So far we only come up with one idea of TF-IDF, Term Frequency - Inverted Document Frequency. Some may argue TF-IDF is not AI. But it fits our goal, 1. calculate term frequency is easy. 2. IDF is a concept rather easy to understand 3. with TF-IDF we can then do keyword extraction. 4. We will help them &quot;demystify&quot; NPL to some level.</p>
  <p>Word Embedding could be another task but we have not come up with a solid idea (some programing exercise) for it.</p>
  <p>One classical exercise for Chinese language is word segmentation as Chinese words do not have spaces to separate them and we will also teach them tokenization.</p>
  <p>All the examples are about NLP but it is just because we lack of ideas. Some of colleagues even suggest we just read through <a href="https://scikit-learn.org/stable/user_guide.html" rel="nofollow noreferrer">scikit-learn user guide</a> can choose one topic high school students may understand.</p>
  <p>Can others suggestion some ideas ?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-09-27T04:15:32.293Z
Comments.Text: I come across this article [Named Entity Recognition (NER) in Python with Spacy](https://www.analyticsvidhya.com/blog/2021/06/nlp-application-named-entity-recognition-ner-in-python-with-spacy/) and believe NER will be another good exercise.
Comments.UserDisplayName: Qiulang 邱朗
Tags: <lesson-ideas><secondary-education>
Title: Hands-on task to demystifying AI for high schooler
ThreadText: # Hands-on task to demystifying AI for high schooler
  
  (Asked by: username_0 on 2024-08-15)
  
  My colleagues are brainstorming the hands-on task to demystifying AI(to a level). We have some goals for these task,
  
  First, it should be a doable programming exercise (python) for the high school kids.  
  Second, it should teach them at least one key concept.
  
  But we are no expert ourselves so we are struggling with ideas. So far we only come up with one idea of TF-IDF, Term Frequency - Inverted Document Frequency. Some may argue TF-IDF is not AI. But it fits our goal, 1. calculate term frequency is easy. 2. IDF is a concept rather easy to understand 3. with TF-IDF we can then do keyword extraction. 4. We will help them "demystify" NPL to some level.
  
  Word Embedding could be another task but we have not come up with a solid idea (some programing exercise) for it.
  
  One classical exercise for Chinese language is word segmentation as Chinese words do not have spaces to separate them and we will also teach them tokenization.
  
  All the examples are about NLP but it is just because we lack of ideas. Some of colleagues even suggest we just read through [scikit-learn user guide](https://scikit-learn.org/stable/user_guide.html) can choose one topic high school students may understand.
  
  Can others suggestion some ideas ?
  
  **Tags:** lesson-ideas, secondary-education
  
  > **Comments:**
  > **username_0**: I come across this article [Named Entity Recognition (NER) in Python with Spacy](https://www.analyticsvidhya.com/blog/2021/06/nlp-application-named-entity-recognition-ner-in-python-with-spacy/) and believe NER will be another good exercise.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2024-08-17. Score: 1
  
  I don't know if it helps demystifying AI, in my opinion it is more like explaining basic algorithm concepts, but if you want to go into the graphics/image sector, maybe you like:
  
  1. Make a [histogram](https://en.wikipedia.org/wiki/Histogram) (color counting)
     * Using a simple image format like [ppm/pgm](https://en.wikipedia.org/wiki/Netpbm)
  2. Compare histograms of images:
     * to tell images apart
     * or determine if they are "structurally" the same
     * or find "objects" in it (for example the red circle in a picture full of circles with different colors)
  
  In my opinion, to really tackle the AI part, there should be the concept of the "generate/evaluate"-loop being explained:
  
  ```
   create - execute - test - modify(=create) 
  
  ```
  
  [This video explains it nicely](https://www.youtube.com/watch?v=R9OHn5ZF4Uo) (Grey on computer algorithms by which AIs like ChatGPT "learn"; One AI to modify/generate, one AI to evaluate).
  
  
  ---
  
  ### Answer by username_2 on 2024-08-16. Score: 1
  
  Your ideas are good!
  
  Another idea is to implement markov chains, which are conceptually similar to these LLMs, even if the process by which the LLM arrives at the next token is different from a Markov chain. My favorite Markov chain resource is the [King James Programming mashup](https://www.tumblr.com/kingjamesprogramming).
  
  You can also get them to directly program with OpenAI's API - I don't know if they currently allow this to be entirely free. It used to be, and then they stopped, and I thought I read that they allowed it again.
  
  You can also check out the open source LLMs, though they might not be very developer-friendly.
  
  > **Comments:**
  > **username_0**: Thanks for the idea. Have you found they have trouble understanding markov chains ? What kinds of real-world use cases of markov chains you use to explain to them ?  
  > **username_2**: @username_0 I don't think there are real-world use cases for Markov chains, but they're intuitive and a useful launching point for explaining conceptually similar processes (such as LLMs)  
  > **username_0**: I suddenly realize this is a good question for chatgpt or gemini lol. So gemini gives me this idea "Create a simple image classifier using a pre-trained model (like from TensorFlow or PyTorch). For instance, classify images as cats or dogs."  
  > **username_2**: @username_0 How could a Markov Chain classify images?  
  > **username_0**: Oh you misunderstood what I meant or I didn't say it clearly. I meant I asked my question (not your answer about Markov Chain) to Gemini.  
  > **username_0**: [Clause](https://claude.ai/) suggests "Create a simple text classifier using the Naive Bayes algorithm". I think that is a good one too.  
  
  ---
  
  