Want to Learn How to Code?


This week is Computer Science Education Week and even President Obama is helping out with the Hour of Code initiative. We know that a lot of people are thinking about trying to learn how to code (which is totally awesome). It is definitely not too late for anyone to learn, but most people have no idea where to even start. If this sounds familiar, this is the post for you. Since everyone needs a website or has an app idea, the focus of this post is on programming languages that can be used for web or mobile app development

First, what is front-end vs. back-end development? Front-end web development describes the visual, user-friendly layer of the website that the user interacts with and is used to collect inputs. Back-end web development uses the inputs that come from the front-end and is composed of servers, applications, and databases. Information is stored by the application in the database, which lives on the server. Mobile development incorporates both front- and back-end development components, but is mostly front-end.

A great analogy from a General Assembly front-end developer explains that if a website is a car, then the internal components of the car that you can’t see, but that make it run would be the back-end, and the things you can touch/use/hear to make the car move or that make it cool/fun are the front-end.

Let’s dive in to the fun part, what are the best tutorials to use to learn how to code?

Front-end Development Languages

HTML/CSS

HTML and Cascading Style Sheets (CSS) are used to make websites pretty. You can’t go wrong with learning HTML because every website builds upon HTML elements, which define document elements (e.g. headers, titles, paragraphs). CSS deals with the presentation (e.g. layout, color, and font) of the page.

Tool Name

Cost

Platforms Supported

Tutorial Style

Description

Codecademy

Free

Browser*/ iOS app

Text and Interactive tutorials*

Create your own website upon completion

Dash

Free

Browser

Slide-based text and Interactive tutorials

Several small projects: build a personal website, a responsive blog theme, a small business website, and a CSS robot (incorporates some JavaScript as well)

Code Avengers

Free

Browser/ Android app

Text and Interactive tutorials

Basic knowledge of HTML5 and CSS3 to build a website.

*Browser = using a web browser/laptop vs tablet/mobile app

*Interactive tutorial = enter code in a window on screen

JavaScript (JS)

Javascript is a scripting language that can be integrated with HTML and is used to make dynamic/interactive web pages.

Tool Name

Cost

Platforms Supported

Tutorial Style

Description

Codecademy

Free

Browser/ iOS app

Interactive tutorials

Create interactive websites and browser-based games

Code Avengers

Free

Browser/ Android app

Text and Interactive tutorials

1 hour tutorial that introduces you to the basics of programming with challenges and review games

Dash

Free

Browser

Slide-based text and Interactive tutorials

Incorporates JS with HTML/CSS for several small projects: build a personal website, a responsive blog theme, a small business website, and a CSS robot

Back-end Development Languages

Python

Python is a high-level programming language that can be used for everything from data analysis to software and game development. When coupled with a web framework, such as Django, Python can be used to create web apps.

Tool Name

Cost

Platforms Supported

Tutorial Style

Description

Codecademy

Free

Browser/ iOS app

Interactive tutorials

Learn programming fundamentals to build web apps and analyze data through examples

Udemy- The Ultimate Python Programming Tutorial

Free 30 day preview and $99 for lifetime access

Browser/ iOS app

Video lectures

Beginning foundation taught by an experienced programmer for people who have no coding experience and uses video exercises to teach concepts

Learn Python the Hard Way

Free HTML book or videos+PDF for $29.59

Browser

Text with screenshots

A book to get people started in programming using instruction and exercises/repetition to build a solid foundation

Ruby/Ruby on Rails  (Rails or ROR)

Ruby is an object-oriented programming language and, like Python, has a wide variety of applications. It can be used to build web apps when used with the web application framework Ruby on Rails. Many startups today use Ruby on Rails for their web apps because it is open source and scalable. Developers typically find Ruby easy to learn, but it may be a confusing first coding language because your background isn’t strong enough to thoroughly understand the shortcuts in its syntax.

Tool Name

Cost

