Launch School in review: Backend Courses Part 2

Olly Chadwick
5 min readOct 7, 2019

--

This is the second in a three-part blog series covering my review of the Launch School curriculum. You can see the first part here, and a general overview of my journey through the programme here.

In this post I’m going to go through the last two courses of the backend section of the curriculum:

  • RB170 — Web Development
  • RB180 — SQL and relational databases

These courses are the ones that have changed the most since I took them. Early in 2019, RB170 and RB180 were each split into two courses: LS171/RB175 and LS180/RB185. The idea behind this change was to separate the new content, either networking or working databases, from how to integrate this content into Ruby applications.

Then in the summer of 2019, LS170 (Networking Foundations) was expanded to cover networking in more depth. In my review of the course, I went through the new LS170.

RB 170 — Web Development

“This course will explore HTTP, the protocol that powers the web. We’ll start off by looking at the internet, the infrastructure behind the web, before diving into HTTP in more detail. After this course, you’ll have a good understanding of the HTTP request/response cycle and the way in which it forms the basis for networked applications.” — LS 170 Summary

I loved RB170 first time around. It brought everything that we had learnt so far together, and allowed me to create some actual websites. An application that you can access through a web browser is always more impressive than a text-based command line programme, even if the underlying logic is the same.

Consequently of course, it did involve learning some HTML/CSS (in the form of the very good Shay Howe tutorial). I have never liked using HTML and CSS. To me they seem to be less about creative problem solving and more about desktop publishing with an unintuitive interface (whenever I’m manipulating the layout or styles of a webpage, part of my brain is screaming: ‘I could do this in 5 minutes in Powerpoint!’).

I really enjoyed learning HTTP and how the internet works at a deeper level, which is an aspect of the course that has been added to in the recent changes.

Have I used this material since finishing Launch School?

The content of this course has been amongst the most useful for debugging the web applications that I’ve built since finishing Launch School. Fixing a lot of problems with web applications is about understanding the messages are being passed between the client and the server.

I loved the section on generating your own web framework with Rack (available as a series of blogs here). Since finishing Launch School, I have spent a lot of time learning web frameworks, so it was great to review this content on the fundamentals of how the web works.

Just as a great way to learn a new topic is to start with the fundamentals, it’s also helpful to go back to those basic principles once your understanding has developed a bit. Reviewing the content on Sinatra here reinforced to me exactly what a web framework is at its core, and therefore what a framework like Django (which I’m learning at the moment) is doing.

How much did I enjoy the course first time around?

I thought this course was great. Looking back, I learnt a lot here that I wish I had kept up. It would have been a good idea to build a couple of side projects as I worked through the front end courses, to link up the material that I learnt in the backend with what I learnt in the front end.

Enjoyment Factor: ⭐️ ⭐️ ⭐️ ⭐️ ⭐️

What was the assessment like?

The assessment was a code challenge and some written questions. Neither was all that difficult, but I dropped some points on the code challenge.

How does the old course compare to the new course?

If you’ve already gone through the old RB170 and are thinking about reviewing the new LS170 material that was added in summer 2019, I recommend that you do. There’s a lot of great new stuff here, which actually answers some questions that I had when I went through the course the first time.

RB180 — SQL and Relational Databases

“This course focuses on the relational model, the SQL language, and how to work with relational databases. We start with SQL and the relational data model, introduce core database concepts such as tables, rows, columns, keys, constraints and joins, and guide you to learn how to interact with databases from various types of applications.” — LS180 Summary

Oh, my goodness, I had forgotten a lot of this. Nearly ever other part of the Backend courses is reviewed in some way in the front end. But databases aren’t. The content of this course has been sitting in a dusty and forgotten part of my brain for the last 18 months.

Having said that, databases were actually probably the part of programming that I had most experience in before starting Launch School. I had gotten reasonably proficient in the statistics language ‘R’ during an MSc programme a few years back. On review, I found that this was one of the easiest courses to pick up again. I don’t think there is much that is conceptually difficult in this course relative to some of the others.

Having built a functioning web application in RB170, in this course we connected it to a database. This felt like another big step towards creating a real web application.

Have I used this material since finishing Launch School?

Having built a few websites since finishing the core curriculum, I still haven’t used my knowledge of databases from RB180. I recently completed a website with a Django backend. While there is an SQL database that exists in the background, Django handles the interface with it. However, if things start going wrong with the database, then I will need SQL to query the database to see what is going wrong. Again, it would have been good to find a way to review this knowledge through some side projects as I worked through the front end courses.

How much did I enjoy the course first time around?

This wasn’t my favourite course, but it was nice to have the novelty of working on a completely new language, having worked only with Ruby since the start of the course.

Enjoyment Factor: ⭐️ ⭐️ ⭐️

What was the assessment like?

This was the only assessment where I got full marks. Having spent three months on the course, with hindsight this was one I probably could have moved through quicker.

Next Steps

Having finished all the backend courses, we now take the big leap into the front end. The next entry in this series will cover my journey through the Launch School front end courses.

--

--