Grok Learning & BBC micro:bit
The central educational website we will use, Grok Learning, is an online interactive platform that offers coding classes in Python, Java, HTML, and several other contemporary languages. A Grok Learning tutorial comprises a series of lessons, structured as short explanatory notes interleaved with coding challenges that build on one another. Coders create their programs using the GL in-browser programming environment and are marked instantaneously by an auto-grader. The site offers feedback for solved problems, badges for completing certain tasks, competitions at various skill levels, and leaderboards for certain courses.
This fall, we will work through the Grok Learning micro:bit Crash Course. The micro:bit is a pocket-sized programmable computer with a 6x6 LED display, a built-in compass, motion detection, and Bluetooth technology. We will program it using Python. The tutorial will introduce coders to problem-solving concepts that are the building blocks of nearly all programming languages: variables, loops, conditionals, and data structures. These core concepts can be combined to solve many kinds of problems, whether you’re building a game, running a simulation, or creating digital art.
Coders can find tutorials, project ideas, design practices and more at groklearning.com. They can also explore many other activities with the micro:bit at https://microbit.org/ideas/.
Coding Environments
Other high-quality coding environments which coders may enjoy exploring include:
-
Codesters — A self-paced environment for learning Python and creating personal projects. Requires an account and password.
-
Repl.it — A cloud coding environment supporting multiple languages, including Python, JavaScript, HTML, C++, and more.
-
Khan Academy — Used for live programming/editing, sharing code, and video resources.
-
micro:bit — Used for programming a BBC Micro Bit, a computer system half the size of a credit card designed by the British Broadcasting Corporation for use in computer education in the UK.
-
ProcessingJS — API used to enhance assignments.
-
JSFiddle — Used for building websites and sharing code.
-
Fluid UI — Live editor used for building storyboarding/wireframing and building websites
Online Learning
There are countless opportunities to learn coding online free of charge and at your own pace. Some that we recommend include:
-
Crash Course Computer Science — Video series tracing the origins of computers, explaining the big ideas that gave us our current hardware and software, discussing how and why our smart devices just keep getting smarter, and much more. Produced by PBS Digital Studios.
-
Made with Code "inspires girls to pursue their dreams with code" — Find projects challenges, mentor vignettes, and event links.
-
Codecademy — Learn to code interactively, for free. Offers lessons in Python, JavaScript, Ruby, HTML/CSS, and more.
-
CSFirst — An offering from Google to inspire kids to create with technology through free computer science clubs.
-
Pencil Code — A collaborative programming site for drawing art, playing music, and creating games. It is also a place to experiment with mathematical functions, geometry, graphing, webpages, simulations, and algorithms. Programs are open for all to see and copy.
-
EarSketch — Helps you learn coding through music. Coders use sounds from the EarSketch library or sounds they create, along with Python or JavaScript code, to produce studio quality music.
-
Coding with Chrome — A Google project to provide an easy-to-use coding environment within the Chrome browser that even works offline. Currently, users are able to create programs using Blockly, Coffeescript, HTML, Javascript with output to Logo Turtle and/or connected toys such as the Sphero and Lego Mindstorms. Filled with examples and tutorials at several levels.
-
Code Studio from Code.org — Home to numerous online courses that teach Computer Science fundamentals to all ages.
-
CodingBat — A free site of live coding problems to build coding skill in Java and Python. CodingBat is a project by Nick Parlante, a computer science lecturer at Stanford.
-
PythonTutor — Created by Philip Guo, helps people overcome a fundamental barrier to learning programming: understanding what happens as the computer executes each line of a program's source code.
-
LearnPython.org — Whether you are an experienced programmer or not, this website is intended for everyone who wishes to learn the Python programming language.
-
PySchools — A website designed to help you learn Python programming. The website contains tutorials, practices, and challenge problems. It also has an online Python editor with good reference examples.
-
W3Schools — A fantastic tutorial site for learning HTML, with examples of almost every web technology out there.
-
Software, Programming, and Coding for Kids — A guide to introducing code to kids with programming and html tutorials/games. It also has some interesting information about what a software engineer does and other fun computer science resources. (h/t to Diane Miller in Colorado for the pointer)