Platforms Supported

Tutorial Style

Description

Codecademy

Free

Browser/ iTunes

Interactive tutorials

Learn fundamentals of Ruby that can be used to create professional web apps when used with the Rails framework

Code School

Sign up for free/some free beginner courses ( Try Ruby and Rails for Zombies Redux) and $29/month to enroll and gain access to all course content

Browser

Videos and Interactive tutorials with challenges

Learn to build dynamic web applications

Learn to Program

Free version of the book online (in multiple languages) and various pricing for the eBook/Paper book

Browser/eBook/

Paper book

Text with code snippets

Great for non-developers providing guidance from installation on to cover all programming basics

RailsGuides

Free

Browser

Text with screenshots

A beginners guide to assist with getting Rails installed, creating a Rails application, and connecting your application to a database with some basic programming principles

Or suggested by the infamous Reed Law (who wrote Heroku vs. AWS): “if you can stand surrealist technical writing, there’s always the classic “Why’s Poignant Guide to Ruby.”

Mobile

iOS

iOS applications are built using the object-oriented programming language, Objective-C. We recommend that you first complete the code school courses. Try Objective-C and iOS Operation: Models if you have no prior coding experience.

Tool Name

Cost

Platforms Supported

Tutorial Style

Description

Code School

Sign up for free/some free beginner courses and $29/month to enroll and gain access to all course content

Browser

Videos and Interactive tutorials with challenges

Tutorials starting with basic iOS development with Objective-C

Udemy – Beginners – How To Create iPhone And iPad Apps – Zero Coding

Free 30 day preview and $99 for lifetime access

Browser/ iOS app

Video lectures

Taught by an experienced programmer for people who have no coding experience and claims that upon completion of the course you will be able to design, create, and submit an app to the app store

Tutorials Point

Free

Browser

Text with code snippets

Lists basic programming terminology and languages (Objective-C) as a prerequisite, but covers many topics starting from environment setup

Developing iOS 7 Apps for iPhone and iPad

Free

iTunes/ iOS app

Videos and slides

Lists a prerequisite of a C language and some object oriented programming experience, but the professor teaches many iOS-specific topics

Android

Android is based on the Java programming language, so many of the Android development tutorials require at least a basic understanding of Java as a prerequisite.

Tool Name

Cost

Platforms Supported

Tutorial Style

Description

Udacity – Intro to Programming using Java

Free

Browser

Videos

No prior programming experience necessary and starts with the basics before going into programming fundamentals that apps build upon

Coursera

Free to learn and $49 introductory price to earn a verified certificate

Browser/ iOS app ($3.99)/Android app (unofficial app)

Videos split into 5-10 min sections followed by activities/assessments with a weekly lab exercise/assignment, and a final project

Taught by professors and recommended that students should know how to program in Java. The course has a 3-6 hour/week workload and students must sign up for the 8-week long session when it is available (next is Jan 6, 2014)

Training for Android Developers

Free

Browser

Text with screenshots and code snippets

The site describes how to install the Android SDK and how to build your first app

Tutorials Point

Free

Browser

Text with code snippets

As a prerequisite states that having basic Java programming would be helpful, but covers many topics starting from environment setup

We know there are many other possible programming languages out there for people to learn, but we wanted to share resources for a few popular, powerful, and timely languages that have many applications (plus, we may be slightly biased towards RoR). Let us know if you find this useful or if you have any other coding resources you find helpful.

Smashing Boxes is a web and mobile app development company know for creating a lasting experience through bold design and disrupting the status quo. We are entrepreneurs and craftsmen first, and a digital creative agency second. Inspired by our visionary clients, we transform ideas into innovative web and mobile applications. Take a look at our work.

W1siziisijiwmtqvmdcvmjqvmtavmzavmtyvnjkyl2zpbguixsxbinailcj0ahvtyiisijizmxgymzejil1d?sha=bce6a60c