Introductory to Advanced Programming Resources
Introductory Programming
Scratch
Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.
Alice
Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. An introductory teaching tool for computing, it uses 3D graphics and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience.
BeeperBot
BeeperBot, or BB for short, is a programming environment to control a primitive graphical robot that exists in a two dimensional grid world. We often refer to the robot as BB itself. The robot can only interact with walls and beepers.
PET
PET (or the Program Exploration Tool) is an easy-to-learn programming language which is executed inside a separate user interface panel.
- Beeper Bot & PET resources
Application, sample programs and manuals
Introductory computing notes
Web
Learn HTML, CSS, Javascript and other languages of the web.
Codecademy teaches web fundamentals (and then some) through a series of interactive lessons.
Code/Racer is a multi-player live coding game that teaches you how to code a basic website using HTML and CSS.
Code Combat teaches Javascript through an interactive role-playing game.
Intro to Coding
Canada Learning Code has an Edmonton Chapter that puts on various beginner-friendly coding workshops.
Intermediate/Advanced Programming
Advanced Scratch
BYOB is an advanced offshoot of Scratch which attempts to extend the brilliant accessibility of Scratch to somewhat older users-in particular, non-CS-major computer science students-without becoming inaccessible to its original audience.
Panther is another advanced version of Scratch. With a host of new features such as file and webpage manipulation and advanced colour sensing, cloning and much more besides, Panther provides advanced usage for avid Scratchers around the globe.
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. It is the underlying technology that powers state-of-the-art programs including utilities, games, and business applications.
- Introduction to Computer Science using Java, Central Connecticut State University
- Free downloadable Java textbook, Blue Pelican Java
Gaming
ScriptEase is a model for AI scripting being developed by the Department of Computing Science at the U of A. The model is pattern template based, sllowing designers to quickly build complex behaviours without doing explicit programming.
Other Resources
Dick Baldwin offers hundreds of tutorials in Scratch, Alice, Java, JavaScript, C++ and more.
The New Boston is a channel on YouTube that offers video tutorials covering Java, C++, iPhone tutorials and more.
Gerry Donaldson is an experienced and active high school CS teacher in Alberta who maintains ComSci High and can be contacted for more information on AP and IB Computer Science materials.
K-8 Computer Science: Building a Solid Foundation is a collection of articles providing discussion, ideas for K-8 classroom activities and curriculum development, and resources for local advocacy efforts.
Competitions and Challenges
On most of these competition sites, you will find past exams, solutions and test data that can be used to prepare for other challenges like the Iverson Exam!
- Canadian Computing Competition
- USA Computing Olympiad
- ICPC World Finals - Past Problems (Advanced)
- Project Euler (Advanced)