Tag Archives: learn code

Learning Lists

Seven Free Resources You Need to Learn Javascript

Last time I wrote about learning code, I talked at length about what the best coding language to learn for you was, going through the pros and cons of a few languages, and giving use cases of each one. Without delving into too many spoilers—you should read the piece for all of the insights—Javascript was mentioned heavily.

Javascript has been really big, especially because of the evolution of the MEAN stack, which has allowed for Javascript to control how users view your site’s information (Angular), how you host your site (Node), how your site communicates information (Express) and how it stores it (Mongo). It’s become really popular with startups—in fact as you can see from CB Insights, 81% of billion-dollar startups use Javascript in their technology. It is the top coding language used by successful startups.

Learn Javascript with code(love)

It’s a language that can get you hired, and help you build great new ventures.

I’ve recently been really big on wanting to learn Javascript, so I’ve unleashed these resources. They’re a diverse group, suited to all types of people who want to learn Javascript in different ways.

One cautionary note: as useful as Javascript can be, it may not be the best first programming language to learn. It has a lot of little traps in it that can trip even veteran programmers. If you are an absolute beginner, you may want to check out some more general resources oriented around other languages rather than trying to learn Javascript, such as these.

1- Codecadamy Javascript Track (type: interactive, level: beginner)

What’s not to like about learning by doing? By following the Javascript track of Codecadamy’s interactive courses, you can get the basics of Javascript by working out how to create functions, and build things with it. It’s a great sandbox to learn in—in fact, it was how I first picked up coding.

2-Eloquent Javascript (Type: book, level: beginner)

Still can’t get over learning through books? I can’t blame you. I was never the biggest fan of school, but there is something comforting about having a lot of pages devoted to something.

Eloquent Javascript is a free book that has been converted into HTML format for easy reading. It goes through everything you need to learn Javascript from beginning to end. It’s quite well-written, and has a lot of relevant examples and images to break the text up—it’s a book that really gets at you and challenges you to learn Javascript.

3-LearnJS (type: interactive, level: intermediate)

More learning by doing. I really like resources like this that get at you and challenge you to do stuff. In this case, LearnJS features interactive modules where you are challenged to finish incomplete code so that it matches a desired output. In doing so, you can learn how to use Javascript to do what you want it to do.

4-Scotch.io (type: blog, level: advanced)

I picked up on Scotch.io when I was looking for resources on how to build single-page web applications. The place is a hive of how-tos and resources on how to build with Javascript and its frameworks.

5-Egghead.io (type: video, level: advanced)

I’ve been following the Egghead video series on Angular to learn the framework: they’ve been a breath of fresh air for my learning. Angular.JS is a Javascript framework that allows you to control a lot of what a website visitor would see, from filtering information, to allowing buttons to toggle settings on and off. It’s the framework I’ve been focused on learning. Having so much content organized about it in a coherent and sequential fashion warms my heart—and it will warm yours as well.

6-JSFiddle (type: sandbox, level: beginner)

Whenever you feel the need to play around to learn Javascript, JSFiddle is the easiest way. Plug your code into the module, and watch it come to life with no limits!  I use it to test what some websites will look and feel like without the need of hosting and uploading changes. It’s a great experimental space to see what your code would look like live.

7-Plunker (type: sandbox, level: intermediate)

Similar to JSFiddle, except now you can manage separate pages, which has made it really useful for testing more complex frameworks for Javascript such as Angular.JS. My go-to learning tool these days as I combine that with Egghead for maximum learning.

There you go. The choice is in your hands to build something great now with Javascript. These resources will help along the way.

If you want more resources to learn, check out our other learning lists!

 

Learning Lists

The best coding language for you to learn.

A few people have asked me what would be the most useful or best coding language to learn.

Skipping aside HTML/CSS—I think the answer rests on what you want to do with code.

Javascript and its frameworks are really useful for building something with just one language.

Angular.js can control the front side of the website that displays to your users, Node.js will act as a web server that can host all of your content, Express.js runs in the middle directing where information goes, and MongoDB acts as the storage center for data you accumulate from your users—the MEAN (Mongo/Express/Angular/Node) technology stack—an organizing framework that helps build everything you’d need for a web application—is the one favoured by a whole lot of startups these days. It’s a whole component of technologies that can build everything web-wise based on one language.

I’ve been using Egghead.io and Scotch.io to catch up on my Angular and MEAN stack skills.  Egghead is focused on video tutorials that are structured sequentially, Scotch has some great graphics about the whole process of building web apps, including the following explaining the MEAN stack.

MEAN Stack from scotch.io with code(love)

MEAN Stack from scotch.io with code(love)

They’ve got great tutorials on how you can go about building nifty applications such as basic search engines, and new ways to validate forms (making sure that when you create input forms, people are actually putting in valid criterion). With Angular itself, you can animate a website and make it move, with not too much in terms of setup, which is pretty nifty.

