2103-FSA-RM-BCP-MO-A

Hello! This is where Ariel, Noor, and Harry will put all the material for BCP. If any of the links don't work don't hesitate to slack us and let us know.

Run on Repl.it

Table of Contents

  1. Introduction And Tidy Code
  2. Loops And Debugging
  3. Coercion And Truthiness
  4. Caesar Cypher
  5. Scope
  6. Arrays I
  7. Arrays II
  8. Sudoku Validator
  9. Objects
  10. Recursion I

Additional Resources

Code War Links:

Here are a few links to problems on code wars, feel free to start at whatever level you feel confident. They're an excellent way to review things we've learned thus far.

8 = Beginner, 1 = Master

00 Additional Notes

Notes

Full Notes

  1. Functions
  2. Const vs Lets
  3. Quick Maths
  4. String Interpolation

01 Introduction and Tidy Code

Live Lecture

Workshop

Solutions

Lecture Slides

Notes

Full Notes

  1. Indenting
  2. Variable Names

02 Loops And Debugging

Prerecorded Lecture

Lecture Slides

Live Lecture

Workshop

Solutions

Notes

Full Notes

  1. While Loop
  2. For Loop
  3. Which is Better
  4. Continue Keyword
  5. Break Keyword

03 Coercion and Truthiness

Lecture Slides

Live Lecture

Workshop

Solutions

Notes

Full Notes

  1. Explicit Coercion 1
  2. Implicit Coercion 1
  3. Implicit Coercion 2
  4. Boolean Coercion 1
  5. Boolean Coercion 2
  6. Boolean Coercion 3
  7. Logical Operators

04 Caesar Cypher

Live Lecture (Ariel)

Live Lecture (Harry)

Live Review

Lecture Slides

Workshop

Solutions

Notes

05 Scope

Live Lecture

Scope Workshop Problems 4 & 5 Review

Workshop

Solutions

Notes

Full Notes

  1. What is Scope?
  2. Global Scope
  3. Functional Scope
  4. Nested Functions & Functional Scope
  5. Block Scope
  6. Hoisting
  7. Best Practices

06 Arrays I

Live Lecture

Live Solutions

Workshop

Solutions

Notes

Full Notes

  1. Array Definition
  2. Typeof & Array.isArray()
  3. Bracket Access
  4. Bracket Assignment
  5. Array Looping
  6. Array Length
  7. Array.push()
  8. Array.pop()
  9. Array.shift()
  10. Array.unshift()
  11. Array.indexOf()
  12. Array.slice()
  13. Array.includes()
  14. Array.reverse()

07 Arrays II

Lecture Slides

Live Lecture Review

Workshop

Solutions

08 Sudoku Validator

Live Lecture

Review

Lecture Slides

Workshop

Solutions

Notes

Our Solutions

09 Objects

Live Lecture

Workshop

Solutions

Notes

Full Notes

  1. What is an Object
  2. Why are Objects Useful
  3. Typeof an Object
  4. Creating Objects
  5. Access Object Properties
  6. Adding Object Properties
  7. Changing Object Properties
  8. Deleting Object Properties
  9. In Operator
  10. For In Loop
  11. Object Methods
  12. Nested Arrays
  13. Nested Objects

Object Methods

Live Lecture

Notes

  1. What Are Methods
  2. Creating Methods
  3. this
  4. Workshop Questions & Solutions

Pass By Value, Pass By Reference - Optional Advanced Lecture 1

Live Lecture

Higher Order Functions I - Optional Advanced Lecture 2

Live Lecture

Higher Order Functions II - Optional Advanced Lecture 3

Live Lecture

10 Recursion I

Live Lecture

Workshop

Solutions

Notes

Full Notes

  1. Definition of Recursion
  2. The Call Stack
  3. Countdown
  4. Factorial
  5. Iterables
  6. Hints

11 Recursion II

Lecture Slides

Solutions Video Part I

Solutions Video Part II

Workshop