---
marp: true
theme: default
---

## JavaScript Grundlagen Teil 1.

---

#### Tag 01

**Inhalt:**

- Vorstellungsrunde
- Einrichtung der IDE
- Tools für die Webentwicklung (Emmet, Markdown, VS-Code)
- Arbeiten mit VSCode
- Konsolenausgaben mit `console.log()`

**Übungen:**

- Übungen Content Factory

---

#### Tag 02

**Inhalt:**

- Dialogfenster in JS `prompt()`, `alert()`, `confirm()`
- Kommentare in JS
- Rechnen in JS
- Datentyp String, Number, Boolean
- literal und typeof
- Prioritätsreihenfolge

**Übungen:**

Übung 3 - 6

---

#### Tag 03

**Inhalt:**

- Variablen und Konstanten in JS
- Zusammengesetzte Zuweisungsoperatoren
- Increment & Decrement
- Strings verketten mit +

**Übungen:**

Übung 7 - 12

---

#### Tag 04

**Inhalt:**

- Escape-Notation
- Implizite und explizite Typkonvertierung
- NaN - Paradoxon
- Math Object
- Number.toFixed()

**Übungen:**

Übung 14 - 18

---

#### Tag 05

**Inhalt:**

- Repetition der Inhalte
- Relationale Operatoren & Vergleichoperatoren
- isNaN
- Lexikographische Vergleiche
- **Exkurs: HTML-Formularfelder**
- 1:1 Meeting

**Übungen:**

Übung Kontaktformular mit HTML und BS

---

#### Tag 06

**Inhalt:**

- **Exkurs: HTML Formularfelder mit BS**
- if else Verzweigung und ternärer Operator
- logische Operatoren UND und ODER
- unärer Operator (!)
- String Methoden Part I

**Übungen:**

Übung 19 - 26

---

#### Tag 07

**Inhalt:**

- String Methoden Part II
- Funktionen in JS
- Funktionen mit Übergabeparameter
- Funktionen mit Rückgabewerten

**Übungen:**

Übung 26 - 35

---

#### Tag 08

**Inhalt:**

- Funktionen mit Übergabeparameter
- Funktionen mit Rückgabewerten
- Guards
- Array Part 1

**Übungen:**

Übung 35 - 38

---

#### Tag 09

**Inhalt:**

- Array Methoden toSorted, toReversed, toSpliced
- toSorted, toReversed
- Array sort mit "compare function"
- Array: Higher Order Funktionen Part (sort map, forEach, reduce, some, every)

**Übungen:**

Übung 39 - 48

---

#### Tag 10

**Inhalt:**

- Array.find und Array.findIndex
- Alle Array Higher Order Funktionen im Überblick
- local scoping
- **Exkurs: Schleifen**

**Übungen:**

Übung 46 - 48

---

## JavaScript für Fortgeschrittene

---

#### Tag 11

**Inhalt:**

- Einführung in JS für Fortgeschrittene
- Objekte in JS

**Übungen:**

Projektarbeit
Abschlussquiz - JS Grundlagen

---

#### Tag 12

**Inhalt:**

- Destructuring von Objekten und Arrays
- Rekursion

**Übungen:**

Übung 01 - 10

---

#### Tag 13

**Inhalt:**

- Promises
- Callback-Hell
- Installation von node (npm) und Windows Terminal (für Node)
- **Exkurs: Statische Webseite mit Sass und HTML**
- **Exkurs: Versionierung mit Github Part I**

**Übungen:**

---

#### Tag 14

**Inhalt:**

- Promise Aufbau
- Promise in Funktionen
- File System von Node
- commonjs vs esm
- async await

**Übungen:**

Übung 09 - 11

---

#### Tag 15

**Inhalt:**

- Wiederholung der Inhalte
- Promise.all()
- **Exkurs: Switch Case Abfragen**
- **Exkurs: Statische Webseite mit Sass und HTML**
- **Exkurs: Versionierung mit Github Part I**
- 1:1 Meeting

---

#### Tag 16

**Inhalt:**

- **Exkurs: Statische Webseite mit Sass und HTML Part II**
- Mehrdimensionale Arrays

**Übungen:**

Projektarbeiten
Übungen 11 -13

---

#### Tag 17

**Inhalt:**

- Chess-Beispiel
- Arbeiten mit Fetch API
- fetch mit Promise und async...await
- Joke API auslesen
- **Exkurs: Versionierung mit Github Part I**

**Übungen:**

Übungen 14 - 20

---

#### Tag 18

**Inhalt:**

- XML-HttpRequest und AJAX mit jQuery
- Node Installation (Wiederholung)
- CSV to HTML
- Node Standardbib
  - fs
  - zlib (stream)
  - Crypto

**Übungen:**

Übungen 21 - 26

---

#### Tag 19

**Inhalt:**

- NPM Befehle
- Abschluss von JS für Fortgeschrittene
- Projektvorstellung 1 + 2
- **Einrichtung von Git**

**Übungen:**

Übungen 27 - 30

---

#### Tag 20

**Inhalt:**

- **Einrichtung von Git**
- **Exkurs: Webseite mit Gulp, SASS, HTML/CSS, JS**

**Übungen:**

Projektarbeit
Übungen 31 - 32