Python is very readable and legible, and has recently become the introductory language of choice for universities teaching computer science majors. It’s fantastic for playing around with data, and doing all sorts of nifty things you wouldn’t have thought possible with its various community modules, such as scraping web pages in their entirety, and doing advanced scientific data analysis. I started out with Learn Python, which suited my fashion of learning by doing.

Java and lower-level languages (languages that are closer to interacting with computer hardware) that are a bit more difficult to interpret for human eyes are wonderful for understanding more of how code actually works—and how you’re interacting with the computer. Java is also something that is used for mobile development on the Android ecosystem, which is something that will always be in demand.

If we want to switch briefly from knowledge to money, I’ve seen a lot of demand for iOS developers, and Objective-C and SWIFT aren’t that hard to pick up. Ruby, especially when used in conjunction with Rails, is also something a lot of startups are building on for which the learning curve isn’t that high (in fact, there was a children’s book for Ruby).

I myself am personally learning Python for playing with data, Javascript and the MEAN stack for building web applications, and Java for a deeper understanding of computer science, and building things for mobile, which I think is a well-balanced set of languages carrying forward. I’ve got together a bunch of learning lists, and resources to help me and you learn what we need to build great things. But none of these are the best coding language to learn.

The best coding language to learn—and how to go about doing it.

The absolute best thing to learn is to learn how to think like a programmer—learn how to solve problems mathematically, with clean and concise code. Coding languages evolve, they change, they fall in and out of favor. One community might morph into another. The great web applications of the present might be obsolete in a few decades. What won’t change is the need for people to think logically, and solve problems—and make it an automated and easier process with machines.

You can bank on the fact that going forward, if you practice your problem solving skills, you’ll be able to find your best language, and get the knowledge and money you need to build great ventures.

I’ve been opening up Project Euler, a set of programming math and logic problems, and using the Codecademy workspace in Python to try to create clean code to solve these problems. This was something a Google recruiter mentioned as being a great training step to learning code—and I don’t doubt it. I feel sharper and more confident in my ability not only to code—but to think.

The best language to learn is ultimately the language of logic, math, and problem-solving that is at the core of code. What are your thoughts?

Open News

A curated list of great Python frameworks.

 

Coding community with code(love)

Coding community with code(love)

One of the wonderful things with modern programming languages—the sense of community associated with them.

Volunteers from around the world work without thought of reward in order to build a foundation for others to build on. The open source and open data movements allow for there to be an infusion of decentralized innovation.

Good old Python is one language that has been used for an array of different tasks, from manipulating data, to creating entire web platforms. Popular templates such as Django allow it to build household names such as Pinterest. Recently Python has become the most popular introductory language taught at American universities.

It represents a canvas which individual volunteers have painted in. You can plug and play different modules for all sets of tasks with the Python framework. For example, you can use Scrapy for web crawling, or SciPy for scientific calculations.

Each one of these modules comes with healthy communities supporting their maintenance and continued development, as well as ample documentation to allow everybody to really understand the tools they’re using.

The list is right here. 

Open News

Google will pay for you to learn code if…

…you’re an under-represented minority.

As Google puts it, “this opportunity is available to all traditionally underrepresented groups in technology (including, but not limited to, African Americans, Hispanics, Native Americans, persons with disabilities, women and veterans).”

For the longest time, the meritocracy of Silicon Valley has been an ideal, and not a matter of practice. With steps like this, some of the balance will be adjusted, but this should only be the beginning.

As we noted on our piece on gender inclusiveness in startups, one of the minorities uplifted by this program has to cross these hurdles:

“Only about 5 to 10 percent of the venture capital devoted to early-stage ventures goes to females.”

“Only one out of ten people starting technology startups are women.”

“The ratio of women studying in computer science, one of the most valuable traits to have in a technology startup, has decreased from 37% of degree holders in 1985 to 14% in 2010.”

So this program is good for a beginning, a good first step—but there is much work left to do.

Download / By Lacey Raper

Learn code with code(love)

Open News

CodeHS Teaches Code in Schools

CodeHS recently caught my eye. The site offers a curriculum and trained tutors that can help students learn code rapidly, adapting a program for teachers in schools across North America so that it’s easy for them to teach code to their students. 

It’s a concept that introduces code to a whole lot more people, something that’s really cool to see in action. 

As they put it, “the goal of CodeHS is to spread the knowledge of computer science by offering well-crafted instructional materials supported continuously by the quality, personal attention of our enthusiastic tutors. We believe that everyone has the ability to learn computer science, and we want to help them do so.” 

They have a free interactive code lesson users can access at  http://codehs.com/signup_start once they’ve signed up for a free account. 

