Best Websites to Learn Coding Online

1,301 128 597KB

English Pages [7]

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Best Websites to Learn Coding Online

Citation preview

Best Websites to Learn Coding Online Believe it or not, coding was invented to make programming computers easier. The first computers had to be programmed by physically rewiring them. Then the idea of storing the programs in memory came along, so you didn’t need to rewire them, but you could operate switches to set the bit patterns in memory. This is called machine code. That was tedious, so the next step was to create short mnemonics to stand for the binary instructions, and you could write programs in terms of these mnemonics. Entering it into memory could be done using punched cards, then later, a keyboard and simple line editor. This sort of coding is called assembly language. Each different type of CPU has a different assembly language. The Learn to Code movement has picked up momentum worldwide and that is actually a good thing as even basic programming skills can have a major impact. If you can teach yourself how to write code, you gain a competitive edge over your peers, you can think more algorithmically and thus can tackle problems more efficiently.

There’s no reason why shouldn’t know the basics of coding. You can automate tasks, you can program your Excel sheets, improve workflows, and you can extract data from websites and accomplish so much more with code. You may not be in the business of writing software programs but knowing

the basics of coding will help you communicate more effectively with developers. Gone are the days when you had to enroll in expensive computer training classes as now exist a plethora of web-based courses that will help you learn programming at your own pace in the comfort of your web browser. The Best Sites to Learn Programming If you are ready to take the plunge, here are some of the best websites that offer courses in a variety of programming languages for free. I have also added a list of companion ebooks that will give you a more indepth understanding of the language and they don’t cost anything either. All programming boils down to three key things: sequence selection repetition Sequence simply means that the computer executes one thing after another, so the order you write your code is the order it gets executed in (disregarding asynchronous or multithreaded code for now). Selection means that a computer is able to make decisions about what code to execute next based on some existing condition. This is typically embodied in the if (…) statement. Repetition means that a given piece of code maybe executed more than once. Loops, in other words. Everything else in a programming language is just extra decoration really - it builds on these fundamentals to make other common design patterns easy to use (objects for example), but ultimately it all comes down to this.

Programming Language

Online Courses and Video Screencasts

Download PDF Books (Read online for free)

Code Academy, Learn Street, Code Combat, Code Avengers

Eloquent JavaScript, JavaScript Guide, Speaking JS, JS The Right Way, Oh My JS, Canvassing

HTML & CSS

Code Academy, Don’t Fear The Internet, Tutsplus, Learn Layout, A to Z CSS, Dash, Web Accessibility, The Hello World, Khan Academy, HTML5 from Scratch

Mozilla, Dive into HTML5, 20 Things I Learned, HTML Dog, HTML & CSS, HTML5 for Designers, DOM Enlightenment, HTML Canvas

jQuery

Code Academy, Tutsplus, Code School

jQuery Fundamentals, Learn jQuery

Code Academy, Google, Learn Street, Python Tutor, IHeartPY

Python for You and Me, Dive into Python, Learn Python the Hard Way, Think Python, Python for Fun, Tango with Django, Django

Ruby & Ruby on Rails

Code Academy, TryRubyCode Learn, Railscasts, Rubymonk, Learn Street

Why’s (Poignant) Guide to Ruby, Learn Ruby the Hard Way, Learn to Program, Learn Rails by Example

PHP

Code Academy

PHP Programming, Practical PHP

JavaScript

Python

see: How to Learn Regular Expressions

(RegEx)

Google Apps Script

Getting Started, Office Hours, Google Scripts Examples, Learning Apps Script

WordPress

Treehouse, WordPress TV

Linux & Scripting

Shell

Stanford.edu, Explain Shell

Conquer Command Line

Nodetuts, Node School

The Node Beginner Book, Mixu’s Node book, Node Up and Running, Mastering Node.js

Angular JS

Code School, Angular

Angular JS Tutorial, Thinking Angular, Angular Tutorial, Getting Started (Adobe)

Also see:

Learn Touch Typing & Code Faster

Git (version control)

Code School, Git Immersion, GitHub Training, Udacity

Objective-C (iOS & Mac)

Code School, Stanford, iTunesU

Chrome Dev Tools

Code School, Dev Tools Secret, Chrome Dev Tools Tutorial, Udacity, Building Browser Apps

Node.js

Egg

Head,

Learn

the

Pro Git, Learn Git, Gists in Github

Golang.org, GopherCasts

Programming in Go, Go by Example, Learning Go, Building Web Apps with Go, Learning Go

Java

Learn Java, Coding Bat, Java Udemy, Learneroo

Programming in Java, Thinking in Java, O’Reilly Learning Java, Think Java, Java & CS, Java for Python Devs

Android Development

App

Udacity (Google Developers), Coursera, The New Boston, Google University, App Development Essentials, Code Learn, App Inventor (Visual)

D3 visualization)

(data

Go Language

Data Visualization for the Web, Dashing D3, D3 Tips & Tricks

Also see:

Learn VIM, programmers

SQL (Databases)

SQL Zoo, SQL @Stanford, Essential SQL, SQL for Nerds, Intro to SQL, SQL Bolt, PHP & MySQL

Everything Else

Udacity, edX.org, Coursera, Udemy$, Lynda$, Pluralsight$, Treehouse$, Open Consortium, One Month Rails$

Teaching Kids to Code If there are kids

in

the

the

text

editor

family,

for

you

should

download

either Tynker (Android/iOS) or the Hopscotch app for iPad and they can learn the basics of programming through games and puzzles. There’s also Scratch, an MIT project that allows kids to program their own stories and games visually. Scratch is available as a web app or you can download it on your Mac/Windows/Linux computer for offline use. Microsoft TouchDevelop, Blockly and Alice are some other web apps that will introduce the concepts of computer progamming to your children. On a related note, the following chart from Google Trends shows the relative search popularity of various programming languages over the last 5 years. The interest in PHP has dipped over the years, JavaScript has more or less maintained its position while the popularity of Python & Node.js is on the rise.