Bloc Curriculum Developers Share Their Favorite 10 Pre-Bootcamp Tutorials

Bootcamps are designed to prepare you for a new job as a developer, but admission into many bootcamps, and success during their programs, can depend heavily on how much you’ve learned before applying.

With many code schools and dev bootcamps like Hack Reactor and Flatiron School boasting acceptance rates as low as 3%, learning on your own has become crucial to gaining admission. For students who want to start learning on their own, but aren’t sure how to get started, we asked a few of our Course Directors (who manage our online developer and design bootcamp programs), to review the admissions criteria and pre-work required at a sampling of bootcamps, and pick the 10 best tutorials to prepare you.

This list has been divided up based on what program you’re looking at, Ruby on Rails, JavaScript, or iOS. Each tutorial has been carefully critiqued by the directors here at Bloc. We understand that no tutorial is perfect, which is why the directors have provided honest assessments.

If you are still on the fence about enrolling in a bootcamp, this list will help you too! These tutorials will give you a taste of what programming is like and allow you to work at your own pace.

Meet the Experts

aaron-2xMeet Aaron – iOS Dev Course Director

Aaron has been developing web and native apps for iOS since iPhone launched in 2007. Prior to Bloc, Aaron was an iOS Developer at Sprout Social. He has also worked at Apple and deck5 Software.cropped joe

Meet Joe – Frontend Web Dev Course Director

Prior to becoming the Course Director for Bloc’s Frontend Web Development course, Joe was a developer at Lapel and ESM Group.  Joe developed the Frontend curriculum and recruits, trains and manages mentors.

