This wiki is associated with Cognito Mentoring, an advising service for learners run by Jonah Sinick and Vipul Naik. The wiki is very much in beta, so you're likely to find many broken links and incomplete pages. Please be patient with us as we continue to improve our offerings.
Please connect with us to offer feedback on the wiki content.
Programming learning resources
There are many resources you can use to learn programming, or coding, online. The links on our page on Quora questions about learning programming contain a large body of recommendations. We've listed some resources below.
Contents
Website that teach the programming mentality
Resource | Website | Description |
---|---|---|
Code.org | learn.code.org | This focuses on teaching the programming mentality. It begins by using a visual programming language called Blockly (a simplified web-based version of Logo) to teach the ideas of programs as sequences of instructions as well as various coding constructs such as loops. Ideal for people of all ages (including young children) to master basic programming constructs. |
CodeHS | www.codehs.com | Basic free course teaches you how to think as a programmer. More advanced courses require you to pay. |
MIT Scratch | scratch.mit.edu | Dual-purpose: allows kids to program games and animations, and also helps them learn the programming mentality in the process. |
Websites that interactively teach specific programming languages or web development frameworks
These are focused more on mastery of syntax and methods for specific programming languages rather than in general.
Resource | Website | Level | Focus areas |
---|---|---|---|
Codecademy | www.codecademy.com | Beginner | Web Fundamentals, PHP, JavaScript, jQuery, Python, Ruby and APIs |
Code Avengers | www.codeavengeders.com | Beginner | HTML, CSS, Javascript; focused on beginners |
Code School | www.codeschool.com | Intermediate | Ruby, Javascript, HTML/CSS, iOS development |
Learn Street | www.learnstreet.com | Beginner & intermediate | JavaScript, Python and Ruby (at beginner level) |
Advanced resources
If you're already somewhat familiar with programming syntax and the general idea of algorithms, you can try these resources for programming practice (more information to be added later):
There are also a number of resources with multiple choice quiz questions for specific programming languages. Some of them are listed below: