Launch School
Published in

Launch School

Announcing Our New JavaScript Core Curriculum Track

Photo by David Rangel on Unsplash

We’re very happy to announce the addition of a new JavaScript learning track to our Core Curriculum. The deployment of this track is the culmination of many months of planning and hard work behind the scenes. We feel that the addition of this track offers increased flexibility to students who want to study at Launch School, but who would rather do that with a stronger focus on JavaScript.

Why have we added this track?

The Core Curriculum is a cornerstone of our pedagogy, but prior to the addition of this learning track a number of courses were only available with Ruby as the primary language.

Learning Ruby has never been the focus of our Core Curriculum. The RB101 Programming Foundations course, for example, is focused on fundamental programming concepts and structured problem solving. The RB120 Object Oriented Programming course is focused on the Objected Oriented programming paradigm, and using it to structure your code. Ruby is simply the medium with which these concepts are taught, rather than being the primary learning objective of the courses.

Getting that point across to prospective students isn’t always easy though, and the fact that those courses are only taught using Ruby is sometimes seen as a negative. The JavaScript track now offers another option: learn the same fundamental concepts, but through JavaScript.

What’s the difference between the two tracks?

Roadmap for the Launch School Core Curriculum. Green boxes are courses that are in both tracks.

The structure of the two tracks is broadly very similar. In fact, the two tracks have many courses in common, such as LS170 Networking Foundations, LS180 Database Foundations, and LS202 HTML and CSS. Front-end programming using JavaScript is also covered in both tracks. The main difference is in the back-end portion of the curriculum.

  • In the Ruby track, we teach programming fundamentals with Ruby first. When we move on to backend web development, we use a Ruby framework called Sinatra, along with a templating language called ERB. When we get to the frontend part of the curriculum, we then shift into using JavaScript. If you finish the entire program in the Ruby track, you’ll have a good understanding of all of those topics. You will also have mastered two programming languages: Ruby and JavaScript.
  • In the JavaScript track, we use and teach JavaScript exclusively, both for backend and frontend development. We’ll use the Express framework with Node.js for backend web development, along with the Pug templating language.

Because JavaScript is used in both back-end and front-end courses, the JavaScript track is slightly shorter than the Ruby track. The net effect is that the Ruby track contains two additional courses than the JavaScript track. But learning two languages in the Ruby track, despite being a bit longer, has a few advantages:

  1. Students get exposure to two different programming languages and can start to formulate comparisons between the design choices of programming languages.
  2. Students will undergo two completely different ways of learning a programming language. In courses RB101–130, students will learn to systematically take apart a language and learn how to use it to solve problems. In courses JS210-JS225 (the “JavaScript for Programmers” courses), students will learn how experienced programmers learn new languages by focusing in on a few key concepts to quickly get up to speed. This results in greater confidence to pick up new programming languages in the future and is an exercise in JIT learning.

The flip-side is that, by being longer, the Ruby track will generally take more time to complete.

Mastery Based Learning

Although the new track uses a different language for some of the courses, this doesn’t change the emphasis of the Core Curriculum. The objective of this phase of Launch School is still gaining understanding of fundamental programming concepts through Mastery-based Learning.

This approach has always been what sets Launch School apart, and the addition of this new learning track doesn’t change that.

What’s happening to the Ruby track?

Nothing at all. We’re going to continue supporting, maintaining, and improving the Ruby learning track. The JavaScript track is simply an additional option for students who want to learn programming fundamentals to mastery, but with more of a JavaScript focus.

What are the new courses?

A full description of each course in the track is available on the Course Overview page of our website under the JavaScript tab. In summary, here are the new courses (and a book). Assessments are omitted.

  • The Introduction to Programming with JavaScript book used during the new track is available for free (like all our books) on our Open Book Shelf
  • JS100 Programming & Back-end Prep with JavaScript
  • JS101 Programming Foundations with JavaScript
  • JS120 Object Oriented Programming with JavaScript
  • JS130 More JavaScript Foundations
  • JS175 Networked Applications with JavaScript
  • JS185 Database Applications with JavaScript




Publications of the Launch School Community

Recommended from Medium

Easy Git Hooks for Flutter

How to build a flutter splash screen in 3 mins

Google flutter how to make a splash screen and save time.

How we are building our Flutter Team

Kotlin: Scope functions simple but powerful

How do you increase the font size in QT?

My Reading Notes from Clean Code by Robert C. Martin

Orwell: The All-Seeing and Monitoring Application

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Launch School

Launch School

The slow path for studious beginners to a career in software development.

More from Medium

Lessons From the First Half of Core

Singularly Excellent ≠ Perfect

Introduction to JavaScript: Basics

Coding School Entrance Essay