Unit 01: JavaScript Fundamentals

Overview

The focus of this unit is:

  • Arriving
  • Revising and practicing core skills
  • Introducing test-driven development
  • Human Skills Deep Dive
  • Introduction to TypeScript

Core Concepts

  1. Pair programming
  2. Git and GitHub
  3. Node.js, NPM and the REPL
  4. Data types
  5. Functions
  6. Data structures
  7. Testing with Vitest
  8. Writing Tests
  9. Test-driven development (TDD)
  10. Introduction to TypeScript
  11. Introduction to Build Tools and Vite

Exercises

*Note: If any of these exercise links are sending you to a 404, it means the challenge hasn't been made available yet. You will get access to challenges alongside the material in bootcamp. Please let an instructor know if something should be available that isn't.

Pair Programming, Git and GitHub

  • two-truths-and-a-lie (select your cohort for a link)

Data Types, Data Structures, and Functions

  • kata-objects-and-arrays (select your cohort for a link)
  • kata-types-modules (select your cohort for a link)
  • kata-strings-numbers-modules (select your cohort for a link)
  • kata-data-structures (select your cohort for a link)
  • bowling-kata (select your cohort for a link)

Bonus JavaScript Challenges

  • kata-object-array (select your cohort for a link)
  • kata-number-patterns (select your cohort for a link)

Test-Driven Development

  • tdd-bowling-kata (select your cohort for a link)
  • conways (select your cohort for a link)

Introduction to TypeScript

  • kata-typescript (select your cohort for a link)
  • whats-on-tvite (select your cohort for a link)

Learning Outcomes

Tech Skills

Core

I can...

  • Use variables and functions
  • Use loops (for) and conditionals (if)
  • Use dot and square bracket notation with objects and arrays
  • Use exports and import
  • Use map, find, filter and forEach
  • Write and use anonymous functions (e.g. arrow functions)
  • Use console.log for debugging
  • Write and run a simple test
  • Use git: clone, branch, add, commit, push, pull
  • Talk effectively about code, e.g. using line numbers and naming the different kinds of brackets

Stretch

I can...

  • Use reduce
  • Do test-driven development (i.e. write the tests before the code)
  • Complete Conways game of life

Sometimes you may feel like you have no idea what you are doing. But don't worry, that's normal. Stay positive, be kind to yourself, work at it and ask questions. Everything will be fine - you have lots of support!