Lambda School - Week 3: "Hello, World!"

So, we just finished up week 3 of Lambda School. This week we covered the fundamentals of JavaScript!

For those not in the know, I’m a student at Lambda School’s Full-Stack Web Development program (Read more here). In short, Lambda School offers 30-week programs in web development, data science, and iOS development, all of which are free until you get a job. If you don’t get a job, they don’t get paid.

As usual, I've done a write-up of my experiences, the ups and downs, shenanigans, and curriculum this week. If you’re not yet caught up from Week 1 or 2, you can read it here and here.

So Long CSS! Hello, JavaScript!

This week, we hit the ground running. Having just finished up everything to do with LESS and styling, I was looking forward to getting to the bread & butter of the curriculum. I figured that since Week 3's topic was JavaScript, they'd start off at a relatively gentle pace. They didn't want to scare off the students too much, would they?

There's never been a better use of this Gif. Ever.
There's never been a better use of this Gif. Ever.

Lambda wasn't going to be pulling any punches when it came to covering JavaScript. Again and again, they'd remind us that JavaScript will be one of the foundational skills that will make or break our career; especially when we move on to using React, Node, and Express. We are going to cover Python later down the line, but mastering the basics is key at the moment.

Despite the fact that I have been working professionally with JavaScript for the past couple of years, this week was by no means going to be a cakewalk. Sure, I knew how to use JavaScript but my theoretical understanding was shaky.

From minute one, we were bombarded with concepts, theory and demos, interspersed with the occasional practice assignment. After a while, you become oh-so-grateful for a quick five-minute break. Trust me on this one. Honestly, I feel for the people who are brand new to programming. Some concepts or theory would pop up that I genuinely had never heard of before. Google, MDN, and I became fast friends over the course of the week.

If I were to summarize Lambda's approach to learning, it would be ‘Practice Makes Perfect. So Practice A F*ckton'. And if practice somehow doesn't make perfect, at least it doesn't produce errors. Which is good enough for me. I feel like a monkey most of the time when stuck behind the keyboard, so I might as well make sure that I'm a damn good code monkey. ¯\_(ツ)_/¯  

I personally enjoyed the change of pace compared to the first two weeks. The immediate gratification of having your algorithm return the correct result or your function returning the desired array is amazing. After the countless hours spent on HTML and CSS during the first two weeks, it felt great to actually be programming and working through proper algorithms.

Enter The Macbook

As I mentioned last week, my current laptop was not up to the task. It was struggling to keep up with even the most basic functions. Opening a code editor would take the better part of a minute. No bueno.

Lambda School actually loaned me a MacBbook Pro! Sure it's refurbished and has a couple of dents, but who the hell cares? Honestly, I'm not in a position to shill out $1,000+ for a laptop right now. One of the Student Success Coordinators, Kevin, reached out to me. He explained Lambda's loaner-policy and he encouraged me to apply. I hesitated for a couple of days. I didn't want to take the opportunity away from students that might need it more. As soon as it was clear the situation was untenable, I accepted and Kevin was right there to help out. Thanks Kevin - if you ever do make your way to the Netherlands, I owe you a beer!

Perhaps now's a good time to mention that I had never used a Mac in my life up until last week. But what a change it's been. For the first few hours, everything felt alien and clunky to me. The weird swiping-motions, the pop-up toolbars, and the keyboard layout all took some getting used to. One tutorial and four Apple fanboys helping me out was all it took to get me up and running.

Now that I've had it for a couple of days, I can definitely tell what the hype is all about. Once you get the hang of it, the entire operating system is really intuitive and sleek. Not to mention that it makes dealing with the terminal infinitely easier.

Learning To Say ‘Hello, World!’ And More

As most people are curious about the exact curriculum at Lambda School, I’ve listed most of the topics down here. I guess it also makes for a good roadmap if others try to do something similar by themselves.

In Week 3 we covered:

  • Variable declarations and their limitations (var, let, and const)
  • Objects and object literals;
  • Arrays and array methods like .map(), .filter(), and .reduce();
  • Different programming paradigms like Object-Oriented (OOP) and Functional Programming;
  • Scope, closure, and callbacks;
  • Understanding scope and using the this keyword;
  • Prototypical inheritance and constructors
  • (Pseudo-classical) Inheritance;
  • Classes & Arrow Functions (ES6 features);

In addition, I did some studying of my own, covering the following topics:

This week was a definite change of pace. Even nostalgic. In a way, Lambda almost resembled a university in their approach this week. We actually had exercises to make and homework to do - a great change of pace from another design-project!

