Where next? - Programming


There are many languages you could learn. It is recommended that you learn one well rather than try and learn many languages. This is because most languages use many of the same constructs and solving problems is about computational thinking. Once one programming language is learnt well it is not very difficult to learn another.

There are also different learning styles that suit different students: Some prefer a very logical structure so they know where they are. Other students prefer to learn by building projects. The brief descriptions next to the following learning opportunities should help you find a system that covers what you want to learn and in a way that you will enjoy.

Tutorial Based learning:

CS First  
MIT app inventor Target Age: 9-14
Language: Scratch
Learning Style: Take part in as many themed tutorials as you wish.
Notes: The themes are chosen to illustrate the applicability of Computer Science and engage students. Use scratch to learn about: Animation, Art, Fashion, Friends, Game Design, Music & Sound, Social Media, Sports and Storytelling.

Code Club  
MIT app inventor Target Age: 9-11
Languages: Scratch, Python, HTML and CSS
Learning Style: Free after school clubs
Notes: Click on the logo and go to the bottom of the home page to see if there is a club near you - there probably is!​​

Codecademy  
MIT app inventor Target Age: 10-18
Languages: Python, Ruby, Javascript and many more
Learning Style: Free step by step online tutorials
Notes: Click on the logo to register so the site can keep track of your progress

CS Circles  
MIT app inventor Target Age: 10-18
Language: Python 3
Learning Style: Free structured online tutorials
Notes: The tutorials, provided by the University of Waterloo, can be worked through in order or used to fill in missing areas when preparing for the OUCC.

Greenfoot - Joy of Code  
MIT app inventor ​​Target Age: 10-18
Language: Java using Greenfoot
Learning Style: Free online video tutorials that slowly introduce syntax through fun programming projects
Notes: The tutorials, provided by Kent, should be worked through in order initially.

 

Experimental / play based learning:

Google Blockly  
MIT app inventor Target Age: 10-15
Languages: Blockly and Javascript
Learning Style: A series of increasingly difficult puzzles
Notes: The puzzles start off very easy with the aim of getting you used to Blockly but get increasingly challenging. A great way of preparing for the easier questions in the OUCC.

Google Pencil Code  
MIT app inventor Target Age: 10-15 (who have a basic knowledge of Python)
Languages: Coffeescript, Javascript, CSS, and HTML
Learning Style: Choose from creating art, music or coding an adventure and learn with blocks or text based programming
Notes: Learn professional programming languages using an editor that lets you work in either blocks or text. Create art, music, games, and stories. Or invent a program that will change the world.

Project Euler  
MIT app inventor ​​Target Age: 13-adult
Languages: Any
Learning Style: Free interactive puzzles with hints and solutions
Notes: Project Euler is a series of challenging mathematical/computer programming problems that get increasingly difficult. Earlier problems expose you to new concepts that allow you to undertake previously inaccessible problems.

Oxford Turtle System  
MIT app inventor Target Age: 10-18
Languages: Turtle graphics code and Pascal, Python 3 or Basic
Learning Style: A playground with many examples to explore and adapt.
Notes: The logo to the left links to the home page. If you are not on a windows machine then click the Turtle Online button.

 

Programming Books:

Coding Club Books  
MIT app inventor Target Age: 10-15
Language: Python 3
Author: Chris Roffey
Learning Style: Short books with carefully selected levelled, engaging content.
Notes: These books introduce programming concepts and develop project building skills - published by Cambridge University Press

Introduction to Programming with Greenfoot  
MIT app inventor Target Age: 11-18
Language: Java using Greenfoot
Author: Michael Kölling
Learning Style: Engaging scenarios are used to introduce concepts.
Notes: This book introduces object-oriented programming in Java with games and Simulations using Greenfoot. No previous experience is required.

Learn to Program with Scratch  
MIT app inventor Target Age: 11+
Language: Scratch 2
Author: Majed Mari
Learning Style: A visual introduction to Programming with Games, Art, Science and Maths.
Notes: This book teaches computer science and programming concepts through Scratch. No previous experience with Scratch is required. It is very comprehensive with many interesting examples.

Python Programming for the Absolute Beginner  
MIT app inventor Target Age: 11+
Language: Python 3
Author: Michael Dawson
Learning Style: A carefully structured introduction to Python using engaging examples.
Notes: This book takes readers with no experience in Python or programming through to a good grounding in most areas.