cropped (mike

Meet Mike – Rails Curriculum Creator

Before joining the Bloc team, Mike worked at PWC and IBM as a software consultant.  In addition, he founded Virtus Consulting Group. Mike now works as Bloc’s Editor-in-Chief, and wrote Bloc’s Rails Web Development curriculum.

Top 3 Tutorials for JavaScript

While JavaScript has always been ubiquitous because it’s built into web browsers, it has emerged in the last three years as a powerful tool for creating complex web applications that mimic desktop-like functionality in the browser.

Rebecca Murphey: JavaScript Basics

Price: Free

JavaScript is a rich and expressive language in its own right. This section covers the basic concepts of JavaScript, as well as some frequent pitfalls for people who have not used JavaScript before. While it will be of particular value to people with no programming experience, even people who have used other programming languages may benefit from learning about some of the peculiarities of JavaScript.

Pros: I like that this tutorial is a single-page with simple navigation. It hits all the basics of JavaScript, including some topics that are somewhat strange for programming beginners like closures and the this keyword. It exposes any beginner to a lot of the topics that are worth exploring more in-depth to get a real handle on JavaScript, which minimizes the frequent trap of beginning programmers of “not knowing what they don’t know”.

Cons: The tutorial touches very briefly on almost any topic it covers, and doesn’t offer a lot of exercises for the reader to practice the concepts they’re learning. JavaScript is a quirky language, and not very much of its unusual behavior is explored. It also fails to introduce Prototypical Inheritance, and sprints through important topics like how to use apply, call and bind.

 

Egghead : Building an AngularJS App From Scratch: Getting Started

Price: Free

In this series, you can learn how to build a non-trivial AngularJS application from the ground up through a series of small, digestible lessons.

Pros: In general, I think the tutorials that Egghead does on topics related to modern frontend development hit the right balance between exposing the viewer to many potentially useful concepts, but not spending so much time that the video turns into a long-winded lecture. This tutorial is no exception. Lukas does a great job introducing the viewer to some of the more interesting aspects of Angular. Specifically, he starts with very simple directives, one of Angular’s most useful tools, to illustrate some of the magic behind Angular’s declarative approach to DOM manipulation and data-binding. His tutorial walks through controllers, filters and data modeling with Angular, and shows how to update data using event handlers with directives like ngSubmit. The tutorial also has a companion series on Angular app architecture behind a paywall that’s worth looking at as well.

If you are looking to explore standalone concepts in Angular, I can’t recommend Egghead enough. While it may not have the best start-to-finish tutorial introduction out there, the guys at Egghead explore almost every nuance of Angular’s APIs, including testing, design patterns, integrating popular external modules and more.

Cons: There are a lot of obvious cons to a tutorial that introduces a framework as complex as Angular yet is less than an hour in length. It’s meant to be a brief introduction, and I don’t fault it for being brief. The biggest complaint I have with the tutorial is that it doesn’t introduce how to write custom directives. Directives are a complex topic, so I understand why they may have omitted this for a free, introductory level video series. However, they play a big part of Angular development in a production-level application, and it would be nice to get some specific context on where and when writing your own directive makes sense.

Code School: Shaping up with AngularJS

Price: Free

Learn to use AngularJS by adding behavior to your HTML and speeding up your application’s responsiveness. Get ready to dive into all the angles of AngularJS!

Pros: Officially sponsored by Google, which leads the open source development of Angular, this class is pretty thorough about exploring the different use-cases of Angular APIs. In addition to going through all of the basics (controllers, filters, models, and built-in Angular directives), it explores Angular services for keeping data management in controllers light, custom directives for abstracting interface components and dives into handling form submission the Angular Way. It also works on some useful, yet comparatively minor features that Angular offers like form validation. Code School’s learning pattern is great as well, as a combination of videos, reading and interactive, in-browser programming allows for short feedback loops and good coverage on the topics it explains. As far as free crash courses on Angular go, this is my favorite.

Cons: Using the rubric established by the Egghead Angular tutorial, this tutorial has relatively few cons. The biggest issue is that it relies on in-browser programming to get started instead of forcing the learner to use a text editor and server to work on their app.

Top 3 Tutorials for iOS

Treehouse: Build a Simple iPhone App 

Price: Free (with trial offer)

Get familiar with the basic layout and functionality of Xcode. Find out how to use Interface Builder to drag and drop controls on a view. Run your app in the iPhone simulator. Connect controls on the view to the view controller which manages the user interface via IBAction and IBOutlet.

Pros: Treehouse provides two excellent, simple introductions to writing iPhone apps. These courses are similar conceptually; the main difference is that one is written in Objective-C, and the other is written in Swift.

Both of these courses give readers a broad overview of many important concepts in iOS Development:

  • Basic usage of Xcode, Apple’s development environment
  • Building views and view controllers using storyboards
  • Displaying information on the screen
  • Different ways to store information
  • Model/ View/ Controller, a common iOS design Pattern
  • Basic animations
  • Basic debugging techniques

Cons: On the whole, Treehouse’s courses provide an excellent broad introduction to iOS development. Readers will be exposed to a small taste of many iOS development concepts, but should be warned that there’s much to iOS development that isn’t covered here.

Bloc: Swiftris

Price: Free

Today you will begin putting the pieces together for a brand new game – see what we did there? To many, Swiftris resembles not only in name but in nearly every other respect a game written in the early 1980s that to this day continues to be played all around the world. Rest assured, Bloc is absolutely certain that any semblance to said game is merely coincidental.

Pros: In Bloc’s free Swiftris tutorial, readers build a falling 2D puzzle piece game that’s eerily reminiscent of Tetris. All of the code is written in Apple’s new programming language, Swift. The tutorial is free for everyone, and paid students can work through the tutorial with 1-on-1 guidance from an experienced iOS mentor.

Focused on SpriteKit game development with Swift, building Swiftris will expose readers to the basic tools and patterns necessary for building a game:

  • Model/View/Controller
  • Delegation
  • Run loops
  • Target-action
  • Building SceneKit scenes and sprites
  • Responding to touch events (like swiping) in a game

This tutorial is focused primarily on game logic, custom data structures (including building a 2D array to represent the board), and building an engaging visual experience. Part of the focus is leaving unrelated content out.  The tutorial is unique in that it’s easily approachable by a beginner, but still has appeal to intermediate-level developers looking to pick up new skills.

Cons: Compared to Treehouse’s introductory tutorials, this tutorial is much deeper, but also much narrower in scope. This tutorial doesn’t cover asynchronous networking, rotation events, transitions between view controllers, or many other things that are required in most iOS apps.

Code School: Try Objective-C

Price: Free

Learn the basics of iOS development with the Objective-C language. Start learning to develop iPhone, iPad, and Mac apps by building a foundation on Objective-C.

Pros: From a pedagogical perspective, it’s difficult to balance two important elements of learning app development.

Good courses must both:

  1. Teach good programming skills, which can look and feel boring, and
  2. Keep learners engaged with visual progress before they give up.

The vast majority of tutorials and courses handle this by teaching the minimum amount of programming necessary to start building apps, and then they mix in additional programming lessons as they’re needed to add more functionality.

Code School takes a decidedly different approach. Their tutorial is done entirely in the browser, with no practice using Xcode at all. This tutorial focuses readers on learning the language of Objective-C, not the iOS SDK. Concepts are divided into different “levels” and students can see their progress advance.

Cons: Participants won’t learn iOS Development here, but will learn code fundamentals that provide a solid programming foundation. After taking this course, picking up the iOS frameworks will be much less overwhelming.  This tutorial isn’t geared towards beginners. Rather it is for students with good self-discipline, or readers who’d like to sharpen their existing Objective-C skills.

Top 3 Tutorials for Ruby on Rails

Code School: Rails for Zombies

Price: Free

Learning Rails for the first time should be fun, and Rails for Zombies allows you to get your feet wet without having to worry about configuration. You’ll watch five videos, each followed by exercises where you’ll be programming Rails in your browser.

Pros: Rails for Zombies is part of CodeSchool’s great Ruby on Rails section. It is the the first Rails course in a series of 7 courses. This is a fun introduction to the Rails API. This tutorial walks you through basic MVC, CRUD and database functionality in Rails.  For the price it is a great source for information, entertainment, and is a superb chance to get Ruby practice.

It is slickly produced, with entertaining videos, highly polished course materials, and in-browser exercises. Since the entire course is done in browser, no painful local Rails setup is required. In addition to the 7 Rails courses, there are 3 Ruby courses that range from introductory materials to advanced methods. Access to all CodeSchool courses is available for a very reasonably monthly subscription that can be cancelled/resumed at any time. Overall a great resource for aspiring developers looking to jumpstart their Rails knowledge or intermediate developers wanting to dive deeper into testing, APIs, and Rails 4 patterns.

Cons: Unfortunately this tutorial has a limited amount of material.  In the end the student is unable to create an entire App, but rather completes a number of exercises.  Lastly, this tutorial is more appropriate for intermediate developers due to its more advanced drills.

Ruby Monk: Ruby Primer

Price: Free

You want to learn Ruby for fun, for a new job, or just to see what all the fuss is about? Start here.

Pros: Ruby Monk is easily one of the best and most thorough introductions to the Ruby programming language. The course is divided into 10 sections. This allows for complete coverage of Ruby syntax and programming principles. Each sections has several chapters that clearly explain various concepts, with in-exercise, runnable coding examples. Each section includes a set of 16 in-browser coding exercises to reinforce the concepts covered in the material. The course also has an entertaining monk-apprentice theme that keeps the material interesting.

Cons: This tutorial covers all the Ruby programming you’ll need for making Rails apps, but doesn’t cover Rails itself — pure Ruby.  In addition this “Primer” assumes you have some background in computer science.

Ruby Koans: Learn Ruby with the Ruby Koans

Price: Free

The Koans walk you along the path to enlightenment in order to learn Ruby. The goal is to learn the Ruby language, syntax, structure, and some common functions and libraries.

Pros: Ruby Koans are a free introduction to advanced Ruby programming concepts. It is broken into several koans (sections) covering everything from strings and arrays to advanced classes and regular expressions. Ruby Koans are a great resource for people who prefer the brain teaser method of learning. The exercises will challenge even advanced programmers to stretch and grow rarely used Ruby muscles. The Koans can be completed online through the browser based version, or downloaded and run locally.

Solve problems with Ruby, with a focus on test-first. This is a great intro to thinking about programming test-first, which is important for web development and programming in general.

Cons: Like the previous tutorial, this one is lacking any instruction on Rails.  The exercises are great practice but the student is unable to build something tangible.

Top Tutorials for Intermediate HTML and CSS

Bloc: Jottly

Price: Free

Description: Jottly is tutorial that teaches “advanced beginners” more about using HTML, CSS, Animations, and the Skeleton design framework to construct a homepage for Jottly, a fictitious SaaS (Software as a Service) app.

Pros: It’s a great intro to building your first web page, pragmatically with HTML, CSS and a CSS framework named Skeleton.  This tutorials step by step format makes the learning process easy. Whereas other HTML and CSS tutorials like Codeacdemy focus on complete beginners, Jottly is a great companion that helps people who have completed Codecademy design a homepage with more elegance and some animation flourishes. Furthermore, whereas Codecademy stops-short of teaching beginners how to host a website, Jottly teaches advanced beginners how to get their site up on GitHub Pages.

Cons:  For a total beginner, Jottly is going to be a steep learning curve. We recommend you tackle Jottly right after completing Codecademy’s HTML, CSS, and JavaScript tracks. For an advanced beginner, the biggest shortcoming with the Jottly tutorial is that it doesn’t teach a lot about backend programming and the logic that a user will need to get a real application online. Whereas other tutorials teach Ruby and JavaScript, which are scripting languages used to do complex logic, HTML and CSS are frontend-only languages. For an advanced beginner, we recommend you pair Jottly with a tutorial that leverages JavaScript, such as the JavaScript basics tutorial we mention above.

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on RedditEmail this to someone