Resources for teaching K-12 Computer Science & Engineering

Spotlight on recommended resources

Picobot

Zach Dodds (Harvey Mudd College), Wynn Vonnegut (Harvey Mudd College)

Students are challenged to specify rules that will guide Picobot within its environment, which can be any of several grids of square cells. Picobot can sense the occupancy of neighboring cells to its N, E, W, and S. It can move to the N, E, W, or S -- or stay in place. Picobot also has the ability to remember a single number from 0 to 99: this number is called its "state." Picobot starts in state 0. The students' task is to create rules that guide Picobot to traverse every empty cell in its environment. ...

User lognaturel rated this resource and commented:

A great introduction to the idea of state machines and computation in general. I threw this to AP computer science and intro to Python students (grades 9-12) who were ahead and they found it interesting and challenging.

Recently Added


Programming for the World Wide Web

Jesse M. Heines, Zori A. Babroudi, Elad Shahar

Materials for teaching a 5-day workshop to introduce students to basic web programming. This workshop deals with HTML, CSS, and JavaScript, the three main technologies used to implement web pages. ...

Ajax Css Html JavaScript Json Workshop

27 Feb 2012

added by garykac


Robocode

Robocode is a programming game where robots are programmed to compete against each other. Each robot has radar and a gun so that it can detect and destroy other robots. Robots are written in Java and ...

GameProgramming Java Robots

24 Feb 2012

added by garykac


Binary Fun

Jerry Wolski

Binary Fun is a simple Flash game that challenges players to enter the correct binary number for a given decimal number before the timer runs out.

Binary Flash Games

24 Feb 2012

added by garykac


Learn Java in N Games

Peter Drake

This project aims to provide a complete curriculum for a second course in computer science, built around a series of board game implementation projects in Java.

Curriculum Games Java

24 Feb 2012

added by garykac


Finch Robot

The Finch is a robot created Carnegie Mellon's CREATE lab specifically for use in computer science education. It is designed to easily integrate into high school and college CS courses and permits stu...

C++ Java Processing Python Robots Scala VisualBasic

24 Feb 2012

added by garykac


Cisco Binary Game

Cisco Systems Inc.

The Cisco Binary Game is a web-based game for practicing binary numbers by converting to/from decimal. The game starts filling the screen from the bottom with binary or decimal numbers. The binary ...

Binary Games

12 Feb 2012

added by garykac


Try Haskell

Chris Done

Online Haskell evaluator with introductory lessons.

Haskell Tutorial

4 Jan 2012

added by garykac


Real World Haskell

Bryan O'Sullivan, Don Stewart, and John Goerzen

This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You'll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding ...

Haskell

4 Jan 2012

added by garykac


Learn You A Haskell For Great Good

Miran Lipovača

"Learn You a Haskell" is self-described as "the funkiest way" to learn Haskell. This tutorial/guide is aimed at people who have experience in imperative programming languages (C, C++, Java, Python …) ...

Haskell Tutorial

4 Jan 2012

added by garykac


YOUSRC

YOUSRC (pronounced "You source") uses a very simple programming language called ELC that takes its roots from many of the common programming languages around. Because of this it is a very good startin...

none

20 Nov 2011

added by garykac


XKCD 953 - Binary

Randall Munroe

One a scale of 1 to 10, how likely is it that this question is using binary?

Binary Humor Xkcd

20 Nov 2011

added by garykac


A Bite of Python

Swaroop C H

This book serves as a guide or tutorial to the Python programming language. It is mainly targeted at newbies. It is useful for experienced programmers as well. The aim is that if all you know about...

Python

18 Oct 2011

added by garykac


Learn Python The Hard Way

Zed A. Shaw

Learn Python The Hard Way emphasizes precision, attention to detail, and persistence by requiring the students to type each exercise (no copy-paste!) and make it run, as well as to read up on outside ...

Python

18 Oct 2011

added by garykac


Kojo

Kogics

Kojo is an interactive "Learning Environment" that helps students explore computer programming through math, science, art and music using the Scala programming language. Inspired by Logo and Proces...

Scala

15 Sep 2011

added by garykac


Hello World! : Computer Programming for Kids and Other Beginners

Warren D. Sande, Carter Sande

Hello World! provides a gentle but thorough introduction to the world of computer programming. It's written in language a 12-year-old can follow, but anyone who wants to learn how to program a compute...

Python

15 Sep 2011

added by garykac


Problets

Amruth N. Kumar

Problets are web-based problem solving software assistants for learning, reinforcement and assessment of programming concepts. They are designed to help students learn programming concepts through sma...

Arrays C# C++ IfThenElse Java Loops Pointers VisualBasic

14 Sep 2011

added by garykac


The Bit-Wise Binary Tutor

justwebware

The Bit-Wise Binary Tutor is a fast and easy way to learn the basic principles of binary and hexadecimal numbers. A single value is displayed in binary, hexadecimal and decimal formats. Changing the v...

Binary Hexadecimal

14 Sep 2011

added by garykac


Snake Wrangling for Kids (Learning to Program with Python)

Jason R. Briggs

“Snake Wrangling for Kids” is a printable electronic book, for children 8 years and older, who would like to learn computer programming. It covers the very basics of programming, and uses the Python 3...

Python

6 Sep 2011

added by garykac


Eloquent JavaScript: A Modern Introduction to Programming

Marijn Haverbeke

Eloquent JavaScript is a book providing an introduction to the JavaScript programming language and programming in general. The book exists in two forms. It was originally written and published in d...

JavaScript Online

6 Sep 2011

added by garykac


Codecademy

Ryan Bubinski and Zach Sims

Codecademy is an online, interactive "Getting Started with Programming" class that introduces students to programming in JavaScript. The lessons are set up for self-study and the site grants achieveme...

JavaScript Online

5 Sep 2011

added by garykac


Computational Fairy Tales

Jeremy Kubica

"Computer science concepts as told through fairy tales." This is a collection of short stories (told in a fairy-tale style) that relate computer science concepts into a non-CS domain. They are inte...

ComputationalThinking

26 Aug 2011

added by garykac


Modkit

Modkit LLC

Modkit is an in-browser graphical programming environment for microcontrollers. It allows you to program an Arduino microcontroller using simple graphical blocks and/or traditional text code. The grap...

Arduino Microcontrollers VisualProgramming

26 Aug 2011

added by garykac


BOOleO

Tessera Games

Booleo (or B001e0) is a card game that requires students to use their knowledge of basic boolean logic gates to win. The game starts with a row of binary digits between the 2 players. Players take ...

BooleanExpressions CardGame Games Logic

25 Aug 2011

added by garykac


c-jump : Ski & Snowboard Race

Igor Kholodov

c-jump is a board game where 2-4 players race to be the first to get to the bottom of the ski slope. The players movement is determined by the roll of a dice and the simple programming expression in t...

BoardGame Games IfThenElse

25 Aug 2011

added by garykac


StencylWorks

Stencyl, LLC

StencylWorks is a visual programming environment based on Scratch that allows students to create Flash games that can then be shared on the web. To create games, you must first download the StencylWor...

Flash GameProgramming Scratch VisualProgramming

20 Jul 2011

added by garykac


Add Resource

Sign in to add a new resource, or you can suggest one anonymously.