Resources

Here are a few useful websites that can help you develop your coding skills and discover new languages. If you have any tips for more sites we can include here feel to drop us an email.


 Programming Resources

Beginner (Blockly languages)

Scratch

Scratch is a visual programming environment and toolkit for making games, animated stories and interactive art. If you’ve never coded before this is a great place to start! It has a huge online community and loads of starter projects to get you up and running. Here’s a link to the cards that we use.

Snap

Snap is the next step up from Scratch. Scratch is all about using blocks which are visual parts of code for programming. With Snap you can build your own blocks! It has mostly the same features as Scratch you can just take things a lot further with it. Snap is also from MIT the home of Scratch.

GP Blocks

GP Blocks is one step further along from Scratch & Snap. It’s very easy to program but it really introduces you more clearly to object oriented programming (OOP). It retains the simplicity of Scratch but it can teach you a lot more in programming terms. GP Blocks is even used on University courses!

Post Blockly – Next steps

GeekClub
Simple to learn games library for people new to Python, created in response to the question: “What shall I try after Scratch”. Includes plenty of examples that demonstrate moving sprites and simple games. Runs easily on anything with Python 3 on, including Mac, Windows and Raspberry Pi.

Text based languages

Python

We have some links on the Python page for Python language tutorials (here)

C#

C# is a great language – it’s used in Unity programming and is also used on an increasing number of A level course. It’s text based and object oriented.

IDE

You will need an IDE (Integrated development environment) to work in C#. All of the following are free or opensource (also free)

  • Visual Studio Community from Microsoft is used by many people and is an industry standard.
  • SharpDevelop. Much faster to use and takes up less memory than Visual Studio (but has less features – but for a beginning programmer it has everything you need)
  • MonoDevelop. This is the one Unity favour
  • Repl.it. This is a cloudbased IDE. You don’t need to install anything so it’s very fast and all of your projects will be on the cloud – but it doesn’t sync as nicely with Unity

Learning C#

  • DotNetAcademy - this is a really nice site that teachers you all of the basics of C#. It’s a lot easier to do this though if you have learned a lot of the basics in Python first
  • Microsoft have their own C# tutorial site which is very comprehensive
  • Learn CS – also have a nice C# tutorial site
Interesting Links from CoderDojo Members

Email us any interesting useful links you find and we will add them (and give you a credit)

Cryptography and Coding Link

A very interesting site on Cryptography with some good programing challenges sent to us by Noah Heim (thanks Noah!)

Other Programming Languages & Tutorials

Alice – Alice is kind of the 3D version of Scratch: you can make 3D animations, videos and interactive games using a graphical drag-and-drop interface. Alice teaches fundamental programming concepts through fun projects.

Khan Academy – Khan Academy has a great Computer Science section that teaches a broad range of introductory programming concepts through easy-to-follow videos. The rest of the Khan Academy site also has loads of useful related tutorials in maths, science and engineering.

Codecademy –  a fun and interactive way to learn how to code, Codecademy lets you write code directly in your browser and learn a wide range of languages by working on real-world projects. Current courses include HTML & CSS, Javascript, PHP, Python and Ruby.

Code School – similar to Codecademy, Code School teaches web technologies in the comfort of your browser with video lessons, coding challenges and screencasts. It has a selection of ‘paths’ you can follow in Ruby, Javascript, HTML & CSS and iOS, or a more advanced Electives path that covers the Git version control system and data visualisation in the R programming language.

Treehouse – Treehouse is a learning website that helps both beginners and professionals develop their coding skills. Although Treehouse works on a paid subscription basis, you can view loads of the videos for free and even take a couple of entire courses without a subscription. Loads of topics are covered including HTML, CSS, Javascript, Ruby, PHP, WordPress and mobile development.

30 Days to Learn HTML and CSS – covering the essentials of HTML and CSS in 30 short videos, this course takes you from the very beginning right through to completing your own website.

Try Ruby – a interactive site that introduces you to the Ruby programming language in 15 minutes. If you like Ruby, then why not move on to:

Rails for Zombies – Rails for Zombies lets you learn the Ruby on Rails web application framework directly in your browser, through five zombie-themed videos each followed by exercises. Rails for Zombies may leave you with a craving for brains and entrails. The developers have no liability.

Advanced

Mozilla – Mozilla (the developers of Firefox) have put together a whole bunch of resources to help you learn how to make websites as part of their Mozilla Developer Network initiative. Covering HTML, CSS and Javascript, the site includes loads of documentation and technical info for those who are already comfortable with the basics of web programming.

Google Code University – Google have put together a wide range of short courses covering more advanced and specialised subjects, including (as you’d expect) Android development and Google API integration, but also more general courses on Ajax, PHP and Go.

30 Days to Learn jQuery – following on from the 30 Days to Learn HTML and CSS course, this course uses the same format of 30 short videos to introduce you to the jQuery JavaScript library.

Ruby on Rails Tutorial – Ruby on Rails Tutorial is a free online book that contains some pretty indepth technical documentation, code examples and code challenges in the Ruby on Rails web application framework.

Vim Adventures – Vim is a super useful text editor with loads of powerful features, but it often takes a while to get the hang of. Vim Adventures is an online “Zelda meets text editing” game that uses Vim’s keyboard shortcuts to help you learn Vim – it’ll soon become your new favourite text editor!

The Github Guide to GitGit is a hugely popular version control system that helps you to work in groups and keep control of complex coding projects. Github is a site that hosts your Git repositories (or ‘repos’), and they’ve put together this handy help portal: the Bootcamp section is particularly useful for getting a Git repo setup for your project.