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

From Cognito
Jump to: navigation, search

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.

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:

More extensive lists and resource comparisons