As they describe it,”[CodeHS and our] free module teach Programming with Karel. Karel is a dog that only knows how to move, turn left, and place tennis balls in his world. We use Karel to show you what it means to program, and allow you to focus on problem solving without getting bogged down with syntax. By the end of the first module, students will have a good foundation on the fundamentals of programming and concepts such as loops, conditionals, and comments.” 
Class in a box

Class in a box with CodeHS and code(love)

It looks nifty, and it’s something that lives up to the promise of a “class in a box”, making it easy for even struggling schools to get more code in front of their students. Here’s to hoping for more initiatives like this! 

 

Open Stories

Why learning code is so important—and how I learned.

Learning code is critical to understanding how the digital economy of the future will work. Much as we learn writing to instil in us the ability to relate to the perspectives of others, coding serves as a portal to understanding the logic that dictates the flow of information back and forth between different agents: the underpinning of the 21st century. 

Learn code with code(love)


I began to learn code by working with a technical team at my previous startup ThoughtBasin. I’d say the process began with a natural curiosity towards peering at their screens, and then talks with them about the logic of code, and then applying that into practice with gamified platforms for learning code such as CodeAcademy

The one piece of advice to all of those on the fence looking in I’d give is to start now.  There’s no reason to delay. 

Sign up for my newsletter for entrepreneurship and code resources if this inspired you to learn.

Longform Reflections

Why startup founders should learn code

This post was originally featured on The Coder Factory by Dan Siepan. They’re about evangelizing code just like we are, and they’re awesome.

If this inspires you, join our mailing list to get resources to code.

———————————————————————————-

It has been evident after building my own startup and reading so many resources that learning to code is an important skill to learn. Many people learn programming as a means of becoming a programmer, but I am going to tell you that learning to code isn’t just important for any web developer, but should be learnt by any person who wants to run a successful business.

Here are the three main reasons why learning code is vital for any business venture.

1. Save Money, Save Time

How much work is required to change the whole template of the website?

How much will it cost to re-do the men’s clothing page of the site?

These are all too common questions when someone wants to run a business. Such a big part of any success is the ability to have a great website application. Often startups hire a contractor in the aim to save time for the entrepreneur and say, ‘someone is covering all my technological bases’. This is a trend that needs to be re-evaluated. The power of being able to make any adjustments from slight to a big re-development of the site, costs big time and big money, for which you would need to pay your developer. And soon you will realise you have very little capital for anything else. Learning code, won’t just save you time and money, but will help you better understand your product or service.

Learn code with code(love)

Learn code with code(love)

2. Better problem solving skills and approaches

“The Programmers of Tomorrow are the Wizards of the Future” – Gabe Newell (Valve)

Whilst learning to program is very similar to learning a foreign language for the first time, it will soon become a universal language. Knowing how to code will not only enhance your skills but will make yourself the problem solver of tomorrow. It will put you ahead of the game.

I have come such a long way in learning to code. This was done through the process of building a social network for DJs (my startup) and loving every bit of learning and being in control of doing it. It’s so exciting to know that this little thing could go on to potentially change the world of DJs booking gigs and growing a fan base.

I have already been faced with a few challenges but knowing code helped immensely. I have implemented some changes, and do you know what the best part is? I didn’t pay anyone to solve the problem. The skills that you gain are yours. I will most certainly keep you guys updated with my startup and coding progress.

Learn code with code(love)

Learn code with code(love)

3. The ease and increased chance of raising capital

You won’t believe the amount of startup accelerator programs or investors asking whether or not you have programmers as co-founders of the business. If you don’t believe me, look up any startup accelerator programs or even network investors and they will most likely raise the question whether or not you know how to program.

Now that you’re thinking that you should learn code, or at least give it a shot, you should try out free online resources like CodeAcademy.

Whilst CodeAcademy is a great platform, to run a successful startup business you need to enrol in either a bootcamp or code intensive course.

Keep calm and learn code with code(love)

Keep calm and learn code with code(love)

You should enquire at The Coder Factory where we run part-time courses, 6 hours a week, where it can fit around your schedule at any time, where you don’t have to put your social life or startup on hold just to learn code.

Until next time my rad viewers, Peace ☺

Longform Reflections

How to found a startup when you don’t know a line of code

As a non-technical founder, I did the worst thing possible. I created a founding team composed of other non-technical founders.

I didn’t know it at the time, but it was the death knell for my startup. It wasn’t because we got into arguments or we essentially had overlapping roles: no, it was simply the fact that none of us knew what we were doing.

It’s a problem that resonates often with people who are struggling to get into the startup scene as I once was. I’ve seen so many startups drift because their founders had no clue of what to do. All of these drifters tend to search relentlessly for the programmer of their dreams, as if in one fell swoop their inability to understand technology will be okay because, from the first grunt they hire, a team of grunts will be able to replicate out and do all of the work for them—forever until some imagined IPO for their technology startup.

