Description
Computers and Programming / Grades 8-12 / Period 7 / MBH
Computers and Programming is a three-trimester course, focusing on how to understand and program computers of various kinds, and how they connect to the real world, and how to understand technology driven by computers. At the heart of the class, we will be working with the Arduino Uno microcontroller board, which provides a simple base for projects that do interesting things – lights, motors, clocks and such. Our base language will be C++. But the class has as its broader goal to enable the students to see the technical world around them as understandable and “do”-able – to get a taste of engineering.
First Trimester: Introduction to computers and beginning C programming
The first trimester lays the basis for the class, and is designed as a “way computers work” kind of course. We will start with a look inside a microcomputer chip and understand how it works: memory, digital logic, computation, and how to get information in and out. Principles of electronic components used in the programming items will be explained. We will also study how to analyze real-world systems in order to understand how to simulate them on a computer. We’ll even look inside some of the devices we study (a toaster and a PC).
There will be no text for the class, but we will use the instructions that come with our experiment kit to plan classes for the first two trimesters
For the experiments, each student will need to purchase the ELEGOO Mega R3 Project Ultimate Starter Kit. This kit contains the computer board we will be using for all three trimesters, everything necessary to hook it up to the student’s home computer or laptop, and a selection of electronic components that we will use in the lessons (some additional components may be added by the instructor out of the lab fee). Most weeks the student will be using a selection of the components in the kit (or additional ones provided by the instructor) to construct and program a working device. These will include:
- Blinking lights
- Light sensitive switch
- Playing music
- Mixing colors
- Reading temperature
- Controlling real-world devices
- Electric motor
Second Trimester: Using the Arduino
We will continue to work with the Arduino kit. Work will include more complex projects and concepts, as well as pure programming tasks (Conway’s “Game of Life”, simple games). Lessons, including both diagrams for connecting the components and programs for the students to enter and run will be provided, and each week there will be suggestions for the student to vary the program to change the behavior of the device.
Most of the lessons will include reading on the web, so the student should have web access.
Third Trimester: Computers in the Real World
In the final trimester, we will look at how programming is used in the broader world (websites, office tools like Excel, cars). We will look at the basics of other computer languages like Python, Java and HTML.
Part of the class will be a larger Arduino project which is yet to be decided – a simple robotic device, or an electronic door lock, or a full-function clock are some of the items that can be chosen. Students will work together to make the choice of project and design / implement the various parts of that project. The result may be a single class project item, or individual devices for each student.
Note to parents: Students must have access to a personal computer and the ability to download and install software. Some learning and much enrichment material in this and subsequent trimesters will be referred to by web links. These are required reading for the students.
Prerequisites: Algebra (students must know how to work equations, and that letters can be used to replace numbers).
Grading: This and subsequent trimesters are considered enrichment classes, and no letter grade will be assigned. Instead, the instructor will send a brief discussion of each student’s work to the parents.
Class size: 3 minimum, 6 maximum
Class time: 3:30 – 4:20
Grade level: 8 – 12
Taught by: Mark Hanson
Materials fees: $10
Materials needed: ELEGOO Mega R3 Project Ultimate Starter Kit
Class code: MBH7


