# data[].attributes.body
Trainer/Assistant Trainers to distribute:

1. Student Booklet

2. Huskylens and accompanying peripherals

# data[].attributes.body
Trainer/Assistant Trainers to distribute:

1. Student Booklet

# data[].attributes.body
It is a type of AI system that has the capability to generate new content. These AI systems are designed to understand human inputs and produce human-like outputs such as text, images, music and more.

What are some ways I can give instruction to the AI?

# data[].attributes.body
Pun En to create a step by step video/doc - attach here

Open ChatGPT link > Log In > Sign in with Google

# data[].attributes.body
Trainer/Assistant Trainers to distribute:

1. Student Booklet

2. Huskylens and accompanying peripherals

3. M5Go and accompanying peripherals

4. Craft materials and stationery

# data[].attributes.body
Trainer/Assistant Trainers to distribute:

1. Student Booklet

2. M5Go and accompanying peripherals

Ensure students are seated in their groups.

# data[].attributes.body
Generative AI needs some instructions or guidance to create the outputs. These instructions are called prompts. A prompt is a text that tells the generative AI what to do or what to create.

# data[].attributes.body
Trainer/Assistant Trainers to distribute:

1. Student Booklet

2. Huskylens and accompanying peripherals

3. M5Go and accompanying peripherals

# data[].attributes.headline
Activity 6.1: How does your Prototype look?

# data[].attributes.subject
Activity 6.1: How does your Prototype look?

# data[].attributes.body
In your project portfolio (slides):

Choose a favourite idea, create a sketch of how the prototype might look like in your student booklet. Take a photo of your sketch and upload it to your Project Portfolio

# data[].attributes.body
This is your class's Padlet Link: _________

This Padlet will be used in conjunction with your Student Booklet.

Write down your Padlet Link on the first page of your Student Booklet for easy reference.

Pun En: Create a short URL for respective classes

# data[].attributes.body
Interview ChatGPT

1. Work in pairs

2. 'Interview' ChatGPT. Some examples:

I would like to get to know you and learn about how you work.

What other capabilities do you have?

Tell me something unique about you?

3. Share interesting questions and responses with your class.

# data[].attributes.body
Step 1: Follow the instructions on the first slide to download a copy and send to your groupmates (By group leader)

Step 2: State your problem statement

Step 3: Share the link into the comments below with your group number. (Group leader)

# data[].attributes.body
Try these prompts and observe their responses:

Ask a Question:

Who is the President of Singapore?

Generate greetings:

Create a greeting to wish my friend a happy birthday.

Create a Story:

Create a Story about a ___________ and a ___________.

Build a travel itinerary:

Create an travel itinerary for a 5 days in Singapore.

Create a Game:

Suggest how I can create a game using the following items: 2 bottles, a coin and a piece of paper.

# data[].attributes.body
Trainer/Assistant Trainers to distribute:

1. Student Booklet

2. Huskylens and accompanying peripherals

3. M5Go and accompanying peripherals

4. Craft materials and stationery

# data[].attributes.body
Trainer/Assistant Trainers to distribute:

1. Student Booklet

2. Huskylens and accompanying peripherals

3. M5Go and accompanying peripherals

4. Craft materials and stationery

# data[].attributes.headline
Programme Objectives and Outcomes (5 mins)

# data[].attributes.subject
Programme Objectives and Outcomes (5 mins)

# data[].attributes.body
1. Understand what is AI and it's useful applications

2. What is generative AI, and how it can help you be more productive

3. Understanding Machine Learning through AI vision

4. Integrate AI with Microcontrollers

# data[].attributes.body
In your project portfolio (slides):

1. What is your Problem Statement?

2. Who are you designing for / who is your user?

# data[].attributes.body
An M5GO is a microcontroller with built in sensors as well as actuators such as buzzers (for sound), LED bar lights and a LCD Screen.

# data[].attributes.body
Use the environmental sensor and M5Go to gather environmental data such as Temperature, Humidity and Air Pressure. Display them on the LCD screen.

# data[].attributes.body
Open your Browser, go to UIFlow coding environment [flow.m5stack.com]

What are some of the Code Blocks you will require for this activity?

# data[].attributes.headline
What are some questions that ChatGPT can answer and have difficulty answering?