It’s a problem. 90% of all small businesses fail in the first two years, and I’d wager the high failure rate with technology startups is based on the fact that so many who start these companies don’t properly appreciate their role in building out their idea.

Having lived through the experience myself, I’ve managed to snag some insights that can  change the situation for the better.

1– There is no programmer who will save you from ignorance.

The wunderkind who will take on your idea and do everything for you? You’re never going to be able to attract that type if you have no idea what you’re talking about. Engineers are highly attuned to the sort of “let’s change the fields for the registration process, it should only take ten seconds!” talk that implies you know little about technology.

Even if you do somehow find somebody who is good enough to understand your idea figments and is able to translate them into crisp, actionable code, your work process will be affected because you won’t really know how to communicate efficiently with them and vice versa. You’ll never get exactly what you wanted if you don’t understand the rudiments of what your engineer is working with.

You don’t have to become an expert overnight, but there’s no excuse for not trying to cover the basics. Here’s a list of 31 free resources to get you started, and a newsletter focused on learning code. Start now, it’ll help!

Learn code with code(love)

No, he’s not coming to save you.

2-You don’t even need a programmer to start testing your idea.

Surprise surprise! People get hung up on this notion that they need a bells-and-whistle online platform with all of the amenities for them to test their idea. That’s totally false. Lean and agile development have smashed that notion, and entrepreneurs have been testing their ideas out shoestring even before all that. Netflix started as a mailing service for DVDs that shipped your content physically—they only started to get on the Internet because they knew it was coming, but by then, they had already garnered a huge amount of subscriptions, so they knew their original hypothesis was correct: people would be willing to pay to access content on-demand and avoid dealing with video shops.

They didn’t need a web platform to do that. Figure out what your idea is actually testing, and test it yourself. Do you think people need an easier way to order dog food? Find forums where dog owners congregate, and ask them.

You don’t even have to mail them goods by mail. You can use a service like Unbounce: create a great landing page, and then collect emails to show that people care about what you’re selling.

A mailing list of thousands of people will help you spread your idea that much faster, and convince the star programmers you want to work with that you are their man. It will be the first sign of social proof and traction that your idea works. You’ll be the business man that can convince people to buy into an idea online, an invaluable trait engineers will be looking for.

An Unbounce-made landing page with code(love)

An Unbounce-made landing page with code(love)

3-Get involved with the startup scene. Read, connect, and collaborate.

While you work on how to get a digital following, you should also increase your value as a startup founder by devouring as much as you can about startups and technology. Read through The Next Web and similar outlets, follow tech influencers such as Tim O’Reilly, read through Startup CommunitiesLean Startup and Lean Analytics and other books on startups, just swallow it all up, and immerse yourself in this world. Go to the next meetup, meet the people in your startup community, and start building out a network.

The startup community works on the principle of “pay it forward”, so don’t be shy asking for help, and coffees from established influencers: more likely than not, they’ll say yes, in the hopes that you’ll do the same when you are faced with someone seeking advice. This is how a community grows strong: through collaboration. Embrace it.

Startup community with code(love)

Startup community with code(love)

————————————————————————————–

Founding a startup is already difficult. You can make it easier for yourself by learning what I have struggled through failure to appreciate. We all have the capacity to build something meaningful, with or without technical knowledge: now it’s up to you to step up, and prove you can build, while embracing the new knowledge and people who will form an integral part of your new venture.

If this inspired you to learn code, and build something great, join our mailing list.

Learning Lists

31 Free, Brilliant Resources to Learn Code

This was written by Mufaddal, and was originally posted on LearnRev

At code(love), we’re all about compiling resources like this, so it was our pleasure to help spread this great content. If you have content like this don’t hesitate to contact us at info@code-love.com. We have a weekly newsletter centred around the best resource to learn code.

If that sounds awesome, join our mailing list.

——————————————————————————-

Software is eating up the world’ , Marc Andreessen wrote this article in 2011, almost 3 years on and this statement is still relevant, and will probably be relevant for the foreseeable future. From Jack Dorsey to Bill Gates to Mark Zuckerberg, everyone is encouraging people to learn how to code. The software industry is growing, every single industry is affected by it. There could not be a better time to learn how to code.

Learning how to code is difficult but its not impossible. It’s never been easier to dive right into it. There are countless resources available to help you learn how to code. From simple tutorials to full-fledged courses with tasks and projects. In this post I’ll list the free resources that I think are the best places to dive right in and get started.

Different people learn in different ways, some prefer to read a book first, others like to start coding straight away. There is something for everyone here. I’ve divided the resources into different sections, with number of resources in each section. The below categories are not set in stone, as you will notice that a number of the blogs have courses, and one of the books is interactive.

