Skip to content
/ AIML Public

This is an education repository that aims to teach AI and Machine Learning using images.

License

Notifications You must be signed in to change notification settings

pattichis/AIML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

200 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIML

This is an education repository that aims to teach AI and Machine Learning using images.

The website provides Google Colab notebooks used in a workshop focused on teaching middle-school and high-school students to program AI models using Python. The website provides material for two major projects. The first project involved the creation of a digital color video using hexadecimal (see Session 8 below). The second project was to train multiple AI models (see Session 16 below).

The workshop was co-sponsored by CYENS, the IEEE Signal Processing Society, and the Cyprus Section of the IEEE Signal Processing Society.

To run the tutorials, you will need a free Gmail account. To run the tutorials, you will only need to click on the links below. If you need a video introduction on how to run Google Colab notebooks, you can use Google Colab tutorial.

If you use material from this website, please cite using:

APA style:
Marios S Pattichis. (2025). pattichis/AIML: An introduction to AI and Machine Learning for middle-school and high-school students (v1.0.0). Zenodo. https://doi.org/10.5281/zenodo.16888480

IEEE style:
Marios S Pattichis, “pattichis/AIML: An introduction to AI and Machine Learning for middle-school and high-school students”. Zenodo, Aug. 17, 2025. doi: 10.5281/zenodo.16888480.

If you prefer to cite the workshop itself, you can use:
Pattichis, M.S. (2025). Train your own Mini AI!, Summer School, CYENS. Nicosia, Cyprus. https://github.com/pattichis/AIML.

CYENS Summer School

Sessions

Session 1. An Introduction

  1. Session 1.1 Introduction to Variables and Strings
  2. Session 1.2 Working with AI
  3. Session 1.3 An adversarial attack example of where we are going
  4. Session 1.4 A video inference mode example of where we are going

Session 2. Number Guessing Game

  1. Session 2. Number Guessing Game

Session 3. Loops, conditionals, and sequential thinking

  1. Session 3.1 Loops, conditionals, and sequential thinking
  2. Session 3.2 Escape the Maze Game

Session 4. Binary numbers and hexadecimals

  1. Session 4.1 Binary numbers and hexadecimals

Session 5. Lists and black and white images

  1. Session 5.1 Lists and black and white images

Session 6. Color images

  1. Session 6.1 Color images

Session 7. NumPy arrays and color image analysis

  1. Session 7.1 NumPy Arrays
  2. Session 7.2 Color image Analysis

Session 8. Video creation project

  1. Session 8.1 Create videos
  2. Session 8.2 Video template

Session 9. Dictionaries, functions, and object-oriented programming (OOP)

  1. Session 9.1 Dictionaries
  2. Session 9.2 Functions
  3. Session 9.3 Object-oriented programming with classes.ipynb

Session 10. An introduction to neural networks, K-NN, classifiers, and clustering algorithms

  1. Session 10.1 Introduction to nearest neighbor classification
  2. Session 10.2 MNIST and K-nearest neighbor
  3. Session 10.3 K-means
  4. Session 10.4 Classifiers comparisons (from Scikit Learn)
  5. Session 10.5 Clusterings comparisons (from Scikit Learn)

Session 11. An introduction to convolution using tensors

  1. Session 11. An introduction to convolution using tensors

Session 12. The linear layer

  1. Session 12. The linear layer

Session 13. Max pooling

  1. Session 13. Max pooling

Session 14. Activation functions

  1. Session 14. Activation functions

Session 15. Loss functions

  1. Session 15. Loss functions

Session 16. Models

  1. Session 16 Models

Assignments

The sessions were designed to be self-paced. Work through each Google notebook and try to answer each question. The following assignments help you think through the material.

Video project assignment

Complete Sessions 1 through 8. At the end of Session 8, you are provided with a template to create your own color video. Use the template to create your own color video.

Your video should include:

  1. Complex object movements beyond the examples.
  2. A minimum of 10 color frames.
  3. The use of NumPy array operations as demonstrated in Sessions 1 to 8.

Deliverables:

  1. A PDF of the Python code used to make the video.
  2. The actual video that was generated.

Machine learning model training

Session 16 provides parametrizable CNN models that you can train. Experiment with a few (at least three) CNN models and the Linear model for the given classification problem.

Deliverables:

  1. A PDF of the Python code used to generate the different models. Use the provided code to print the architectures and the number of parameters.
  2. Screenshots of the achieved accuracy as a function of the number of epochs and the value of the loss function.
  3. A discussion comparing the required number of epochs, total number of parameters, final value of the loss function, and achieved accuracy.

About

This is an education repository that aims to teach AI and Machine Learning using images.

Resources

License

Stars

Watchers

Forks

Packages

No packages published