Homeschool Conference (201503)

Wray, 2015-03-24, Notes

adafruit, binary, computer science, gemma, lightbot, python, raspberry pi

Since I covered a bunch of stuff, here are some of the references and high points from my talk: "Technology in your Homeschool Curriculum"

Homeschool Student working on code for microcontroller

The links

History

ENIAC vs. Raspberry Pi

ENIAC vs. Raspberry Pi

Binary Logic

What can one do with billions of transistors?

Start with one transistor, simple switching device (digital). It's on or off, true or false, 0 or 1. Wire a couple together and you get an AND gate.

AND Gate

Combine a NOT gate and an AND gate and you can solve the truth table where you want the output to be true (1) only when B is 1. That is to say: let there be truth when (NOT A) AND B.

"Quarter" Adder

So, if you wire the A input to a NOT gate and have that go into an AND gate that B is also wired to, then you have the result. Suppose you now want to add A and B, then simply use the mirror of (NOT A) AND B and "OR" it: ((NOT A) AND B) OR (A AND (NOT B)). That gives you the sum, but don't forget the carry which is simply A AND B.

Half adder truth table Half adder circuit Half adder running circuit

Now you have a binary half adder (you can add two digits). Combine two of those (along with an OR of the CARRY output for each) and you have a full adder. String together 3 full adders and you can add two 3 digit binary numbers!

Binary addition Binary adder circuit Binary adder running circuit

Wasn't that easy??

Coding

Having gone through lightbot, a teacher can re-iterate the fundamentals with a language like Python: procedures, overloading, loops, and conditionals. Futhermore, with concepts learned in Scratch, Hopscotch, and even game-creation apps like GamePress, variables of varying data-types can be explained. Start with a simple program to emulate "Mad Libs" and work up to more complex programs that can leverage device (pythonista) libraries for accelerometer or screen input; leverage minecraft (Bukkit server) libraries to build things in a Minecraft world; leverage GPIO libraries to read sensor input/update led output from a raspberry pi cobbler kit.

Make it... Fun

This BMO-creeper contains a student coded microcontroller, not TNT.

BMO-Creeper