Getting Students Coding
david.hay@eips.ca
@misterhay
tinyurl.com/studentscoding
Description
Programming is not just for nerds and computer scientists, it is being used across all disciplines. You'll be able to see examples of some easy ways to start programming, including Scratch, Touch Develop, Google Apps Script, Swift, Python, OpenSCAD, and Arduino. Regardless of what, or who, you teach you can find something here that will interest you. In an increasingly automated world, we can prepare students to direct and control the machines.
Hour of Code
The Importance of Computational Thinking
Definitions
Programming - writing programs
Coding - converting meaning, but has become synonymous with programming
Computer Science - study of theory, methods, and of computers, data, etc.
Computational Thinking - designing computable solutions to problems
http://www.bbc.co.uk/education/guides/zp92mp3/revision
A complex problem is one that, at first glance, we don't know how to solve easily.�Computational thinking involves taking that complex problem and breaking it down into a series of small, more manageable problems (decomposition). Each of these smaller problems can then be looked at individually, considering how similar problems have been solved previously (pattern recognition) and focusing only on the important details, while ignoring irrelevant information (abstraction). Next, simple steps or rules to solve each of the smaller problems can be designed (algorithms).
�Finally, these simple steps or rules are used to program a computer to help solve the complex problem in the best way.
http://www.bbc.co.uk/education/guides/zp92mp3/revision
Programming
Variables
Loops
Conditionals
Functions
Scratch
A drag-and-drop environment designed to “create stories, games, and animations”.
Also great for teaching math and anything else
Online at http://scratch.mit.edu/
Microsoft Touch Develop
Create apps on a phone, tablet, or laptop.
Includes resources for educators: https://www.touchdevelop.com/docs/teach
MIT App Inventor
Python
A programming language designed to be easy to read, with simple syntax.
Jupyter Notebook: https://cybera.syzygy.ca
Use it with students: https://repl.it/site/classrooms
Try it online at http://www.trypython.org
(one of my favourites)
Google Apps Script
Swift
OpenSCAD
Programmatically generate 3D CAD objects
(also check out http://openjscad.org/)
Arduino (and ESP8266)
Programmable Microcontroller
Programming/Circuit simulator at 123d.circuits.io
mBot
Drones, Lights, etc.
Drag and Drop Coding Apps
Online Learning
Perhaps CodeAcademy.com and Khan Academy
Without Computers
Programming in...
Python Examples (Jupyter)
github.com/misterhay/math