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 developmentFirst, 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.
<table border="solid"></table>
Tool Name
<p dir=" ltr" ""="" "=""></p>Cost
Platforms Supported
Tutorial Style
Description
Free
Browser*/iOS app
Text and Interactive tutorials*
Create your own website upon completion
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)
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
Free
Browser/iOS app
Interactive tutorials
Create interactive websites and browser-based games
Free
Browser/Android app
Text and Interactive tutorials
1 hour tutorial that introduces you to the basics of programming with challenges and review games
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
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
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
Free
Browser/iTunes
Interactive tutorials
Learn fundamentals of Ruby that can be used to create professional web apps when used with the Rails framework
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
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
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
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
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
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
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
<p dir="ltr">We know there are many other possible programming languages out there for people to learn, but we wanted to share resources for a few </p>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.