Learn To Code

Welcome to the FlinkAndBlink Learn To Code home page! This is an ongoing series of posts on learning to code, tagged with the label LearnToCode. You can always get to this page by clicking on the Learn To Code button in the bar at the top.

To find out what this is all about, see the Learn To Code Introduction. The strategy is learning by doing. We'll jump right in and do stuff, then go through some explanation.

This page contains the main outline and map for the series. Use it to navigate through all the other pages. You can always come back here to find any page in the series.

The outline is broken up into four main sections below, depending on your knowledge level:
  • Beginner: you don't currently know anything about programming.
  • Intermediate: you know some programming in at least one language.
  • Advanced: you know a lot about programming in at least one language.
  • Resources: external pages for additional information or tools used by this series.
This series covers multiple languages at once, so even if you know enough about one language to understand Intermediate or Advanced level, you might find it useful to go back to a prior level on the other languages.

I'll add new posts to the blog as I write them in random order, then add them to this outline to organize them. This is a work in progress, so bear with me as things sort themselves out.

Page Tags

In addition to the LearnToCode label, pages are tagged with other labels for cross-referencing to show their level, the main languages they refer to, and relevant topic areas. Use these labels to help figure out which pages might be appropriate when you're looking for specific information.

One label worth noting is ComputerLiteracy. This covers basic computer science knowledge important to all programming.

You can click on a label to see all the pages tagged with it (they won't be in any particular order):


  • By Language
  • Bash*
  • C
  • C++
  • Go*
  • Java*
  • Javascript*
  • Python*
 * There are not yet any pages with the label
Beginner

These pages assume you have no background in computers other than general use. Therefore I'll briefly explain a lot of terms that may be familiar to those with more experience.

These are organized in a specific order to build on each other. It's best to read them in order:
  1. Learn To Code Introduction
  2. First Code (C)
  3. Sodoto: See One, Do One, Teach One
If you're interested in embedded systems and electronics, follow these ordered pages:
  1. Limor Fried Is My New Hero
  2. First Use Of New Tools
  3. Learning About Electronics And Microcontrollers
  4. So You Want To Be An Embedded Systems Developer
Intermediate

These pages assume you have some programming background in at least one language, so I won't need to explain a lot of terms that are covered in the beginner pages. They are organized by main topic.

C++:

Advanced

These pages assume you have a lot of programming background in at least one language, so I won't need to explain a lot of terms or concepts that are covered in the beginner and intermediate pages. They are organized by main topic.


Resources

These are additional resources on the web that are helpful or have tools used by this series.

Other Tutorial Sites:

Online Coding Sites:

Tools Used By This Series

Other Helpful Sites
  • Adafruit: Sells DIY electronics, with an excellent Learn section. See Limor Fried Is My New Hero for my introduction to them.
  • SparkFun: Sells DIY electronics, with an excellent Learn section.
  • Embedded.fm: Podcasts and blog by Elecia White, Christopher White, Andrei Chichak, and Chris Svec.
  • xkcd - When you need to smile (for instance if you are getting frustrated understanding schematics and circuit diagrams: xkcd 730)

No comments:

Post a Comment