None of the following are in any particular order, they all have different strengths and weaknesses.

Mainly for Kids

The following five options are great for kids. From JavaScript to simple block-based languages that can teach logic, moving on to Ruby, which is a widely used language in Web Development right now.

1. Khan Academy

Khan Academy-smallSal Khan is Bill Gates’ favourite teacher. Khan Academy has grown from a guy with a graphic tablet putting videos on YouTube, to an education institute. The computer programming section in Khan Academy goes through the basics and is great for kids or grownups to get an idea about how a computer works to what programming is. If you’re just looking to understand the basics of computers and programming, then this is the best place to start.

The focus of the programming course is on JavaScript. Concepts are taught through coding talk-throughs. In these talk throughs, the teacher writes the code and explains what she is doing and the results show up straight away. After the talk-through you can play around with the code that the teacher wrote and modify it.

Once you get a a good hang of how JavaScript works. You can create your own program and publish it to Khan Academy. Other people can see what you’ve build and if they like it, they can modify it and create a spin-off. You can browse the programs that other people have built and create Spin-offs as well!

2. Hour of Code

Code.org - Hour of Code

Founded by Hadi and Ali Partovi, Code.org had the goal to make programming accessible to everyone. They launched the Hour of Code challenge in December 2013, to entice students to give coding a shot. Having partnered with different companies(Khan Academy, Tynker etc), they have developed coding challenges. Starting from some of the simpler ones such as this blocks based drag and dropchallenge. Moving on to this challenge, that will allow you build flappy bird on the iPhone in your Browser!

You can also learn about Python from Grok learning and how to draw using code from Processing Foundation.

3. Scratch

ScratchMITSmaller

A product of MIT Media Lab, Scratch was developed for kids, but even adults can use it to learn the basics of programming. It has an easy to use drag and drop interface, that focuses on teaching logic, which is essential to learning any programming language.

Besides the block-based drag and drop components, the Scratch interface also allows you to import your own images and creating your own images inside the browser using their built in drawing program. Like Khan Academy, you can explore what others have created and remix them or come up with your own projects that others can remix as well.

4. Alice

Alice_ProgrammingAlice is another software program that uses a drag and drop environment. Its focus is towards computer animations using 3D models. Initially produced at University of Virginia and  then at Carnegie Mellon after 1998. You can place objects from Alice’s gallery into the virtual world, and program them by dragging and dropping tiles that represent logical structures. Additionally, you can manipulate Alice’s camera and lighting to make further enhancements.

5. Hackety Hack (Ruby)

Hackety_HackThis is a great little tool to learn about Ruby. It has a built in Integrated Development Environment(IDE) which allows you to run a piece of code that you have written. The learning is structured around going through a series of lessons that are accompanied by programming assignments that can be attempted in the IDE.

Unlike Khan Academy and Scratch, you can download the Hackety Hack software, and learn while offline as well. Once you have accustomed to the Ruby programming language, you can create your own programs from scratch and upload them to the Hackety Hack website. You can also check out what others have created although the community isn’t active like Khan Academy or Scratch and it looks like nothing has been uploaded onto the website since 2011.

University level Courses

If you are looking to learn from professors teaching at some of the top Universities in the world, then the following options are the best for you. The Courses found here range from ‘Introduction to Computer Science’ to some of the advanced Machine Learning and A.I. courses that you can take at Stanford or MIT. I have also included the MongoDB University courses in this section, as they follow the same curriculum and timeline as a normal University course.

6. MIT OpenCourseWare

MIT-OpenCourseWare-smallMIT started the OpenCourseWare movement about a decade ago, since then online courses have evolved and have a completely different look. If you are looking to get your foundation and basics strong, then there is no better place to start then the Introduction to Computer Science and Programming course. It will start from the basics and give you a good understanding of how computers work. Once you have gotten your basics strong, you can jump into some of the other courses found in the Electrical Engineering and Computer Science section.

7. Coursera

Coursera-smaller

Founded by Andrew Ng and Daphne Koller, Coursera is the largest MOOC (Massive Open Online Courses) provider in the world right now. With courses from over 108 institutions(at current count) from all over the world. The courses have a start and end date, although once enrolled you can view the content at your own pace if you don’t wish to follow the course schedule.

The only problem with Coursera is that you have to join the course at the right time. You can enrol into a course after it has started, but with that you will not be able to earn a course certficate for most of the courses. But like most MOOCs, you can view the content at your own pace at any time, even after the course gets done. I would recommend that you try out Machine Learning, the course that started it all. At the time of posting this blog post, they are already halfway through the current session, but you can enrol and get access to the course content.

Besides that there are over 100+ courses on Computer Engineering at Coursera. All of them available for free.

