- 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
- basic navigation:
- 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
andconst
- rules for variable names
- variable scope
- declaring variables with
- 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, ...
- numbers
- 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
- working with
- comparisons and booleans
- comparisons with
===
/!==
/==
/!=
- comparisons with
<
/<=
/>
/>=
- results of comparisons
- combining booleans with
&&
,||
,!
- comparisons 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 (
++
,+=
, ...)
- augmented assignment (
- loops for iterating through object keys
- conditional operator (ternary operator)
- modules
- loading node modules via
require
- loading node modules via
- 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
- arrow functions
- 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()
-
- 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)
- 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