# data[].attributes.subject
What are some questions that ChatGPT can answer and have difficulty answering?

# data[].attributes.body
Type your answers into the comments

# data[].attributes.headline
Here are some tips to create accurate prompts

# data[].attributes.subject
Here are some tips to create accurate prompts

# data[].attributes.body
Be SPECIFIC

Be precise and detailed so that the AI can understand and generate an appropriate response. Instead of "Tell me about the weather," try "Tell me about the weather in Singapore in June.”

Use CLEAR language

Avoid jargon, slang, or overly complex language unless necessary. Aim for clarity in your questions.

CONTEXT matters

it's helpful to frame the information or set the scene for the AI.

State your FORMAT

If you want the answer in a specific format, say so. For example, "List the steps..." or "In a short paragraph, explain..."

Practice and Experiment

Like any tool, practice helps in understanding how to get the best out of ChatGPT. Try various prompts, refine them, and see which ones produce the best results for your needs.

# data[].attributes.body
General Knowledge,

jokes and riddles,

explanatory comment,

language translation,

programming/coding help,

give recommendations,

give hypothetical scenarios.

ChatGPT has difficulty giving accurate real-time information, personal data, emotionally-subjective questions, deep expertise, ambiguous queries with no context, complex mathematical equations

# data[].attributes.headline
Activity 2.3: Gather a Data Set using Generative AI

# data[].attributes.subject
Activity 2.3: Gather a Data Set using Generative AI

# data[].attributes.body
We could use the environmental sensor to record the data over 2 hours. However, we can also use Generative AI to create a fictional set of data purely for demonstration purpose only.

Activity:

Enter this prompt into ChatGPT to generate a set of data.

"Generate 2 hours worth of fictional tropical climate data. Data must consist of temperature, humidity and air pressure in the following format: Date, Time, temperature, humidity, air pressure"