8. Udacity (Python + others)

Udacity-smaller

Another startup founded by an ex-Stanford professor. 160,000 students enrolled into the ‘Introduction to Artificial Intelligence‘ course  by Sebastian Thrun that started it all. That course is for advanced students. If you’re a beginner, then the ’Intro to Computer Engineering‘ course is the place to start. Udacity offers courses focused towards specific fields in computer science such as ‘Web Development‘, ‘Data Science‘ and ‘Machine Learning(coming soon)’. Most of the courseware on Udacity is accessible for free and you can learn at your own pace. If you pay for the monthly subscription you get access to your own personal tutor that will guide you through the course.

9. MongoDB University (NoSQL, MongoDB)

MongoDB_University-small

NoSQL databases are all the rage right now. Databases have remained the same since Oracle came up with the Relational databases in the late 70′s. Hard disks have become cheaper since those days. Internet and networking speeds have increased. This has lead to innovations in databases. MongoDB inc. (Formerly 10gen) has been at the forefront of this innovation.

What better place to learn about these new databases then MongoDB University. Powered by the edx platform, they have 7 different courses targeting different languages and use cases. Two of the courses lead to certifications.

Interactive Browser-based

The following websites, offer an interactive browser based IDE to teach how to code. You can learn by doing a number of projects and exercises in the browser. The advantage to using the examples below is that you would not need to setup anything on your computer, and can learn everything through the browser. Eventually when you’re more comfortable you can always download the right software and get your development environment ready.

10. Codecademy (HTML, CSS, Python, Ruby, PHP, JavaScript)

Codecademy-small

Founded in NYC by Zach Sims and Ryan Bubinski. Codecademy was one of the first startups to focus on teaching you how to code with project-based assignments that taught you simple concepts through a browser based editor. They started with just JavaScript, and now offer a number of server side languages that you can learn as well.

Once you have mastered a skill, you can create your own lessons and teach.

Check out the Projects page, which contains 10 web-based projects. You can build a Blackjack game or Animate your name using HTML, CSS & JavaScript. The lessons are brief and engaging, and keep you coming back for more.

11. Code Racer (By Team Treehouse) (HTML, CSS)

Code_Racer-small

Code Racer adds a competitive element to learning how to code. It is aimed towards teaching you basic HTML and CSS.  Beginners can learn at their own pace and advanced users can test their coding speed and agility. Players race against each other and the clock to complete coding challenges, unlocking weapons and rewards along the way. Built by Team Treehouse it offers video tutorials with the same production values found on their main website. The challenges are easy to start with but become harder as you progress.

12. Code Avengers (HTML/CSS/Javascript)

Code-Avengers

Offering a browser based text editor, Code Avengers offers step by step task based interactive tutorials. The tutorials are there to help you learn how to code games, apps and websites with HTML, CSS and Javascript. The interface is easy to use and the tasks are easy to follow. If you need help you can also ask questions.

13. Code School (HTML, CSS, JavaScript, Ruby, iOS)

Code-School-small

Code School has courses in a range of different languages. Most of the courses are not available unless you sign up for the monthly subscription service at $29 per month, you can end the subscription at any time. But all the different languages that they offer offer at least one free course. All the courses follow a theme, and you get a different user interface and look. This keeps things fresh as you’re learning. The courses is conducted through video screencasts with great production values. After every screencast you can attempt a coding exercise.

Some of the free courses that I recommend you to take are the  JavaScript Road Trip part 1Try JQueryTry RubyTry Objective-C & Try iOS. All of these are fairly basic courses that will teach you the fundamentals and will give you a good flavour of what to expect in each language.

14. The CodePlayer (HTML, CSS, JavaScript)

Code-Player

This is a slightly different concept, it doesn’t have a video player with a guy showing you whats being built. The player is similar to the Khan Academy JavaScript lessons, where you get to see how the code is written. Unlike the Khan Academy lessons, there isn’t any audio. The commented out portions in the code explains how a certain effect was achieved.

The great part is that you can increase the speed to watch it quicker, and just like Khan Academy you can play around with the code at any point by pausing the player or right at the end.

15. Ruby Koans

Ruby-Koans-small

This is a different way of learning Ruby through unit testing. The word Koan, is used to represent story, dialogue, question, or statement, which is used in Zen-practice to provoke the “great doubt”, and test a student’s progress in Zen practice. This is the same philosophy that is used in Ruby Koans, by teaching a user about the Ruby programming language through testing.

Normally you would be required to install Ruby and download the Koans on to your computer to get you started, but a browser-based version has also been developed, so you can get started straight away.

