Video

3 Must-Know Concepts Before Day 1 at a Coding Bootcamp

Imogen Crispe

Written By Imogen Crispe

Last updated on March 10, 2017

Course Report strives to create the most trust-worthy content about coding bootcamps. Read more about Course Report’s Editorial Policy and How We Make Money.

You got accepted to a coding bootcamp – congrats! But if you want to graduate at the top of your class, then it’s all about prep work. What should you know before day one at a coding bootcamp? We sat down with Fullstack Academy Instructor Gabriel Lebec to find out the top three JavaScript concepts to get your head around before starting coding bootcamp. Watch the video to find out which concepts are key and how you can learn them!

Top 3 Concepts to Learn Before Day One

  • Functional Composition
  • Higher Order Functions
  • Prototypal Inheritance

Functional Composition

  • DEFINITION: Combining simple functions to build more complicated ones
  • Your code should be broken up into small functions, each of which does one thing well. Then, string these functions along. The output from one function becomes the input to another function

SUMMARY: Learning how to write functions which chain together is an approach which tends to make the code easier to reason about. This works best when functions are pure, i.e. they don’t rely on or use anything except their inputs.

Higher Order Functions

  • DEFINITION: functions which take other functions as input, and/or return functions as output
  • A hallmark of many functional programming languages such as JavaScript
  • Example: suppose we have a simple function “add” which adds one to a number: n => n + 1. A higher order function could take in that simple function, and give us back an enhanced version. This new function behaves similarly to “add”, but also keeps track of how many times it is called.

SUMMARY: Higher order functions make for really interesting programming techniques, where functions can be transformed, enhanced, and used in abstract ways.

Prototypal Inheritance

  • DEFINITION: All JavaScript objects delegate to the properties and methods on their prototype.
  • Prototypal inheritance is similar to class-based inheritance from object-oriented languages
    • Classes are a blueprint; you can spawn multiple instances with properties copied from that blueprint
    • Prototypes are a source; you can spawn multiple instances that share properties on the prototype
  • However, prototypal inheritance actually differs from class-based inheritance in an important way
    • With classes, properties are copied down into the instances, but are then separate
    • With prototypes, instances point back to their prototype; changing a prototype property changes all the child instances

SUMMARY: The differences between prototypal inheritance and classes are:

  • classes: the instances are copies of the blueprint
  • prototypal inheritance: new objects are just pointing back to a prototype object. Objects delegate to other objects.

Resources for Learning These Concepts

Find out more and read Fullstack Academy reviews on Course Report. Check out the Fullstack Academy website.

About The Author

Imogen Crispe

Imogen Crispe

Imogen is a writer and content producer who loves exploring technology and education in her work. Her strong background in journalism, writing for newspapers and news websites, makes her a contributor with professionalism and integrity.

Also on Course Report

Get Free Bootcamp Advice

Sign up for our newsletter and receive our free guide to paying for a bootcamp.

By submitting this form, you agree to receive email marketing from Course Report.

Get Matched in Minutes

Just tell us who you are and what you’re searching for, we’ll handle the rest.

Match Me