diff --git a/07_js-debug/uebungen/u01_bibverwaltung/index.html b/07_js-debug/uebungen/u01_bibverwaltung/index.html
new file mode 100644
index 0000000..5ca7b90
--- /dev/null
+++ b/07_js-debug/uebungen/u01_bibverwaltung/index.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+ Exercise: Nested If-Statements
+
+
+ Exercise: Nested If-Statements
+
+
+
+
diff --git a/07_js-debug/uebungen/u02_extraction/index.html b/07_js-debug/uebungen/u02_extraction/index.html
new file mode 100644
index 0000000..5ca7b90
--- /dev/null
+++ b/07_js-debug/uebungen/u02_extraction/index.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+ Exercise: Nested If-Statements
+
+
+ Exercise: Nested If-Statements
+
+
+
+
diff --git a/07_js-debug/uebungen/u03_dry/index.html b/07_js-debug/uebungen/u03_dry/index.html
new file mode 100644
index 0000000..8c49d10
--- /dev/null
+++ b/07_js-debug/uebungen/u03_dry/index.html
@@ -0,0 +1,49 @@
+
+
+
+
+
+ Exercise: Don't Repeat Yourself (DRY)
+
+
+ Exercise: Don't Repeat Yourself (DRY)
+
+
+
+
diff --git a/07_js-debug/uebungen/u04_dry-benutzerzugang/index.html b/07_js-debug/uebungen/u04_dry-benutzerzugang/index.html
new file mode 100644
index 0000000..147d1a1
--- /dev/null
+++ b/07_js-debug/uebungen/u04_dry-benutzerzugang/index.html
@@ -0,0 +1,246 @@
+
+
+
+
+
+ Advanced If-Else Statements (Enhanced Nesting)
+
+
+ Advanced If-Else Statements (Enhanced Nesting)
+
+
+
+
diff --git a/07_js-debug/uebungen/u05_error-format-date/index.html b/07_js-debug/uebungen/u05_error-format-date/index.html
new file mode 100644
index 0000000..6b5b78a
--- /dev/null
+++ b/07_js-debug/uebungen/u05_error-format-date/index.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+ Übung 05: FormatDate Fehler
+
+
+
+
+
+
Übung 05: FormatDate Fehler
+
+
+
+
+
diff --git a/07_js-debug/uebungen/u06_error-benutzer/index.html b/07_js-debug/uebungen/u06_error-benutzer/index.html
new file mode 100644
index 0000000..9261022
--- /dev/null
+++ b/07_js-debug/uebungen/u06_error-benutzer/index.html
@@ -0,0 +1,51 @@
+
+
+
+
+
+ Übung 6: Benutzer erstellen
+
+
+
+
+
+
Übung 6: Benutzer erstellen
+
+
+
+
+
diff --git a/07_js-debug/uebungen/u07_check-temperature/index.html b/07_js-debug/uebungen/u07_check-temperature/index.html
new file mode 100644
index 0000000..6e37278
--- /dev/null
+++ b/07_js-debug/uebungen/u07_check-temperature/index.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+ Übung 7: checkTemperature Fehler
+
+
+
+
+
+
Übung 7: checkTemperature Fehler
+
Versuche, den Code auszuführen, den Fehler zu identifizieren und ihn zu beheben.
+
+
+
+
+
diff --git a/07_js-debug/uebungen/u08_benutzer-anzeigen/index.html b/07_js-debug/uebungen/u08_benutzer-anzeigen/index.html
new file mode 100644
index 0000000..ab63182
--- /dev/null
+++ b/07_js-debug/uebungen/u08_benutzer-anzeigen/index.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+ Übung 8: Benutzer anzeigen
+
+
+
+
+
+
Übung 8: Benutzer anzeigen
+
+ Der folgende Code enthält mehrere Referenzfehler, die über verschiedene Teile des Codes verteilt sind. Deine
+ Aufgabe ist es, alle Referenzfehler zu identifizieren und zu beheben, um sicherzustellen, dass der Code
+ korrekt läuft.
+
+
+
+
+
+
diff --git a/07_js-debug/uebungen/u09_parse-user-data/index.html b/07_js-debug/uebungen/u09_parse-user-data/index.html
new file mode 100644
index 0000000..0d4a6b4
--- /dev/null
+++ b/07_js-debug/uebungen/u09_parse-user-data/index.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+ Übung 9: parseUserData Fehler
+
+
+
+
+
+
Übung 9: parseUserData Fehler
+
Die Kommentare zeigen das erwartete Ergebnis.
+
+
+
+
+
diff --git a/07_js-debug/uebungen/u10_einkaufspreis/index.js b/07_js-debug/uebungen/u10_einkaufspreis/index.js
new file mode 100644
index 0000000..d140439
--- /dev/null
+++ b/07_js-debug/uebungen/u10_einkaufspreis/index.js
@@ -0,0 +1,40 @@
+function calculateTotalPrice(items) {
+ let total = 0;
+ items.forEach((item) => {
+ total += item.price;
+ });
+ return total.toFixed(2);
+}
+
+const shoppingCart = [
+ { name: 'Laptop', price: 999.99 },
+ { name: 'Smartphone', price: '599.99' },
+ { name: 'Headphones', cost: 199.99 },
+];
+
+const totalPrice = calculateTotalPrice(shoppingCart);
+console.log('Total Price:', totalPrice);
+
+function displayUserProfile(user) {
+ console.log(`Name: ${user.name}`);
+ console.log(`Age: ${user.age}`);
+ console.log(`Email: ${user.email.toLowerCase()}`);
+}
+
+const userProfile = {
+ name: 'Sarah',
+ age: 'twenty-five',
+ email: 'SARAH@EXAMPLE.COM',
+};
+
+displayUserProfile(userProfile);
+
+function getFirstItemName(items) {
+ return items[0].name.toUpperCase();
+}
+
+console.log('First Item:', getFirstItemName(shoppingCart)); // => LAPTOP
+
+const numberList = '1,2,3,4,5';
+const sum = numberList.reduce((acc, num) => acc + Number(num), 0);
+console.log('Sum:', sum); // => 15
diff --git a/07_js-debug/uebungen/u11_calculate-avg-error/index.js b/07_js-debug/uebungen/u11_calculate-avg-error/index.js
new file mode 100644
index 0000000..5f360da
--- /dev/null
+++ b/07_js-debug/uebungen/u11_calculate-avg-error/index.js
@@ -0,0 +1,8 @@
+function calculateAverage(numbers) {
+ const total = numbers.reduce((sum, num) => sum + num, 10);
+ const average = total / numbers;
+ return average;
+}
+
+console.log(calculateAverage([10, 20, 30])); // => 20
+console.log(calculateAverage([5, 15, 25, 35])); // => 20
diff --git a/07_js-debug/uebungen/u11_calculate-avg-error/solution.js b/07_js-debug/uebungen/u11_calculate-avg-error/solution.js
new file mode 100644
index 0000000..e69de29
diff --git a/07_js-debug/uebungen/u12_find-maximum-error/index.js b/07_js-debug/uebungen/u12_find-maximum-error/index.js
new file mode 100644
index 0000000..16d8a6f
--- /dev/null
+++ b/07_js-debug/uebungen/u12_find-maximum-error/index.js
@@ -0,0 +1,14 @@
+// logical error
+function findMaximum(a, b, c) {
+ if (a > b && a > c) {
+ return a;
+ } else if (b > a && b > c) {
+ return b;
+ } else {
+ return c;
+ }
+}
+
+console.log(findMaximum(1, 2, 3)); // => 3
+console.log(findMaximum(102, 59, 18)); // => 102
+console.log(findMaximum(532, 532, 345)); // => 532
diff --git a/07_js-debug/uebungen/u12_find-maximum-error/solution.js b/07_js-debug/uebungen/u12_find-maximum-error/solution.js
new file mode 100644
index 0000000..e69de29
diff --git a/07_js-debug/uebungen/u13_temp-converter/assets/js/main.js b/07_js-debug/uebungen/u13_temp-converter/assets/js/main.js
new file mode 100644
index 0000000..a9e0d8d
--- /dev/null
+++ b/07_js-debug/uebungen/u13_temp-converter/assets/js/main.js
@@ -0,0 +1,17 @@
+'use strict';
+
+(() => {
+ // === DOM & VARS =======
+ const DOM = {};
+
+ // === INIT =============
+ const init = () => {};
+
+ // === EVENTHANDLER =====
+
+ // === XHR/FETCH ========
+
+ // === FUNCTIONS ========
+
+ init();
+})();
diff --git a/07_js-debug/uebungen/u13_temp-converter/assets/js/preset.js b/07_js-debug/uebungen/u13_temp-converter/assets/js/preset.js
new file mode 100644
index 0000000..c5ee928
--- /dev/null
+++ b/07_js-debug/uebungen/u13_temp-converter/assets/js/preset.js
@@ -0,0 +1,45 @@
+'use strict';
+
+(() => {
+ // ===== DOM =====
+ const DOM = {
+ temperatureForm: document.querySelector('#temperatureForm'),
+ celsiusInput: document.querySelector('#celsius'),
+ result: document.querySelector('#result'),
+ };
+
+ // ===== INIT =====
+ const init = () => {
+ DOM.temperatureForm.addEventListener('submit', handleFormSubmit);
+ };
+
+ // ===== EVENT HANDLERS =====
+ function handleFormSubmit(e) {
+ const celsius = DOM.celsiusInput.value;
+
+ if (!isNaN(celsius)) {
+ alert('Please enter a valid number');
+ return;
+ }
+
+ const fahrenheit = convertToFahrenheit(celsius);
+
+ displayResult(fahrenheit);
+
+ DOM.temperatureForm.reset();
+ }
+
+ // ===== FUNCTIONS =====
+ function convertToFahrenheit(celsius) {
+ if (typeof celsius === 'string') return 0;
+
+ return (celsius * 9) / 5 + 32;
+ }
+
+ function displayResult(result) {
+ DOM.result.textContent = result.toFixed(2);
+ }
+
+ // ===== CALL INIT =====
+ init();
+})();
diff --git a/07_js-debug/uebungen/u13_temp-converter/index.html b/07_js-debug/uebungen/u13_temp-converter/index.html
new file mode 100644
index 0000000..dd8ec54
--- /dev/null
+++ b/07_js-debug/uebungen/u13_temp-converter/index.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+ Temperature Converter
+
+
+
+
+
+
Temperature Converter
+
+
+
+
Result : °F
+
+
+
diff --git a/07_js-debug/uebungen/uebungen-01-13-debug.zip b/07_js-debug/uebungen/uebungen-01-13-debug.zip
new file mode 100644
index 0000000..df3e7d7
Binary files /dev/null and b/07_js-debug/uebungen/uebungen-01-13-debug.zip differ
diff --git a/07_js-debug/unterricht/tag41/06_demo-form-bug.zip b/07_js-debug/unterricht/tag41/06_demo-form-bug.zip
deleted file mode 100644
index 842c64b..0000000
Binary files a/07_js-debug/unterricht/tag41/06_demo-form-bug.zip and /dev/null differ