I know nothing.jpeg

While I understood the majority of the covered material already, it was definitely a great refresher in some of the more obscure parts of JavaScript. It also shed some light on the theoretical underpinnings. A lot of time and effort went into the instruction sessions, given that students need a thorough understanding of the ins and outs of JavaScript,  Our instructor tried to be as thorough as possible in covering all the peculiarities of prototypes, this, and ES6 syntax. Most days, the lectures lasted longer than expected. Luckily, recordings of previous lectures are available to the students. Lctures by the legend himself, Josh Knell, are some of the crowd-favorites.

Luckily, all Lambda School students have covered the basics of JavaScript before enrollment. As a result, most people could adapt to the fast pace. You have to pass an algorithm challenge in JS before even being eligible to apply. (Note: this is for Web Development students. The other tracks have different requirements.) It became clear that this was done for a good reason.

You’d better pay attention during the free bootcamp or, God help you, you're going to have a tough time. Especially if you're completely new to coding! Four two-hour long instruction sessions barely managed to cover the topics listed above, without having to cover basic data structures, syntax or conditionals.

This week, the challenges and assignments definitely became more difficult. During the first two weeks, I finished the morning code challenge in fifteen minutes or so, giving me plenty of time to lounge around for a bit. This week, not so much. I spent a good fifteen minutes solely reading the challenge requirements during a particularly-tricky challenge.

Mind you, this is from someone who's worked professionally with JavaScript for a couple of years. This was for the best, though. As you get in the groove, time starts to fly and you start to make steady progress. Sure, you might get stuck a couple of times. With enough reps, you will attain mastery.

Starting this week, I'll also be making a list of topics I want to check out during the next week. As part of Lambda's curriculum, we'll mostly be focusing on the DOM (Document Object Model), classes, and prototypes. Since I'm familiar with those already, I want to push myself a bit. For Week 4, I'll look into:

  • Do a deep dive on regular expressions on FreeCodeCamp and RegexOne
  • Review Week 5 of Harvard's CS50;
  • Review ‘JavaScript Pocket Reference’ by David Flanagan, which is pretty much an all-in-one guide on all the features, bells, and whistles of JS.
  • Review ‘Learning How To Learn’ on Coursera. I completed this one some two years ago, but don't remember all that much. A friend recently mentioned it so I thought I could use a refresher.
One of the doodles I made this week. I'm kinda proud since I historically  suck  at design.
One of the doodles I made this week. I'm kinda proud since I historically suck at design.

Q&A

If you have any questions regarding the student experience at Lambda, hit me up on Twitter! I’ll try to answer some of them every week.

Is it possible to attend classes in-person?

Not at the moment. Perhaps in the future.  There have been some rumors of Lambda buying a campus now that they've raised $30M in venture capital. Building out their remote learning-environment seems to be the highest priority. Every month, Lambda hosts what's a Lambda Meetup Day. They encourage students to meet up and collaborate. Taking the classes together during these meetups is the closest you can get to in-person collaboration and learning. For the European cohort, no plans have been made yet. The entire European student body is only some 20-odd people after all. Maybe later

Do you know what courses Lambda will start teaching in the future?

Unfortunately not. The founders and staff are tight-lipped about future plans. It seems sensible not to broadcast your future plans to a Slack channel with thousands of people. Lambda School seems convinced about their ability to apply their methodology to most types of vocational training. Recently, scuttlebutt has it that Lambda is looking into cyber-security, design, and nursing. Not sure how they're going to pull that off. I'm curious to see what the future holds!

State of the Lambda Union

This week was entertaining. It felt good to stimulate the left side of the brain for a bit. I know; left-brain/right-brain is just a wive's tale, but it's a good analogy, no? A lot of students struggled this week and I wondered at times if everyone would make it. However, most people seem to have pulled through and gotten a thorough understanding. There were quite a few cheery faces after successfully completing this week's Sprint Challenge. I personally did get bored a couple of times but I distracted myself with plenty of extra reading and courses.

Finally, if you’re interested in signing up for Lambda School yourself, please consider using this link. With it, you’ll receive $250 after you attend your first day and Lambda will give me $250 for sending you there! Win-win!

And remember, the average pace is for chumps!

Sign Up For Friday Favorites!

Join the 500+ people who receive my Friday Favorites newsletter in their inbox every week. It's a mash-up of the most interesting links, books, and ideas I came across that week, as well as my latest articles and book notes. If you're curious and looking for high-quality information, you should definitely join.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.