Skip to content

Latest commit

 

History

History
397 lines (300 loc) · 8.26 KB

03-PB.md

File metadata and controls

397 lines (300 loc) · 8.26 KB

16.03 Introduction to JavaScript

Topics

  • the JavaScript programming language
  • interpreted languages vs compiled languages
  • running JavaScript in the browser
  • running JavaScript using node
  • using console.log()
  • JavaScript values
  • different types of values
  • introduction to variables
    • let
  • variable declaration
  • the assignment operator
  • changing the value of a variable
  • the typeof operator
  • writing comments

16.03 Introduction to JavaScript

Topics

  • recap of primitive values
  • variables and constants
    • var
    • let
    • const
  • variable names
  • JavaScript expressions
  • literals
  • arithmetic operators
  • variable reassignment
  • template literals
  • string length
  • square bracket notation for strings

Resources

Week March 21 - 24

Topics

  • recap assignment operators: = += -= *= /= **=
  • string accumulation with +=
  • increment operator: ++
  • decrement operator: --
  • escaping special characters in strings
  • comparison operators: === !== < > <= >=
  • boolean expressions
  • ternary operator: condition ? expressionIfTrue : expressionIfFalse
  • conditional expression

Basic String Methods

  • .toUpperCase(), .toLowerCase()

  • .substring()

  • .slice()

  • .includes()

  • .trim()

  • parseInt()

  • parseFloat()

  • Rounding up with Math.ceil()

  • Rounding down with Math.floor()

  • Getting random numbers with Math.random()

  • Maximum and minimum with Math.max(), Math.min()

  • NaN, typeof NaN

  • isNaN(<expression>)

  • Very long numbers: e, rounding errors

  • Rounding errors: .toFixed()

  • Infinity

Logical Thinking

  • Simple preposition analysis
  • Logical operators:
    • logical AND: &&
    • logical OR: ||
    • logical NOT: !
  • Truthy and falsy values: false, undefined, null, 0, ''
  • Short circuit assignment with ||

Array:

  • Assigning array literals: const <array name> = [<value 1>, <value 2>, ...]
  • Accessing array items with square brackets
  • Re-assigning array items with square brackets
  • consts and array items

Basic Array methods

  • Finding Items: Array.prototype.indexOf(<item>)
  • Adding items: Array.prototype.push(), Array.prototype.unshift()
  • Removing items: Array.prototype.pop(), Array.prototype.shift()
  • Manipulating arrays: Array.prototype.reverse()

Topics

  • recap assignment operators: = += -= *= /= **=
  • string accumulation with +=
  • increment operator: ++
  • decrement operator: --
  • escaping special characters in strings
  • comparison operators: === !== < > <= >=
  • boolean expressions
  • ternary operator: condition ? expressionIfTrue : expressionIfFalse
  • conditional expression

Basic String Methods

  • .toUpperCase(), .toLowerCase()
  • .includes()
  • .trim()
  • .substring()
  • .slice()

Topics

  • parseInt()
  • parseFloat()
  • Rounding numbers with Math.ceil(), Math.floor(), Math.round()
  • Maximum and minimum with Math.max(), Math.min()
  • Rounding errors: .toFixed()

Exercises

Topics

  • Rounding errors: .toFixed()

Logical Thinking

  • Simple preposition analysis
  • Logical operators:
    • logical AND: &&
    • logical OR: ||
    • logical NOT: !
  • Truthy and falsy values: false, undefined, null, 0, ''
  • Short circuit assignment with ||

Exercises

Topics

Array:

  • recap strict equality and (loose) equality

  • Assigning array literals: const <array name> = [<value 1>, <value 2>, ...]

  • Accessing array items with square brackets

  • Re-assigning array items with square brackets

  • consts and array items

Basic Array methods

  • Finding Items: Array.prototype.indexOf(<item>)
  • Adding items: Array.prototype.push(), Array.prototype.unshift()
  • Removing items: Array.prototype.pop(), Array.prototype.shift()
  • Manipulating arrays: Array.prototype.reverse()
  • Array.prototype.concat()
  • Array.prototype.slice()
  • Array.prototype.splice()
  • Array.prototype.join()
  • String.prototype.split()

Class with mentor


Week March 28 - 31

Topics

  • introduction to algorithms
  • conditional statements
  • if...else statement
  • if...else if...else
  • introduction to scope
  • block scope
  • switch statement
  • loops
  • basic for loop
  • introduction to functions
  • function declaration
  • function expression
  • arrow function
  • parameters and arguments
  • function scope
  • return statement
  • functions with side effects

Topics

  • array recap
  • working with nested arrays
  • introduction to memory

Topics

  • introduction to algorithms
  • conditional statements
  • if...else statement
  • if...else if...else
  • introduction to scope
  • block scope

Topics

  • review if...else statement
  • introduction to scope
  • block scope
  • loops
  • basic for loop

  • while loop
  • switch statement

April 04 - 07

  • introduction to functions

  • declaring a function

  • calling a function

  • functions seen so far

  • function parameters and function arguments

  • return statement

  • Declaring variables in functions

  • function declaration, function expression, arrow function

  • debugger

  • function scope

  • Global vs. Local scope

  • Pure functions vs side effects

  • the call stack

  • Default parameter values

  • rest parameters

  • the args array

04-04 functions

Topics

  • introduction to functions
  • declaring a function
  • calling a function
  • functions seen so far
  • function parameters and function arguments
  • return statement

05-04 functions

Topics

  • function scope
  • function declaration, function expression, arrow function
  • Global vs. Local scope
  • Pure functions vs side effects
  • the call stack

Resources

06-04

Topics

  • debugger
  • function scope
  • Global vs. Local scope
  • Pure functions vs side effects
  • the call stack

07-04

Topics

  • NaN
  • isNaN()
  • Number.isNaN()
  • Default parameter values
  • rest parameters

Resources

19-04

Topics

  • review

20-04

Topics

  • test

21-04

Topics

  • object data type
  • data type of array
  • object literals
  • object bracket notation
  • object dot notation
  • creating methods
  • using methods

25-04

Topics

  • for...of
  • bracket notation with vars

26-04

Topics

  • Object.keys()
  • Object.values()
  • Object.entries()
  • Object.fromEntries()
  • Object.assign()

27-04

Topics

  • copying objects (and arrays)
  • copying nested arrays and objects
  • spread operator

28-04

Topics

  • this keyword
  • functions as values
  • assigning functions to other variables
  • assigning functions to object properties

02-05

Topics

02-05

Topics

03-05

Topics

04-05

Topics

05-05

Topics

06-05

Topics

09-05

Topics

10-05

Topics