ATTENTION This list is growing more into a full on article and will soon need its own Index. For now it will stay here as a Gist but will move to its own GitHub Repository very soon. An Updated Link will be provided at such time.
Includes FREE Intractive training to help you learn to program and Paid For lessons as well
NOTE: Great site for getting started.
Much like Codecademy this site has online training with IDE in the browser but unlike Codecademy, everything on Free Code Camp is indeed FREE.
This is the official "Hour of Code" website and is backed by all the big Tech Organizations, such as Google, Microsoft and Amazon. You will find tons of resources here to help everyone from Children to Adults get started learning how to code.
This site includes tons of online, interactive courses to help every level learn and expand their knowledge.
Udemy is a "Pay as you go" website where you can buy individual courseware for learning what you want at your own pace. You can think of it as an Online School where you pick the classes and you can take your classes anywhere (Computer, Phone, Tablet and even Smart TVs).
I have bought many classes from Udemy and love the fact that they have sales all the time, especially around the holidays.
http://lifehacker.com/5736011/learn-how-to-code-part-i-variables-and-basic-data-types
http://lifehacker.com/5742493/learn-to-code-part-ii-working-with-variables
http://lifehacker.com/5742494/learn-to-code-part-iii-arrays-and-logic-statements
Learn to code in HTML, CSS, Javascript, Ruby & Python by Lrn Labs, Inc.
http://www.apple.com/swift/playgrounds/
The term fiddle in the coding world means to play around and that is what jsFiddle, .NET Fiddle and so many other websites let you do. Without creating a full blown coding project to do so, with a Code fiddle website you can simply try out code and see a result right there. Most such sites also allow you to link to and/or share your code fiddles with others which is really great for demonstrating ideas to other people.
At fiddles.io you will find nice fiddle playgrounds for various Programming Languages including:
- JavaScript
- Ruby
- Swift
- C#
- Java
- C
And there are so many more languages. Check it out to find just what you are looking for.
https://www.edutopia.org/blog/teach-kids-coding-resources-parents-matt-davis
NOTE: This article has some great resources for helping your kids get started coding.
http://lifehacker.com/how-and-why-to-teach-your-kids-to-code-510588878
Tynker is filled with all kinds of great resources for children learning to Code. Like playing Minecraft? You will love the Minecraft Mods courses. Your children can learn JavaScript and Python at Tynker as well.
Simply Coding has Online and Offline courses for teaching children to do everything from basic coding concepts to building websites and even building Mobile Apps.
Simply Coding also sells their offline courses on Amazon where you will find discounts all the time:
https://www.smashingmagazine.com/
For the latest and greatest information about Web Development and Design, Smashing Magazine is a great "go to" place.
When you have questions, or maybe you have run into a problem and need an answer. Somebody else has surely been in your shoes and dealt with the same problem or at the very least somebody can step up to help you out. That is where Stack Overflow comes in. This is a great resource developers just can't do without. Ask a question, answer a question and learn from and with others.
TIP: A lot of Employers like to look to see if you are active on Stack Overflow.
In the world of Software Development you will learn the importance of managing your code and often sharing your code or possibly "borrowing" from someone else. That is where GitHub comes in. There are tons of Open Sourced Coding Projects stored on GitHub and as you grow in your career in Programming you will find that many third party components (plugins, libraries and extensions) you use within your Projects can be found on GitHub.
I highly recommend learning how to use GitHub and setup a Repository of Code on GitHub to get used to standard Source Control Methodologies.
TIP: A lot of Employers like to look to GitHub to find examples of your code.
Below we will begin looking at specific areas of concentration to isolate some of the best resources for learning.
Here are some great articles, tools and resources to help you get started on your journey in Web Development.
The programming world is filled with highly opinionated people and a lot in the Web Development world like to turn their nose up at W3Schools but I personally find it to be a delightful place to reference and test out Web Code. From HTML to CSS to JavaScript, you can learn it all at W3Schools.
http://www.hongkiat.com/blog/fullstack-web-development/
Do you want a quick way to test out your HTML, CSS or JavaScript skills. Maybe you want to try something you just learned or possibly share some code with a friend or colleague. JSFiddle is a great place to do just that and of course, it is FREE.
http://blog.proto.io/how-to-self-learn-mobile-app-development/
http://www.codeconquest.com/blog/top-50-websites-to-learn-mobile-development/
http://www.makeuseof.com/tag/best-languages-mobile-app-development-2016/
Below I will attempt to provide a focused/opinionated list of great resources to help you get started and grow within specific Programming Language subsets and Frameworks.
While .NET is an overall Framework encompassing multiple Programming Languages, overall, its most popular Language is C# and while I will cover that, as it is my favorite language outside of JavaScript, it is a good idea to get fully acquainted with .NET as a whole to learn all the base concepts before diving in.
http://www.hanselman.com/blog/WhatNETDevelopersOughtToKnowToStartIn2017.aspx
Scott Hanselman has been a leader and pioneer in .NET, C# and Visual Studio. He works at Microsoft and has been involved with those core entities for years so some good advice from Scott is well worth your time to review.
Much like jsFiddle for testing out and sharing JavaScript, .NET Fiddle will let you do the same thing with .NET Code (C#, etc). It is nice to be able to test out your C# Code in the browser without having to setup a full Project/Solution just to try something. Creating a Fiddle is also a way where if you want, you can share fully executable code with friends/family/co-workers and for demonstrating ideas on your Blog.
You want to be a Programmer, I get it, but you need to learn how to write and more importantly Document what you do.
If you use GitHub as a resource for finding and using good Open Source Projects , you will likely see files listed with a .md File Extension. In fact, all Code Repositories on GitHub by default should include a file named "ReadMe.md". This file extension stands for MarkDown which is a sort of shorthand for formatting text without focusing on particular GUI Editor implementations such as what you see in Microsoft Word. Markdown is simple ASCII Text which can be created and edited just about everywhere.
With some minimal use of symbols to represent formatting specs, you can easily add formatting to you writing without worry of whether you need to use a special keyboard shortcut, menu item or toolbar button to do it. Markdown is also easily converted into other formats such as, Microsoft Word, HTML or even Adobe Acrobat (PDF Files) which makes it perfect for writing in as you aren't concerned about the end result. That can come later.
Here's a good cheat sheet to help you get started and to use as reference as you go:
https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
As I mentioned, you can create MarkDown formatted Documents in any editor but if you prefer a WYSIWYG (What You See Is What You Get) style Editor that allows you to easily author MarkDown documents and view them in a formatted way that looks like what you see in Word then I highly recommend using Typora which is available for Windows, Mac and Linux and is very lightweight and makes authoring MarkDown documents a breeze. It is distraction free and actively converts your MarkDown into a pleasing visual representation so that your documents look beautiful as you intended. It can even Export to Word, HTML and other formats.
For me personally, when I'm trying to work through an idea and I just want to jot ideas down, maybe work through some Use Cases, User Stories or maybe even plot out data and maybe some pseudo-code, I usually do it in a Text Editor. If you looked through my working task folders you would find tons of Text Files where I just jot down what I'm thinking to help spring into full blown implementations.
I've found that I would often use my own formatting such as using asterisks for bullets and brackets around headings or something to provide some sort of formatting. So, MarkDown make the natural alternative. Instead of basic Text Files, I use MarkDown every time I write out an idea or try to work through a query or something. MarkDown even accounts for Code Snippets so it is super easy to jot out some code and have it formatted beautifully in my documents.
Here's an example of code:
-- Retrieve Customer Information for Order
SELECT c.FirstName,
c.LastName,
a.Street1,
a.Street2,
a.City,
a.State,
a.ZipCode
FROM Order o
INNER JOIN Customer c
ON o.CustomerId = c.CustomerId
INNER JOIN Address a
ON o.ShippingAddressId = a.AddressId
WHERE o.OrderId = 12345;
That could be code I just wrote out while I was typing or copy/pasted from a Database IDE such as SQL Server Management Studio or TOAD. In either case, it now looks really nice in my document and all I had to do was put in minimal formatting with a type so it knows how to do the syntax highlighting.
If I converted this Document to HTML I would likely use a SyntaxHighligher Script/CSS to format it for the web or in Word I would maybe style it differently but I shouldn't have to worry about that while writing.
Documentation is important and by jotting down your ideas using MarkDown, when the boss asks for Documentation you will now have something that could easily be added to something more meaningful.
If you don't want to install anything or maybe you are working on a Chromebook don't worry, you can code your MarkDown directly in the Web Browser and get a beautifully formatted live result to make your writing a breeze. Try Dillinger:
I share information everywhere so keep tabs with me in your favorite haunts. While the variety of information I share online is vast and very diverse, I'll keep this list more specifically geared toward learning to code.
I share a lot on Flipboard because it takes the least of my time. I don't have to worry about whether or not my posts have a photo, nor do I need to worry about length of the post or hashtags. I just share into "magazines" that fit the topic areas I'm interested in and let it go from there.
https://flipboard.com/@kevindarty/code-id4c2p7iy
This is my non-specific all out Programming Magazine on Flipboard. You will find everything about coding here, including Database design.
https://flipboard.com/@kevindarty/web-development-lmucid5uy
If designing for the Web is your thing thin this is the place. Keeping up with the latest and greatest can be a daunting task but I try to keep up with all things related to Web Development as that is my specialty.
https://flipboard.com/@kevindarty/it%27s-all-about-that-script%2C-javascript-vn1o7btcy
I love JavaScript and find it so useful in so many situations so this is a magazine dedicated solely to JavaScript. You will find everything here from traditional JavaScript Coding to using generators such as TypeScript and server-side Processors such as Node.js
https://flipboard.com/@kevindarty/responsive-web-qhgfkgtuy
https://flipboard.com/@kevindarty/mobile-development-q7o8e0huy
You will find everything here from How-Tos to Design and beyond for developing for Mobile Platforms.
https://flipboard.com/@kevindarty/game-development-uirqr8qay
I created this magazine to help out a friend of my brother who was trying to learn how to create a simple Mobile Game and it keeps growing :-)
https://flipboard.com/@kevindarty/react-magazine-eki4sf11y
React is both a Web Development Framework and a Mobile Development Platform.
React.js was created by the Facebook team so that they could easily build and share code for cross-platform development. You can actually use React.js to create your Web Applications then utilize some of the same code coupled with your React Native projects for creating truly native Mobile Apps.
Yes, there is much, much more to be seen over at Pinterest than Recipes. Sure, when Pinterest started out, I was one of the only men there as it was mostly filled with Recipe swappers but I bucked the system and started sharing everything. Soon others followed and man has it grown out there. Here are some of my boards to follow:
https://www.pinterest.com/kdarty71/programming/
The Programming board is very general and open to anything and everything Programming related.
https://www.pinterest.com/kdarty71/responsive-web-design/
Everybody wants to go mobile and the best and easiest way to do that is to build your websites to ensure they are accessible by Mobile Devices.
Responsive Web Design is about more than just Mobile Devices. Responsive Design is about building to scale to fit whatever device is used. From a small Mobile Phone, to an iPad, from a Desktop Computer to a TV. Responsive means that your design responds to the scale or resolution of the device being used.
https://www.pinterest.com/kdarty71/mobile-development/
https://www.pinterest.com/kdarty71/swift-programming-language/
Apple's Programming Language Swift has taken the world by storm. It is a mix of everything everyone loves about their favorite programming languages and has become easily adopted by many. Since Apple Open Sourced Swift it has also grown to be usable across multiple platforms making it a prime candidate for future cross-platform development.
https://www.pinterest.com/kdarty71/ios-app-development/
https://www.pinterest.com/kdarty71/sublime-text/
I have a love affair with Sublime Text :-)
Sublime Text, in my opinion is the best multi-purpose editor out there. You will find in the field of Programming that everyone you meet is very opinionated about the tools they use. Many love and swear by Notepad++ while others are getting into Visual Studio Code. If you find a Vim fan you will know the true definition of the word opinionated and yet there are a ton of Eclipse fans out there and Brackets and Atom are growing their fan base as well.
I've tried them all and have found Sublime Text to be my all around favorite as it is very light and very extensible.
OK so maybe you want a little more than just learning to code. Maybe you want to tinker, hack and do something a little geeky and cool. While the list that follows deviates from the "Learn to Code" theme we've got going on here, it is fun to tinker around and with some of the ideas and resources listed below, you can even grow and learn more in terms of coding as well.
http://lifehacker.com/top-10-diy-projects-that-will-teach-you-a-ton-about-tec-1788967047
This article is just jammed pack with geekdom. From setting up your own Media Server to building your own Amazon Echo on the cheap with a Raspberry Pi, you will find a lot of great tech projects to get your geek on.