16. Programmr (C++, Java, C#, Ruby, AJAX, HTML, CSS, Javascript, SQL, Flash and plenty more!)

programmr-small

Programmr has a broad catalogue of lessons teaching many languages. You can attempt exercises in their browser-based editor, and it gives you an answer straight away. The exercises start with the basics, teaching variables, operators, methods and strings and then moving on to some of the more advanced concepts. There are quite a few free courses, and a number of paid courses as well.

The thing that makes Programmr good is the ability to create your own projects, and attempt projects created by others. The projects range from simple games to iOS and Android apps. They also host contests through which you can win various prizes.

Video Screencasts

The below are screencasts recorded by experts showing you how to do a certain task. You would have to setup your development environment on your computer to get started with these.

17. NodeTuts (Node.js)

Node-Tuts-small

We’re using Node.js for our backend. When Zaid our co-founder/CTO was deciding to switch from Python, these were the tutorials he used to learn more about Node.js. The tutorials are developed by Pedro Teixeira, who has contributed a lot in the node.js open source community. These are video-based tutorials, but Pedro has a great teaching style and explains simple concepts in an easy to understand way.

We liked these so much that we combined these screencasts together and curated them into one place.

18. Stanford CS139P iPhone Development (iOS)

CS139P-iPhone-small

Follow the same curriculum and lectures that the students at Stanford are following to learn iOS development. The videos are recorded in the lecture theatre while the class is being conducted. You will get access to different course work ad exercises, but its fairly self-paced and you will need to take the initiative. You can download all the videos and then try to attempt the assignments at your own pace.

You also have the ability of downloading these on iTunes U.

Tutorials, Guides & Blogs

19. AppCoda iOS Programming (iOS)

AppCoda-small

AppCoda has 60+ tutorials to teach you how iOS development. You don’t require any previous programming experience to get started. The tutorials will help you get Setup and build your first Hello World! app in Xcode.

They are adding a new tutorial every week. So if you’re interested in learning iOS, have no programming experience and prefer reading to watching videos, then this is the best place to start.

They constantly update any old tutorials that are not relevant anymore with Xcode 5 and iOS7.

20. Tutsplus

Tutsplus-small

Tutsplus has net a great network of blogs on various subjects, from Design to Music to Business. The three blogs that I recommend you to follow are the CodingGame Development and Web Design blogs.

Part of the Envato network, which also includes a number of marketplaces, Tutsplus also offers a number of Free Courses on various topics. They offer 2 free courses inWeb Design and 10 free courses on Coding. To get started in Front-end Web Development and Design, I recommend that you check out the 30 Days to learn HTML & CSS & 30 Days to learn JQuery. You should also check out either Let’s learn Emberor Hands-on Angular which allow you to augment Web Application with Modular-View-Controller(MVC) capabilities, allowing you to build single page applications. Deciding which one to use requires another blog post on its own!

21. CSS Tricks

CSS-Tricks-small

While I was learning CSS, one of the best resources that I found to learn some cool tricks was here. There is a great community on the forums as well. Most of your CSS related questions will be answerd in no time. If you’re looking at a specific problem, this is the best place to look. Most CSS related issues and problems have been tackled on the forums and in the tutorials.

Like Tutsplus, this website also has a number of Video Screencasts.

Some of the text-based tutorials that I found really helpful, tackled specific CSS use cases, such as Pop HoversRibbons & Transition. Showing some of the cool things that can now be done with CSS.

22. Webmonkey

Webmonkey-small

Part of Wired magazine, Webmonkey is a great blog to follow if you’re interested in anything to do with Web Development. They cover various topics from whats currently trending in User Interface(UI) Design to what the latest web frameworks are.

They offer a number of tutorials, a cheat sheet to help you with HTML & CSS and acolour chart to help you easily get the Hex code of a colour.

23. HTML5 Rocks

HTML5-Rocks-small

HTML5 is supposed to change everything in Web Development. Modern browsers have started to support most of the HTML5 web standards that W3C has finalised. With HTML5 browser based apps are finally able to compete with Native apps in terms of functionality and also User Interface and User Experience.

The best place to learn everything about HTML5 besides the W3C portal is HTML5 Rocks. There are a number of great blog posts that highlight some of the best features and functionality that are found in HTML5, and also show you how to implement them in the right way.

Referencing

Not even the best programmer in the world will know about every obscure function or class. With practice you will get better at remembering them, but when starting out you need to have access to some good reference documents. Below I’ll list the ones that I think are great when starting out.

24.  Dash (Covering 148 different languages and API Docsets)

Dash  I discovered this only recently and can’t image going back to using web-based reference documents. Developed by Kapeli, this is an indispensable tool with support for 148 different API Docsets. You can download the ones that you require. You also have the ability to integrate it with a number of different IDEs(integrated development environment) such as Sublime Text EditorCoda and many more. Besides being a great reference tool, it also comes packed with a Code snipper manager, allowing you to easily store snippets of code that can be tagged and easily re-used in multiple projects. The free version for this app

25. iOS Developer Center

iOS-Dev-Center-small

When it comes to developing apps for the iPhone, there is no where better to start the Apple’s own Developer center. This is where you will get the latest updates for any changes that apple has made to their API documentation. Its a good idea to register yourself as a developer  as you’ll get access to the discussion forums. The forums are a great place to ask questions about a specific issue you are having. Once you’re ready to distribute your app, you will have to join the iOS developer program. You will pay $99/year to join this program, and this is the only way you will be able to publish your app to the App Store.

The same goes for developing apps for OSX, you can join the Mac developer program for $99/year. You can access most of the other resources without having to pay anything.

26. Android Developer Center

Android-Dev-Center

Just like with iOS, when it comes to Android, the best place to start is the Android Developer center. Google has built this place to help out Android developers in any way possible. You can learn all about the right style and design patterns to use in the design section.

In the develop section you can go through the training to help you get started with the Android SDK. Once you have a good idea about what you are doing, you can check outreference when you’re not sure about something, or the API guide to help you connect your app with different Google services.

Finally you can check out the distribute section when you’re ready to publish your app.

27. w3schools (HTML, CSS, JavaScript, SQL, PHP, JQuery, ASP.NET)

w3SchoolsThis is where I started when it came to looking up anything to do with CSS or JavaScript. The great thing about w3schools is that it shows you browser support and also gives you a little example of how a certain property or function should be used. The browser based text editor allows you to play around with the example code and run any changes that you need to make; they call them ‘Try it Yourself’ examples. The focus is mainly towards web-based languages, so this would be a great place to start if you are looking to develop a browser-based application.

Online Books

28. Learn Code the Hard Way

The-Hard-Way-books-small

If you still prefer learning by reading a book, then this is where you need to start. Written by Zed. A Shaw, who started with the ‘Learn Python the Hard Way‘ book. They are great for beginners and advanced users alike. The books themselves are free as long you view the online versions.

The books are structured like a course and you are advised to follow them and practice coding for 2 hours every day. The author has also developed a number of webcasts that can help you out as well.

He has also written books on RubyCRegexSQL & Command Line. Each of them structured in a similar way to the Python book.

29. Eloquent JavaScript

Eloquent-JS-small

This is a great book for beginners to pick up to learn more about JavaScript or programming in general. Written by Marijn Haverbeke, the book starts from the basics and quickly get into the advanced topics.

Even if you have never written a computer program before, this is a great book to go through. You can try out the programs that the author has written in the books, which should also help you understand the basic concepts of a programming language. The HTML version of the book allows you to pull up a console at the bottom of the page (If you are using a modern browser). Allowing you to run a program and get a result straight away. To start learning, you will not need anything except for a modern browser.

30. Wikibooks

Wikibooks-small

There are a number of relevant books listed on this page that you can use for free. From basic ones all the way to some of the advanced books. There are books on almost every subject in Computer Engineering. You can download the books in a printable or PDF format.

I recommend checking out the books on C Programming and Algorithms.

Great place for discussion

31. stackoverflow

StackOverflow-small

This is the best place to ask questions about computer engineering. If you run into an issue or a problem, you can paste your code into a question and there is a great community of developers that will try and help you out. Best thing to do before asking a question is to try and see if someone has faced the same problem before. In most cases you will find the solution to your problem just by searching through questions that have been asked in the past. Some times you might have to ask a question, and if thats the case, as long as you follow the rules and have a detailed question, you will get an answer.

Conclusion

I hope you found this guide helpful. In this day and age, there are so many free resources to help you learn how to code, all it takes is the right mindset and habits to get started. Once you’ve picked the right language to focus on, its all about practice and trying to build something with what you have learned.

Open News

reSRC: So Many Free Learning Resources for Code

Hats off to the people behind reSRC for striving to organize basically every free learning resource about programming—in a way that makes these resources accessible for all.

The organization not only embraces free knowledge, but is built on a foundation of open-source: those that are so inclined can contribute to the list of free programming books, list of free resources on Javascript frameworks, and the list of free interactive resources one can play around with to learn code.

There’s a wonderful consonance to the whole thing. reSRC represents a project that can very quickly have impact at no monetary cost. It feels a bit like what the future of learning could be: an organized mosaic of resources inspired learners drive themselves to, held in an area where people who are intrinsically motivated to learn can build out paths for others to follow them.

Let’s hope to find more initiatives in this vein.

Spring 2012 Student Hackathon Coding. 3. Newer Older. Photo by @matylda

Programming resources with code(love)/Photo by @matylda

——————————————————————————-

For more about reSRC, click here.

To contribute to reSRC, click here.

reSRC is being developed by victor felder and martin maillard. Backend is Django, frontend is Zurb Foundation.