Skip to content

Instantly share code, notes, and snippets.

@marko-knoebl
Last active October 29, 2022 12:51
Show Gist options
  • Save marko-knoebl/313828b12ff783bd2b6c5ec5e4ca6488 to your computer and use it in GitHub Desktop.
Save marko-knoebl/313828b12ff783bd2b6c5ec5e4ca6488 to your computer and use it in GitHub Desktop.
Mod 1 Topics

chapter 1

  • terminal / command line basics
    • basic navigation: pwd, ls, cd
    • special paths: . / .. / ~ / -
    • autocompletion
    • command history (arrow keys, Ctrl+R)
    • executing programs (e.g. node, git, ...)
    • quitting programs
    • copying / pasting in the terminal
    • managing files and directories: mkdir, mv, cp, rm
  • development environment: VS Code
    • working with the terminal in VS Code
    • configuration
    • command palette and keyboard shortcuts
    • extensions
  • git basics
    • what are repositories, commits and branches?
    • setting up authentication with SSH
    • creating a new repository
    • cloning an existing repository
    • ignoring files
    • recording changes:
      • git status
      • git diff
      • git add
      • git restore
      • git commit
    • history
      • git log
      • git checkout
    • remote repositories
      • GitHub: cloning an existing repository, publishing a new repository
      • git push
      • git pull
      • merge conflicts
  • JavaScript overview
    • where is it used?
    • standardization, backwards compatibility
    • using the interactive mode
    • executing .js files with node
  • JavaScript variables
    • declaring variables with let and const
    • rules for variable names
    • variable scope
  • comments
  • data types basics
    • numbers
      • arithmetic operations
    • strings
      • creating strings
      • joining strings
      • template strings and interpolation
      • basic escape sequences (\', \", \n, \\)
    • booleans
    • null and undefined
    • objects
      • defining objects
      • accessing properties via dot notation
      • accessing properties via bracket notation
    • arrays
      • defining arrays
      • accessing and setting entries of arrays
      • common array properties and methods: push, pop, splice, length, ...
  • types and type conversions
    • typeof
    • converting between different types
  • calling functions
    • using predefined functions
    • parameters and return values
    • methods
  • documentation and resources
    • accessing documentation on existing functions and methods
    • websites for questions and answers
  • built-ins
    • working with console
  • comparisons and booleans
    • comparisons with === / !== / == / !=
    • comparisons with < / <= / > / >=
    • results of comparisons
    • combining booleans with &&, ||, !
  • parts of programs, terminology
    • code blocks and variable scope
    • statements
    • expressions
  • control structures
    • if / else / ...
    • loops
      • loops for iterating over arrays
      • while loops
      • break and continue
      • loops for counting
        • augmented assignment (++, +=, ...)
      • loops for iterating through object keys
    • conditional operator (ternary operator)
  • modules
    • loading node modules via require

chapter 2

  • defining functions
    • arrow functions
      • short and long notation of arrow functions
    • variable scope
    • pure functions
    • single responsibility principle (SRP)
    • don't repeat yourself (DRY)
    • documentation comments (/**)
    • default parameters
  • clean code
  • array methods
    • .join()
    • .push(), .unshift()
    • .pop(), .shift()
    • .sort()
    • .slice()
    • .splice()
    • ...
  • string methods
    • .split()
    • .replace()
    • .toUpperCase() / .toLowerCase()
    • .trim()
    • .slice()
    • ...
  • finding and fixing errors
    • reading error messages / tracebacks
    • logging
    • breakpoints and debugger
  • regular expressions
  • creating class instances (e.g. new Date(...), new RegExp(...))
  • higher-order functions
    • .sort()
    • setTimeout(), .setInterval()

chapter 3

  • HTML
    • basic syntax
    • basic structure of a page
    • elements and tags
    • attributes
    • element IDs and classes
    • special characters and escapes
    • whitespace
    • comments
    • development server (VS Code extension)
  • HTML elements
    • html, head, body
    • text "formatting": em, strong, br, ...
    • structuring: headings, paragraphs, horizontal lines, sections, articles
    • lists
    • images
    • links
    • tables
    • "general" elements: div, span
    • including stylesheets, CSS libraies and resets
  • CSS
    • selecting by element type / ID / class
    • properties
      • text style
      • colors
      • padding & border
      • display: inline / block / flex / none
    • flexbox
  • DOM manipulation
    • selecting elements from JavaScript
    • getting / setting content (innerHTML, innerText)
    • getting / setting styling and classes (style, className, classList)
    • getting / setting properties (value, disabled, ...)
    • adding event listeners: click, input
    • event objects
    • creating, appending and removing elements
  • browser devtools
    • inspector (elements)
    • console
    • debugger (sources)

chapter 4

  • HTML
    • data attributes
  • CSS
    • media queries
    • flexbox
    • grid
    • box-shadow
    • border-radius
  • JavaScript
    • exception handling
    • localStorage
  • JavaScript built-ins
    • Date
    • JSON, JSON format
  • PA preparation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment