Programming learning resources: Difference between revisions

From Cognito
No edit summary
No edit summary
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
There are many resources you can use to learn programming, or coding, online. Some of them are listed below.
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.


==Websites that teach basic programming==
==Website that teach the programming mentality==


{| class="sortable" border="1"
{| class="sortable" border="1"
! Resource !! Website !! Description
! Resource !! Website !! Description
|-
|-
| [[Codecademy]] || [http://www.codecademy.com www.codecademy.com] || This focuses on teaching the syntax and basic semantics of important programming languages and web development frameworks. The focus is more on mastery of syntax than on a general programming mentality. Ideal for people who want to master the syntax of a specific programming language at a basic level.
| [[Code.org]] || [http://learn.code.org learn.code.org] || This focuses on teaching the programming mentality. It begins by using a [[wikipedia:visual programming language|visual programming language]] called Blockly (a simplified web-based version of [[wikipedia:Logo (programming language)|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 || [http://www.codehs.com/ www.codehs.com] || Basic free course teaches you how to think as a programmer. More advanced courses require you to pay.
|-
| MIT Scratch || [http://scratch.mit.edu/ 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.
 
{| class="sortable" border="1"
! Resource !! Website !! Level !! Focus areas
|-
|-
| [[Code.org]] || [http://learn.code.org learn.code.org] || This focuses on teaching the programming mentality. It begins by using a [[wikipedia:visual programming language|visual programming language]] called Blockly (a simplified web-based version of [[wikipedia:Logo (programming language)|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.
| [[Codecademy]] || [http://www.codecademy.com www.codecademy.com] || Beginner || Web Fundamentals, PHP, JavaScript, jQuery, Python, Ruby and APIs
|-
| Code Avengers || [http://www.codeavengers.com/ www.codeavengeders.com] || Beginner || HTML, CSS, Javascript; focused on beginners
|-
| Code School || [https://www.codeschool.com/ www.codeschool.com] || Intermediate || Ruby, Javascript, HTML/CSS, iOS development
|-
| Learn Street || [http://www.learnstreet.com/ 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):
* [http://www.hackerrank.com HackerRank]
* [http://www.projecteuler.net Project Euler]
* [http://www.topcoder.com TopCoder]
There are also a number of resources with multiple choice quiz questions for specific programming languages. Some of them are listed below:
* [http://www.smarterer.com Smarterer]
==More extensive lists and resource comparisons==
* [http://www.hongkiat.com/blog/sites-to-learn-coding-online/ Top 10 Websites to Learn Coding (Interactively) Online]
* [http://www.quora.com/Learning-to-Program/What-are-the-best-resources-sites-books-or-tutorials-for-learning-programming Quora answer on the best resources, sites, and books for learning programming]

Latest revision as of 19:07, 5 August 2014

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