Machine Learning

Machine learning and neural networks have become key techniques for solving some of society's most difficult problems. There is a lack of understanding with regards to machine learning which has lead to feelings of concern in the public. Teaching machine learning to high school students is possible; in doing so students will gain the ability to create an informed opinion on machine learning applications and complexity.  

html templates


The machine learning unit of study is designed to expose students to a variety of neural network styles and applications. It features a training lab that allows students to train simple neural networks, activities and worksheets that lead students through open source learning aids and media content. The training lab is the niftiest component as the lab demonstrates the simplicity of a neural network design in a familiar format. 



The unit theme is machine learning. The lessons revolve around topics such as; computational thinking, social impact, computational history, and ethics. Students are exposed to perceptrons, sigmoid neurons, genetic algorithms, supervised, and unsupervised networks. 



This unit was written for an AP Computer Science Principles classroom. The worksheets, activites, and lab require no prior programming knowledge and could be used in any introductory course.



This is an introductory to intermediate unit approriate for high school, CS0, or CS1 classrooms.



This unit forces students to think critically about machine learning, explore types, and experiment with neural networks. The resources and videos are engaging and often very exciting. A balance is provided in covering different topics in the field of machine learning.



Although the lab does not require programming, it does require as student to import the project into Eclipse. Gridworld is the backbone of the lab and some students may be initially intimidated by the classes that are imported so that the project can function. 



Students will need to install and set-up eclipse. They do not need any prior programming experience. 



In the unit of study outline below information is organized by topic. Any topic of activities can be taught in issolation without the entirety of the unit.  


Varients Two

The lab component of the activity uses Gridworld and three perceptron networks to function. Given instruction on programming genetic algorithms students could modify the activity to train intelf through experience. Students could also modify the network to employ sigmoid neurons instead of perceptrons to create a more dynamic result and use less networks.


Time Allocation

Each activity link will take around one 45 minute class period to cover. The PowerPoint and Lab are designed for a single 90 minute block period. 

45 minute periods should plan for 12 class periods total of content. 

90 minute periods should plan for 6 periods total of content. 


Teach students about neural network algorithms.

Positively impact student perceptions of advanced computing topics and computer science as a field of study.

Observe and draw conclusions about various types of neural networks.

Research and discuss with students social issues related to neural networks and machine learning.

Outcomes - Students will...

Define key vocabulary:     
machine learning, neural networks, genetic algorithm, perceptron, sigmoid neuron, backpropagation

Describe the difference between supervised and unsupervised machine learning

Analyze the relationship between training data and testing data

Outline the path of data from inputs, weights, neurons, output, and backpropagation

Successfully train a simple neural network controlling a driving simulation

Evaluate models to apply abstraction at a high level

Gain increased confidence in computing, machine learning understanding, computer science, and advanced computational topics

Machine Learning

A high school unit of study