# data[].attributes.headline
Activity 2.3 (cont'd): What does the data mean? 

# data[].attributes.subject
Activity 2.3 (cont'd): What does the data mean? 

# data[].attributes.body
With the data collected, how can we use ChatGPT to analyse this data and give meaning to it?

You may ask ChatGPT:

1. How does this weather actually feel like?

2. Based on this data, can you make a 2-hour forecast?

3. Are these conditions good for my crops?

Comment:

What are some other prompts you can use to create some meaningful responses for this data set?

# data[].attributes.headline
Activity 2.4: Use Gen AI to review your Problem Statement

# data[].attributes.subject
Activity 2.4: Use Gen AI to review your Problem Statement

# data[].attributes.body
Activity: How can we use Gen AI to enhance our problem statement?

Sample Prompts:

1. "simplify my problem statement to include 5Ws 1H"

2. "Write this problem statement from the perspective of the user. "

Update your Project Portfolio (slides):

Write your new problem Statement

# data[].attributes.body
Trainer note: Stop video at 4:30.

# data[].attributes.attachment_link.title
How Dall-E 2 and Other AI Art Generators Create Images From Text | WSJ

# data[].attributes.body
Go to Stable Diffusion website.

Click "Free AI Image Generator"

# data[].attributes.body
Use Image Gen AI to create how your prototype would look like.

Here's an example:

Create an image of a aquaponic system with lots of edible greens growing as well as aqua life swimming in a catchment

Activity - To upload in Project Portfolio (Slides):

Using AI image generation, create 4 different ideas to help spark your creativity.

# data[].attributes.headline
Introduction Activity: What is Machine Learning?

# data[].attributes.subject
Introduction Activity: What is Machine Learning?

# data[].attributes.body
Comment:

What's a situation where it might be helpful to use Machine Learning to solve a problem?

# data[].attributes.body
What are some ways we can help to avoid generating biased data? Write your answers in the comments below

# data[].attributes.body
Imagine you're teaching a robot to recognize animals. If the robot sees lots of pictures of dogs but not many of other animals, it might think that all animals look like dogs. That's not fair, right? Because there are so many other animals like cats, birds, and elephants. This is what we call "bias" in AI.

# data[].attributes.body
Python is a coding language that is widely used in the tech industry. It is designed to be easy to read and write as compared to other coding languages. It is used in a wide variety of tasks such as website building, robot design and machine learning (AI).

In the following activities, we will be:

Using text coding to control AI Camera

Using libraries and changing parameters to control simple inputs and outputs

# data[].attributes.body
Firstly, we import the 'libraries'. A library refers to a collection of pre-written code or modules that provide a set of functionalities and tools to perform specific tasks. Libraries are designed to be reusable, allowing developers to save time and effort by leveraging existing code rather than writing everything from scratch.

# data[].attributes.body
Kong Hwee to assist

# data[].attributes.headline
Activity 4.2: Show 'Hello World' on the M5GO

# data[].attributes.subject
Activity 4.2: Show 'Hello World' on the M5GO

# data[].attributes.body
Kong Hwee to review

# data[].attributes.attachment_link.readable_text
from m5stack import *
from m5ui import *
from uiflow import *
from time import sleep

#Aim : 
#1.To learn about lcd related commands
#2.Sleep function
#3.Code a simple animation

setScreenColor(0x222222)

lcd.print('Hello World1', 10, 10)

#lcd.text(10, 10, 'Hello World1', lcd.WHITE)

sleep(2)

lcd.textClear(10, 10, 'Hello World1')

lcd.font(lcd.FONT_DejaVu18)

lcd.text(30, 40, 'Hello World2', lcd.RED)

lcd.font(lcd.FONT_Comic)
lcd.text(30, 80, 'Hello World3', lcd.BLUE)

lcd.circle(120, 150, 20, lcd.GREEN, lcd.WHITE)

lcd.rect(120, 200, 50, 20, lcd.WHITE, 0x990099)

sleep(2)

lcd.circle(120, 150, 20, lcd.GREEN, lcd.BLACK)

sleep(2)

lcd.circle(120, 150, 20, lcd.GREEN, lcd.RED)

sleep(5)

lcd.clear()




# data[].attributes.headline
Activity 4.3: Turn on Sound and LED lights on the M5GO

# data[].attributes.subject
Activity 4.3: Turn on Sound and LED lights on the M5GO

# data[].attributes.body
Kong Hwee to review

# data[].attributes.attachment_link.readable_text
from m5stack import *
from time import sleep

lcd.clear()
lcd.font(lcd.FONT_DejaVu18)
lcd.print('Button, Sound & Light Demo', 22, 38)

#define a function beep that plays a tone
def beep():
  speaker.tone(1800, 200)

#define a function playNote that gives us to Do Re Mi Fa So
def playNote():
  speaker.sing(262, 1)
  speaker.sing(294, 1)
  speaker.sing(330, 1)
  speaker.sing(349, 1)
  speaker.sing(392, 1)

#define a light sequence
def Light():
  rgb.setColorAll(0xff0000)
  sleep(1)
  rgb.setColorAll(0x00ff00)
  sleep(1)
  rgb.setColorAll(0x0000ff)
  sleep(1)
  rgb.setColorAll(0x000000)
  
  

btnB.wasPressed(playNote)
btnA.wasPressed(beep)
btnC.wasPressed(Light)

# data[].attributes.headline
Activity 4.4: Control external actuators: Servo Motor

# data[].attributes.subject
Activity 4.4: Control external actuators: Servo Motor

# data[].attributes.body
Kong Hwee to review

# data[].attributes.attachment_link.readable_text
from time import sleep
import unit

lcd.setRotation(1)
lcd.clear(lcd.BLACK)
lcd.font(lcd.FONT_DejaVu18)
lcd.print('Servo Demo', 30, 0, lcd.YELLOW)

servo0 = unit.get(unit.SERVO, unit.PORTA)
servo0.write_angle(0)

def clearLine():
  lcd.textClear(30, 62, 'Angle: 0')
  lcd.textClear(30, 62, 'Angle: 180')

def s0():
  clearLine()
  lcd.text(30, 62, 'Angle: 0')
  servo0.write_angle(0)

def s180():
  clearLine()
  lcd.text(30, 62, 'Angle: 180')
  servo0.write_angle(180)

#btnA.wasPressed(s0)
btnB.wasPressed(s180)


while True:
  if btnA.wasPressed():
    for i in range(1, 5):
      s0()
      sleep(5)
      s180()
      sleep(5)
      s0()

    
    
  

# data[].attributes.body
This series of short videos and accompanying in-classroom lessons will introduce you and your students to how artificial intelligence works and why it matters. You can choose individual lessons based on topic, explore the whole series of topics in one class or teach all 7 lessons to give a deeper dive.

# data[].attributes.attachment_link.readable_text
This series of short videos and accompanying in-classroom lessons will introduce you and your students to how artificial intelligence works and why it matters. You can choose individual lessons based on topic, explore the whole series of topics in one class or teach all 7 lessons to give a deeper dive.

These lessons will:

Introduce you to artificial intelligence and machine learning

Dive into how generative AI works, including large language models (LLMs) and image generation

Explore bias, ethics, privacy and the responsible use of AI

Touch on real world applications of AI, including computer vision

Explore lessons

# data[].attributes.attachment_link.description
Dive into the world of AI with "How AI Works," our video series and accompanying lessons!

# data[].attributes.body
In your project portfolio (slides):

List at least 5 things you require for your prototype.

# data[].attributes.headline
Activity 4.5: Create a Smart Security System

# data[].attributes.subject
Activity 4.5: Create a Smart Security System

# data[].attributes.body
Using a AI camera as a smart sensor, design and build a security system that allows recognised faces to enter a building.

Example:

A gantry (powered by a servo motor) opens when a recognised face is identified.

# data[].attributes.body
It is an AI-powered vision sensor module designed for various applications, including robotics and computer vision projects.

Comment:

Where do you think AI cameras are being used today?

# data[].attributes.body
Change parameters:

Angle of servo motor movement

Colour of LED lights

Sound?

Pun En to test the code.

# data[].attributes.attachment_link.readable_text
import sys
sys.path.append('/flash/apps')
import hkylen
import unit
from m5stack import *
from m5ui import *
from time import sleep

#===== Declarations =====#
servo_0 = unit.get(unit.SERVO, unit.PORTC)

#===== User-Defined Functions =====#
def displayResult(faceID):
    if (faceID == 1):
        lbl.setColor(lcd.RED)
        rgb.setColorAll(lcd.RED)
        lbl.setText('FACE ID: 1')
        servo_0_90_0()
    elif (faceID == 2):
        lbl.setColor(lcd.GREEN)
        rgb.setColorAll(lcd.GREEN)
        lbl.setText('FACE ID: 2')
        servo_0_90_0()
    elif (faceID == 3):
        lbl.setColor(lcd.BLUE)
        rgb.setColorAll(lcd.BLUE)
        lbl.setText('FACE ID: 3')
        servo_0_90_0()
    elif (faceID == 4):
        lbl.setColor(lcd.YELLOW)
        rgb.setColorAll(lcd.YELLOW)
        lbl.setText('FACE ID: 4')   
        servo_0_90_0()
    else:
        lbl.setColor(lcd.WHITE)
        rgb.setColorAll(lcd.BLACK)
        lbl.setText('No Face ID')

def servo_0_90_0():
    servo_0.write_angle(90)
    sleep (2)
    servo_0.write_angle(0)
    

#===== Main =====#
lcd.clear(lcd.BLACK)
lcd.font(lcd.FONT_DejaVu24)
servo_0.write_angle(0) 
hkylen.setAlgorithm(hkylen.FACE_RECOGNITION)

while not (hkylen.isReady()):
    lcd.print('Huskylens Not Ready!', 10, 0, lcd.CYAN)

lcd.clear(lcd.BLACK)
lcd.print('Face Security Demo', 10, 0, lcd.CYAN)
lbl = M5TextBox(15, 90, '', lcd.FONT_DejaVu56, lcd.WHITE)

displayResult(0)
while True:
    hkylen.update()
    if hkylen.blockIsReady(1):
        displayResult(1)
    elif hkylen.blockIsReady(2):
        displayResult(2)
    elif hkylen.blockIsReady(3):
        displayResult(3)
    elif hkylen.blockIsReady(4):
        displayResult(4)
    else:    
        displayResult(0)       
    sleep(2)

# data[].attributes.body
Create a unit - ENV III

# data[].attributes.headline
Machine Learning: Object Classification Mode

# data[].attributes.subject
Machine Learning: Object Classification Mode

# data[].attributes.body
How and where can we apply this technology?

# data[].attributes.headline
Activity 4.6: Create a smart recycling bin

# data[].attributes.subject
Activity 4.6: Create a smart recycling bin

# data[].attributes.body
Create a AI-powered recycling bin. When an aluminum can is detected, the recycling bin doors will open. If it is not, the doors should stay shut to deter contamination.

LCD displays "non-metal" if other items are detected

Servo motors control the doors to open or close

Green or red lights for visual feedback

# data[].attributes.body
Download text code Link: ____________

Change parameters: Example

# data[].attributes.attachment_link.title
HUSKYLENS – An AI Camera: Click, Learn, and Play!

# data[].attributes.body
Day 4 Reflection (in your slides):

3 things you have learnt.

2 things you liked.

1 challenge you faced.

# data[].attributes.body
What are the code blocks required?

Put the code blocks into the right structure

# data[].attributes.body
We need to connect the AI Camera (Husky Lens) to the Microprocessor (M5Go) and draw power from it.

# data[].attributes.wish_content.attachment_props.poll_choices[].choice_text
Artificial Igloos: Cutting-edge technology in the construction of ice homes.

# data[].attributes.wish_content.attachment_props.poll_choices[].choice_text
Avocado Inspector: A highly trained professional who evaluates the ripeness of avocados.

# data[].attributes.wish_content.attachment_props.poll_choices[].choice_text
Artificial Intelligence: A computer performing tasks that would typically require human intelligence

# data[].attributes.wish_content.attachment_props.poll_choices[].choice_text
Automated Ice cream: Robots dedicated to making the perfect scoop of ice cream.

# data[].attributes.headline
Activity 3.1: Husky Lens to M5Go Hardware Connection (to Remove)

# data[].attributes.subject
Activity 3.1: Husky Lens to M5Go Hardware Connection (to Remove)

# data[].attributes.body
(Outdated)

Follow these steps to connect your Huskylens

# data[].attributes.body
Day 2 Reflection (in your slides):

Use Image Gen AI to show what your have learnt today.

# data[].attributes.body
Comment:

What's an example of Artificial Intelligence (AI) you have seen in your personal life or seen in movie or book?

# data[].attributes.headline
Activity 3.1: Connecting your Huskylens to M5GO

# data[].attributes.subject
Activity 3.1: Connecting your Huskylens to M5GO

# data[].attributes.headline
Activity 3.2: Machine Learning: Facial Recognition

# data[].attributes.subject
Activity 3.2: Machine Learning: Facial Recognition

# data[].attributes.body
Here's how to 'Learn' different faces using the Husky Lens.

Note: Ensure your camera is setup to learn MULTIPLE FACES.

Face Recognition > toggle 'LEARN MULTIPLE'

# data[].attributes.attachment_link.title
What is Artificial Intelligence? | Quick Learner

# data[].attributes.headline
How do you think AI can be infused into your project?

# data[].attributes.subject
How do you think AI can be infused into your project?

# data[].attributes.body
With some basic knowledge gained about AI, how do you think AI can be infused into your project?

Write down some ideas in the comments below:

# data[].attributes.body
Day 1 Reflection (in your slides):

3 things you have learnt.

2 things you liked.

1 challenge you faced.

# data[].attributes.body
Using text generative AI, create a paragraph that describes your persona.

Using image generative AI, create a photo realistic image of how your user might look like.

What is a Persona?

A persona refers to a fictional user or customer segment. It is a tool used by designers to understand and empathise with the target audience during the design development process.

For example, if designing a new mobile app for seniors, personas might include "Grace," a retired teacher who values simplicity and clear instructions, and "Robert," a tech-savvy grandparent who enjoys staying connected with family through technology. These personas guide the design team in creating features and interfaces that cater to the specific preferences and needs of these users.

# data[].attributes.body
Now that you have learnt about AI, how do you think you can use AI make your solutions more productive?

Comment:

Group Number: ____

New/updated Problem Statement: _____________________________________

# data[].attributes.headline
What are some ways I can collaborate with my group mates?

# data[].attributes.subject
What are some ways I can collaborate with my group mates?

# data[].attributes.body
Enter some suggestions into the comments

# data[].attributes.headline
Some ways you can collaborate with your group mates

# data[].attributes.subject
Some ways you can collaborate with your group mates

# data[].attributes.body
Delegate parts of the project

Share ideas - No idea is too small or unimportant.

Listen Actively - listen before reaching a conclusion

Compromise when conflict arise

Have FUN!

# data[].attributes.body
In your Student Booklet, sketch 4 or more ideas.

Each idea should include the use of any type of AI technologies you have learnt.

# data[].attributes.body
A flowchart is a diagram that uses shapes, lines, and arrows to sequence steps. It is a visual way of representing the input, output, decisions, and calculations that take place within a program.

Flowcharts are often used by programmers to organize and share their ideas. In fact, they are so useful that most professions use them to communicate how a process works including engineers, scientists, manufacturers, business managers, and health care workers.

# data[].attributes.body
Flowchart symbols are graphical representations of various components of a process or system. Each symbol is used to denote a particular action, decision, or result in the process being represented. Each symbol also has a specific meaning.

Use an oval to mark the beginning and end of the program.

Use a parallelogram to show input or output. Input could be the user entering information. Output could be a message on the screen.

Use a rectangle to process an action. It could be a formula to calculate a value, or it might be a step that modifies text.

Use a diamond to make decisions. This shape will have two or more lines that come from it – one for each outcome. This step might ask a question or provide options. The result could be true or false, yes or no, or choices (red, blue, or green).

Use lines to connect the shapes. The arrows show the direction of the steps. Some lines should include labels, such as yes or no, to explain what is happening.

# data[].attributes.headline
6.3: Create a AI-generated image of your prototype

# data[].attributes.subject
6.3: Create a AI-generated image of your prototype

# data[].attributes.body
Using Stable Diffusion, create a realistic image of your prototype.

Remember, should it not create something you are looking for, refine your prompt and try again.

In your project portfolio (slides):

Upload the image to your project portfolio.

# data[].attributes.body
Using the materials provided, create a working prototype to address your problem statement.

# data[].attributes.body
Take a screenshot of your code and upload it your Project Portfolio.

# data[].attributes.attachment_link.title
How to Make a Flowchart for Programming Easy to Understand

# data[].attributes.attachment_link.description
When teaching programming to beginners it is important your students understand how to make a flowchart. A flowchart is a diagram that uses shapes, lines, and arrows to sequence steps. It is a visual way of representing the input, output, decisions, and calculations that take place within a program. There are many benefits to including flowcharts as part of your curriculum. Discover their educational value and helpful strategies that can enhance learning.

# data[].attributes.body
In your Project Portfolio (slides), answer the following questions about your project:

1. What went well:

2. What could have been better:

3. Needs more research:

4. New Ideas:

# data[].attributes.body
if any?

# data[].attributes.body
https://create.kahoot.it/share/day-2-admiralty-cff/893860f8-d3b9-47eb-a3c3-e0d88f2f44aa

--> remove link from padlet as students will be able to view answers.

To review and test.

# data[].attributes.attachment_link.description
Join a game of kahoot here. Kahoot! is a free game-based learning platform that makes it fun to learn - any subject, in any language, on any device, for all ages!

# data[].attributes.body
Steps here

# data[].attributes.body
download V0.5.1a

*download burner/flash software first:

https://raw.githubusercontent.com/HuskyLens/HUSKYLENSUploader/master/HUSKYLENS%20Uploader-V2.1.zip

# data[].attributes.body
Step 1: Use a Google Drawing app to create a flowchart

Step 2: Upload your flowchart to Google Slide (export as an image)

# data[].attributes.body
Each group will have 5 minutes to present their completed work.

Presentation Guideline:

1. Group Project Portfolio slides

2. Your problem statement

3. Who is the intended user

4. How does your prototype help the user address the problem statement?

5. How did AI help you in this project?

# data[].attributes.headline
Huskylens Multiple Face Recognition Instructions

# data[].attributes.subject
Huskylens Multiple Face Recognition Instructions

# data[].attributes.body
Follow the steps to enable multiple face recognition feature. Otherwise the Huskylens will only be able to record 1 Face ID.

# data[].attributes.body
In your Project Portfolio (slides):

List 4 ideas where you think this can be done to solve your problem statement.