- Added ihk_ap2_fiae (Anwendungsentwicklung: 12 modules, 4 tracks, Clean Architecture, GoF, UML 2.5, SOLID, O-Notation, 80h-Project guide) - Added ihk_ap2_fidp (Daten- & Prozessanalyse: 12 modules, 4 tracks, BPMN 2.0, ETL/CDC, Star Schema, ML-Evaluation, interactive confusion matrix calculator, 40h-Project guide) - Added ihk_ap2_fidv (Digitale Vernetzung: 12 modules, 4 tracks, CPS/RAMI 4.0, IO-Link, Profinet, TSN, OPC UA/MQTT, 5G Campus, IEC 62443, interactive Purdue trainer, 40h-Project guide) - Expanded authentic question bank to 207 questions with official ZPA expectation horizons - Registered all courses in courses_manifest.js, it_ausbildungen_manifest.js, server.py routes, and dashboard.html with button-only navigation
2618 lines
105 KiB
JavaScript
2618 lines
105 KiB
JavaScript
window.COURSES_MANIFEST = {
|
||
"bash": {
|
||
"id": "bash",
|
||
"title": "Linux Bash, Shell Scripting & Cloud DevOps",
|
||
"language": "bash",
|
||
"icon": "🐧",
|
||
"runner": "bash",
|
||
"description": "Vom Terminal-Einsteiger über professionelle Shell-Skripte, Text-Mining (jq/awk), Parallelisierung (xargs/parallel) bis zu Docker & BATS Unittests.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_terminal_grundlagen",
|
||
"title": "🌱 Lehrpfad 1: Linux Terminal Mastery & Core Unix Tools",
|
||
"description": "Navigation, Globbing, I/O Streams, Redirection, Umgebungsvariablen, Dateirechte und Prozesskontrolle.",
|
||
"certificateKey": "bash_grundlagen",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_navigation_dateien_und_globbing",
|
||
"title": "Bash 01: Terminal-Navigation & Globbing",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "02_streams_pipes_und_redirection",
|
||
"title": "Bash 02: I/O Streams, Pipes & Redirection",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "03_variablen_environment_und_subshells",
|
||
"title": "Bash 03: Variablen, Environment & Subshells",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "04_dateirechte_prozesskontrolle_und_jobs",
|
||
"title": "Bash 04: Dateirechte (chmod) & Job Control",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_skripting_und_textmining",
|
||
"title": "⚡ Lehrpfad 2: Professionelles Bash-Scripting & Text-Mining",
|
||
"description": "Kontrollfluss, Regex-Matching, Schleifen, Assoziative Arrays, grep, sed, awk, jq und Strict Mode (set -euo pipefail).",
|
||
"certificateKey": "bash_scripting",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_kontrollfluss_und_testoperatoren",
|
||
"title": "Bash 05: Kontrollfluss & Test-Operatoren",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "06_schleifen_arrays_und_assoziative_maps",
|
||
"title": "Bash 06: Schleifen & Assoziative Arrays",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "07_text_mining_grep_sed_awk_und_jq",
|
||
"title": "Bash 07: Text-Mining mit grep, sed, awk & jq",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "08_robuste_skripte_und_debugging",
|
||
"title": "Bash 08: Robuste Skripte (set -euo pipefail)",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_parallelisierung_und_netzwerk",
|
||
"title": "🚀 Lehrpfad 3: High-Performance, Parallelisierung & Netzwerke",
|
||
"description": "Multiprocessing mit xargs -P und GNU parallel, Prozess-Substitution, REST-Pipelines mit curl und Systemd Automation.",
|
||
"certificateKey": "bash_performance",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_parallelisierung_mit_xargs_und_parallel",
|
||
"title": "Bash 09: Parallelisierung mit xargs & parallel",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "10_prozess_substitution_und_coproc",
|
||
"title": "Bash 10: Prozess-Substitution & Co-Prozesse",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "11_netzwerk_ssh_und_curl_pipelines",
|
||
"title": "Bash 11: Remote SSH & REST-Pipelines (curl)",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "12_cron_systemd_und_service_automation",
|
||
"title": "Bash 12: Cronjobs, Systemd & Logrotation",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_cloud_devops_und_master",
|
||
"title": "💎 Lehrpfad 4: Cloud DevOps, BATS Testing & Masterprojekt",
|
||
"description": "Docker Container Scripting, CI/CD Pipelines, BATS Unittesting und Master DevOps Monitoring Suite.",
|
||
"certificateKey": "bash_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_docker_und_container_scripting",
|
||
"title": "Bash 13: Docker & Container Lifecycle Scripting",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "14_ci_cd_und_github_actions_shell",
|
||
"title": "Bash 14: CI/CD Workflows & GitHub Actions",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "15_bats_automatisiertes_unit_testing",
|
||
"title": "Bash 15: BATS Automatisiertes Unit-Testing",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_devops_suite",
|
||
"title": "Master 16: DevOps Multi-Server Automation Suite",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"cpp": {
|
||
"id": "cpp",
|
||
"title": "C & Modernes C++20 Systems Engineering",
|
||
"language": "cpp",
|
||
"icon": "⚙️",
|
||
"runner": "cpp",
|
||
"description": "Von C Pointern & manuellem Speichermanagement (malloc/free) über RAII, Smart Pointer (unique_ptr) & STL bis zu GoogleTest & 2D Physics Simulation Master.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_c_basics",
|
||
"title": "🌱 Lehrpfad 1: C Fundamente & Manuelles Memory Management",
|
||
"description": "C-Syntax, Pointer & Adressoperatoren (&/*), Pointer-Arithmetik, Stack vs. Heap, malloc/free & Header-Dateien (.h/.c).",
|
||
"certificateKey": "cpp_c_grundlagen",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_c_syntax_datentypen_und_io",
|
||
"title": "C 01: C Syntax, Datentypen & printf/scanf",
|
||
"taskFile": "aufgabe.c",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "02_pointer_und_speicheradressen",
|
||
"title": "C 02: Pointer, Adressen (&/*) & Arithmetik",
|
||
"taskFile": "aufgabe.c",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "03_arrays_strings_und_manuelle_speicherallokation",
|
||
"title": "C 03: Strings, Stack vs. Heap & malloc/free",
|
||
"taskFile": "aufgabe.c",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "04_structs_und_header_dateien",
|
||
"title": "C 04: Structs, typedef & Header-Architektur",
|
||
"taskFile": "aufgabe.c",
|
||
"testFile": "test_aufgabe.cpp"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_cpp_oop",
|
||
"title": "🏗️ Lehrpfad 2: Modern C++ Einstieg, RAII & OOP",
|
||
"description": "std::cout, Referenzen, Klassen, Konstruktoren/Destruktoren, RAII-Prinzip, virtual Methoden & Operator-Overloading.",
|
||
"certificateKey": "cpp_oop",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_einstieg_cpp_und_namespaces",
|
||
"title": "C++ 05: Einstieg C++, Namespaces & Referenzen (&)",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "06_klassen_konstruktoren_und_raii",
|
||
"title": "C++ 06: Klassen, Destruktoren & RAII-Prinzip",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "07_vererbung_und_virtuelle_methoden",
|
||
"title": "C++ 07: Vererbung, Virtual & Polymorphismus",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "08_operator_overloading",
|
||
"title": "C++ 08: Operator Overloading & Rule of Five",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_smart_pointers_stl",
|
||
"title": "⚡ Lehrpfad 3: Modern C++20: Smart Pointer & STL",
|
||
"description": "Templates, Smart Pointer (std::unique_ptr, std::shared_ptr), STL-Container (vector/map), Algorithmen, Lambdas & Structured Binding.",
|
||
"certificateKey": "cpp_modern",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_templates_und_generische_programmierung",
|
||
"title": "C++ 09: Function & Class Templates",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "10_smart_pointer_und_speichersicherheit",
|
||
"title": "C++ 10: Smart Pointer (unique_ptr, shared_ptr)",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "11_standard_template_library_stl",
|
||
"title": "C++ 11: STL Container (vector/map) & Algorithmen",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "12_lambdas_und_moderne_cpp20_features",
|
||
"title": "C++ 12: C++ Lambdas, auto & Structured Binding",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_concurrency_master",
|
||
"title": "💎 Lehrpfad 4: Concurrency, GoogleTest & Systems Master",
|
||
"description": "std::thread, std::mutex, Streams & Binärdateien, GoogleTest (gtest) Suite & High-Performance 2D Physics Engine Master.",
|
||
"certificateKey": "cpp_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_multithreading_mit_std_thread",
|
||
"title": "C++ 13: Multithreading (std::thread & std::mutex)",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "14_dateiverarbeitung_und_streams",
|
||
"title": "C++ 14: Dateiverarbeitung & Binäre Streams",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "15_googletest_gtest_unittesting",
|
||
"title": "C++ 15: GoogleTest (gtest) & Assertions",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_high_performance_engine",
|
||
"title": "Master 16: High-Performance 2D Physics Simulation",
|
||
"taskFile": "aufgabe.cpp",
|
||
"testFile": "test_aufgabe.cpp"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"csharp": {
|
||
"id": "csharp",
|
||
"title": "C# 12 & Modernes .NET 8+ Enterprise",
|
||
"language": "csharp",
|
||
"icon": "💜",
|
||
"runner": "csharp",
|
||
"description": "Von C# 12 Top-Level Statements über Records, LINQ-Pipelines & Async/Await bis zu xUnit Testing & der Enterprise Order Processing Engine.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_csharp_basics",
|
||
"title": "🌱 Lehrpfad 1: C# 12 Essentials & Moderne Syntax",
|
||
"description": "Top-Level Statements, Nullable Reference Types, moderne Switch-Expressions, Collections und C# Tupel.",
|
||
"certificateKey": "csharp_grundlagen",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_syntax_datentypen_und_top_level_statements",
|
||
"title": "C# 01: Syntax, Top-Level Statements & Nullables",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "02_kontrollfluss_und_pattern_matching",
|
||
"title": "C# 02: Switch-Expressions & Pattern Matching",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "03_arrays_listen_und_collections",
|
||
"title": "C# 03: Arrays, List<T> & Collection Expressions",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "04_methoden_parameter_und_tuples",
|
||
"title": "C# 04: Methoden, Out/Ref & Tupel",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_modern_oop",
|
||
"title": "🏗️ Lehrpfad 2: Modernes OOP, Records & Interfaces",
|
||
"description": "Primary Constructors, Records mit with-Expressions, Vererbung & Polymorphismus, Interfaces & Dependency Injection.",
|
||
"certificateKey": "csharp_oop",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_klassen_objekte_und_primary_constructors",
|
||
"title": "C# 05: Klassen, Properties & Primary Constructors",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "06_records_und_immutability",
|
||
"title": "C# 06: Records, Immutability & with-Expressions",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "07_vererbung_polymorphismus_und_abstract",
|
||
"title": "C# 07: Vererbung, Virtual/Override & Abstract",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "08_interfaces_und_dependency_injection",
|
||
"title": "C# 08: Interfaces & Dependency Injection",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_linq_async",
|
||
"title": "⚡ Lehrpfad 3: LINQ, Generics & Async/Await Tasks",
|
||
"description": "Generics mit Constraints, LINQ-Pipelines (.Where/.Select/.GroupBy), asynchrone Tasks (async/await) und using-Disposal.",
|
||
"certificateKey": "csharp_linq",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_generics_und_constraints",
|
||
"title": "C# 09: Generics & Generic Constraints",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "10_linq_funktionale_datenabfragen",
|
||
"title": "C# 10: LINQ Datenabfragen & Fluent Chaining",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "11_asynchrone_programmierung_mit_async_await",
|
||
"title": "C# 11: Async/Await & Task.WhenAll Pipelines",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "12_exception_handling_und_ressourcen",
|
||
"title": "C# 12: Exceptions & using-Statements (IDisposable)",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_enterprise_master",
|
||
"title": "💎 Lehrpfad 4: Architektur, xUnit & Cloud Master",
|
||
"description": "System.Text.Json, Events & Delegates, xUnit Unit-Testing ([Fact]/[Theory]) & Enterprise Order Processing Engine.",
|
||
"certificateKey": "csharp_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_json_serialisierung_und_dateien",
|
||
"title": "C# 13: System.Text.Json & Asynchrone Dateien",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "14_events_delegates_und_lambdas",
|
||
"title": "C# 14: Delegates, Action/Func & Events",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "15_xunit_automatisiertes_unit_testing",
|
||
"title": "C# 15: xUnit Tests, Data-Theories & Assertions",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_enterprise_order_engine",
|
||
"title": "Master 16: Enterprise Order Processing & Analytics",
|
||
"taskFile": "Aufgabe.cs",
|
||
"testFile": "TestAufgabe.cs"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"go": {
|
||
"id": "go",
|
||
"title": "Go (Golang) Cloud Microservices & Systems",
|
||
"language": "go",
|
||
"icon": "⚡",
|
||
"runner": "go",
|
||
"description": "Vom statischen Typensystem über Structs & Interfaces, Goroutines & Channels bis zu net/http REST-APIs und dem Cloud Microservice Master.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_go_basics",
|
||
"title": "🌱 Lehrpfad 1: Go Syntax, Typensystem & Kontrollfluss",
|
||
"description": "Variablen, Typen, Type Inference (:=), Slices, Arrays, Maps, Schleifen (for/range) und Verzweigungen (if/switch).",
|
||
"certificateKey": "go_grundlagen",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_syntax_variablen_und_typen",
|
||
"title": "Go 01: Go Syntax, Variablen & Typensystem",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "02_slices_arrays_und_maps",
|
||
"title": "Go 02: Slices, Dynamische Arrays & Maps",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "03_kontrollfluss_und_schleifen",
|
||
"title": "Go 03: Kontrollfluss, for-Loops & switch",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "04_funktionen_und_multiple_returns",
|
||
"title": "Go 04: Funktionen & Mehrfache Rückgabewerte",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_structs_interfaces",
|
||
"title": "🏗️ Lehrpfad 2: Idiomatisches Go: Structs & Interfaces",
|
||
"description": "Structs, Methoden mit Pointer-Receivern, Interfaces & Duck Typing, Explizites Error-Handling (if err != nil) & Defer/Panic/Recover.",
|
||
"certificateKey": "go_oop",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_structs_und_methoden",
|
||
"title": "Go 05: Structs, Instanziierung & Pointer-Methoden",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "06_interfaces_und_polymorphie",
|
||
"title": "Go 06: Interfaces, Duck Typing & Polymorphie",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "07_explizites_error_handling",
|
||
"title": "Go 07: Idiomatisches Error-Handling (if err != nil)",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "08_defer_panic_und_recover",
|
||
"title": "Go 08: Ressourcensicherheit mit defer & Recover",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_concurrency",
|
||
"title": "🚀 Lehrpfad 3: Concurrency: Goroutines & Channels",
|
||
"description": "Leichtgewichtige Goroutines (go fn()), Unbuffered & Buffered Channels, select Multiplexing, sync.WaitGroup und sync.Mutex.",
|
||
"certificateKey": "go_concurrency",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_goroutines_und_waitgroups",
|
||
"title": "Go 09: Goroutines (go worker) & sync.WaitGroup",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "10_channels_und_datenfluss",
|
||
"title": "Go 10: Buffered & Unbuffered Channels (<-)",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "11_select_und_timeouts",
|
||
"title": "Go 11: select Multiplexing, Context & Timeouts",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "12_mutex_und_thread_safety",
|
||
"title": "Go 12: Race Conditions vermeiden mit sync.Mutex",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_microservices_master",
|
||
"title": "💎 Lehrpfad 4: REST-APIs, Microservices & Master",
|
||
"description": "Standardbibliothek net/http, JSON Encoding/Decoding, Middleware-Pattern, automatisierte Unit-Tests mit testing Package & Cloud API Master.",
|
||
"certificateKey": "go_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_http_server_und_routing",
|
||
"title": "Go 13: HTTP Web Server & net/http Routing",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "14_json_apis_und_middleware",
|
||
"title": "Go 14: REST JSON APIs & Chained Middleware",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "15_unit_testing_und_benchmarks",
|
||
"title": "Go 15: Automatisiertes Testing & Benchmarks",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_microservice",
|
||
"title": "Master 16: High-Concurrency Microservice API",
|
||
"taskFile": "aufgabe.go",
|
||
"testFile": "test_aufgabe.go"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"html_css": {
|
||
"id": "html_css",
|
||
"title": "HTML5, Modern CSS3 & Responsive UI",
|
||
"language": "html_css",
|
||
"icon": "🎨",
|
||
"runner": "html_css",
|
||
"description": "Vom semantischen HTML5-Dokument über modernes CSS3 Box Model, Flexbox, CSS Grid Matrix bis zu Themes (Dark Mode) & SaaS Portfolio Master.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_html_basics",
|
||
"title": "🌱 Lehrpfad 1: Semantisches HTML5 & Barrierefreiheit",
|
||
"description": "Dokumentenstruktur, semantische Tags (header/main/footer/article), interaktive Formulare, Validierung & Accessibility (A11y/ARIA).",
|
||
"certificateKey": "html_grundlagen",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_semantisches_html_und_struktur",
|
||
"title": "HTML 01: Semantik & Dokumentenstruktur",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "02_texte_listen_und_medien",
|
||
"title": "HTML 02: Texte, Listen, Bilder & Videos",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "03_formulare_und_validierung",
|
||
"title": "HTML 03: Formulare & HTML5-Validierung",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "04_barrierefreiheit_und_aria",
|
||
"title": "HTML 04: Accessibility (A11y) & ARIA-Attribute",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_css_styling",
|
||
"title": "🎨 Lehrpfad 2: Modern CSS3 Styling & Box Model",
|
||
"description": "CSS-Selektoren, Kaskade, Spezifität, Box-Modell (Margin/Padding/Border), Custom Properties (CSS-Variablen) und Typografie.",
|
||
"certificateKey": "css_styling",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_css_selektoren_und_kaskade",
|
||
"title": "CSS 05: Selektoren, Kaskade & Spezifität",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "06_box_modell_und_abstaende",
|
||
"title": "CSS 06: Box-Modell, Padding, Margin & Border",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "07_css_variablen_und_farbwelten",
|
||
"title": "CSS 07: CSS Custom Properties & Farbsysteme",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "08_typografie_und_webfonts",
|
||
"title": "CSS 08: Web-Typografie, Schriftarten & Text-Effekte",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_layouts_and_responsive",
|
||
"title": "📱 Lehrpfad 3: Responsive Layouts: Flexbox & Grid",
|
||
"description": "Flexbox 1D-Layouts, CSS Grid 2D-Matrix, Media Queries (@media) für Mobile-First Design, Keyframe-Animationen & Transitions.",
|
||
"certificateKey": "css_responsive",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_flexbox_achsen_und_alignment",
|
||
"title": "CSS 09: Flexbox Achsen, Justify & Align",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "10_css_grid_und_areas",
|
||
"title": "CSS 10: CSS Grid 2D-Matrix & Template Areas",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "11_media_queries_und_mobile_first",
|
||
"title": "CSS 11: Media Queries & Mobile-First Design",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "12_transitions_und_animationen",
|
||
"title": "CSS 12: Transitions, Transforms & Keyframes",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_modern_ui_and_master",
|
||
"title": "💎 Lehrpfad 4: CSS-Architektur, Themes & UI Master",
|
||
"description": "BEM-Methodik, Dark/Light Themes (prefers-color-scheme), moderne UI-Komponenten (Glassmorphism/Cards) & SaaS Landingpage Master.",
|
||
"certificateKey": "html_css_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_bem_methodik_und_modularitaet",
|
||
"title": "CSS 13: BEM-Methodik & Modulare CSS-Architektur",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "14_dark_mode_und_themes",
|
||
"title": "CSS 14: Dark/Light Mode & System-Themes",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "15_moderne_ui_komponenten",
|
||
"title": "CSS 15: Moderne UI-Komponenten & Glassmorphism",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_saas_landingpage",
|
||
"title": "Master 16: Responsive SaaS Landingpage & Portfolio",
|
||
"taskFile": "aufgabe.html",
|
||
"testFile": "test_aufgabe.js"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"ihk_ap1": {
|
||
"id": "ihk_ap1",
|
||
"title": "IHK AP1 Prüfungstraining: Einrichten eines IT-gestützten Arbeitsplatzes",
|
||
"language": "ihk_ap1",
|
||
"icon": "📘",
|
||
"runner": "none",
|
||
"description": "Offizieller Vorbereitungskurs auf die IHK-Abschlussprüfung Teil 1 (Neuordnung nach ZPA-Katalog 2. Auflage). Alle Lernfelder (LF 1 bis LF 6), BPMN 2.0, EPK, PrintTop-Belegrechnung, Netzplantechnik & 171-Fragen-Pool.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_it_systeme",
|
||
"title": "🌱 Lehrpfad 1: Basissysteme, Hardware & Netzwerke (LF 1–4)",
|
||
"description": "Unternehmen & BGB-Verträge, Hardware, Ergonomie & IEC-Binärpräfixe, Subnetting & Netzwerke, Schutzbedarfsanalyse & DSGVO.",
|
||
"certificateKey": "ihk_ap1_systeme",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_lf1_unternehmen_und_arbeitsplatz",
|
||
"title": "LF 1: Unternehmen & Rolle im Betrieb (Organisation, Verträge, ITIL 4 & KI-Support)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "02_lf2_arbeitsplaetze_ausstatten",
|
||
"title": "LF 2: Arbeitsplätze ausstatten (Displays, ArbStättV, USV & IEC-Binärpräfixe)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "03_lf3_clients_in_netzwerke_einbinden",
|
||
"title": "LF 3: Clients in Netzwerke einbinden (IPv4/IPv6, Subnetting, LWL & Übertragungszeiten)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "04_lf4_schutzbedarfsanalyse_und_cybersicherheit",
|
||
"title": "LF 4: Schutzbedarfsanalyse & Cyber-Sicherheit (CIA, Backup, TOM & KI-Datenschutz)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_prozesse_software_itsm",
|
||
"title": "⚡ Lehrpfad 2: Prozessmodellierung, Software-Design & ITSM (LF 1, 5, 6)",
|
||
"description": "BPMN 2.0 Gateways & EPK, UML-Diagramme & Pseudocode (kein PAP/Struktogramm mehr!), IT-Servicemanagement & SLAs.",
|
||
"certificateKey": "ihk_ap1_programmierung",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_prozessmodellierung_bpmn_und_epk",
|
||
"title": "BPMN & EPK: Geschäftsprozessmodellierung nach ZPA-Standard (LF 1/6)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "06_lf5_software_und_anwendungsentwicklung",
|
||
"title": "LF 5: Software- & Anwendungsentwicklung (UML, Pseudocode & Trace-Tabellen)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "07_lf6_serviceanfragen_und_itsm",
|
||
"title": "LF 6: Serviceanfragen bearbeiten & ITSM (Tickettriage, SLAs & Eskalation)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_kaufmaennisches_und_datenmodelle",
|
||
"title": "📊 Lehrpfad 3: Kaufmännische Steuerung, Netzplantechnik & Datenmodelle (LF 1, 2, 5)",
|
||
"description": "PrintTop GmbH Rechnungsprüfung, Verzugszinsen § 288 BGB, DIN 69900 Netzplantechnik und relationale ER-Modelle (ohne SQL).",
|
||
"certificateKey": "ihk_ap1_prozesse",
|
||
"chapters": [
|
||
{
|
||
"folder": "08_belegsaetze_und_kaufmaennische_rechnung",
|
||
"title": "LF 1/2: Belegsätze & Kaufmännische Rechnung (PrintTop GmbH, Skonto, Rabatt & Verzug)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "09_netzplantechnik_und_projektmanagement",
|
||
"title": "LF 1: Netzplantechnik & Projektcontrolling (FAZ/FEZ/SAZ/SEZ, Puffer & Kritischer Pfad)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "10_relationales_datenmodell_und_erm",
|
||
"title": "LF 5: Relationales Datenmodell & ERM (Chen/Krähenfuß, Normalisierung 1NF-3NF)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_probepruefung",
|
||
"title": "🏆 Lehrpfad 4: Interaktive Praxis-Drills & IHK-Probeprüfung",
|
||
"description": "Endlos-Subnetting-Drill Generator & authentische 90-Minuten-Prüfungssimulation mit 100-Punkte-Schlüssel.",
|
||
"certificateKey": "ihk_ap1_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "11_subnetting_drill_master",
|
||
"title": "Drill: Subnetting- & Präfix-Trainer mit Sofort-Validierung (LF 3)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "12_ap1_probepruefung_simulation",
|
||
"title": "Simulation: IHK AP1 Probeprüfung (90 Min. / 100 Punkte nach ZPA 2. Auflage)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"ihk_ap2_fisi": {
|
||
"id": "ihk_ap2_fisi",
|
||
"title": "IHK AP2 Crashkurs: Fachinformatiker Systemintegration",
|
||
"language": "ihk_ap2_fisi",
|
||
"icon": "📕",
|
||
"runner": "none",
|
||
"description": "Vollständige Prüfungsvorbereitung für FISI (LF 9–12, WiSo, 40h-Projekt). 12 Module nach ZPA Nord-West 2. Auflage: VLANs, VRT-Symbole, Active Directory, RAID 0-10, Backup 3-2-1-1-0, Enterprise SQL & Vollsimulation.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_netzwerke_und_server",
|
||
"title": "🌱 Lehrpfad 1: Enterprise Netzwerke & Serverdienste (LF 9 & 10)",
|
||
"description": "VLANs (802.1Q), LACP, Spanning Tree, OSPF, BGP, VRT-Symbole, Strukturierte Verkabelung, Active Directory & Kerberos.",
|
||
"certificateKey": "ihk_ap2_netzwerke",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_lf9_netzwerkinfrastruktur_und_routing",
|
||
"title": "LF 9: Enterprise Routing & Switching (VLAN, STP, LACP, OSPF)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "02_vrt_netzwerkplaene_und_infrastruktur",
|
||
"title": "LF 9: Normierte Netzwerkpläne (VRT-Symbole) & Verkabelung",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "03_lf10_serverdienste_und_identitaeten",
|
||
"title": "LF 10: Serverdienste, Active Directory & Identitäten (AD DS, GPO, Kerberos)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_storage_und_automation",
|
||
"title": "⚙️ Lehrpfad 2: Skripting, Storage & Hochverfügbarkeit (LF 10 & 11)",
|
||
"description": "PowerShell, Bash, Ansible, RAID 0/1/5/6/10 (exklusiv AP2!), SAN/NAS, iSCSI, 3-2-1-1-0 Backup & HA-Cluster.",
|
||
"certificateKey": "ihk_ap2_storage_automation",
|
||
"chapters": [
|
||
{
|
||
"folder": "04_systemautomation_powershell_bash_python",
|
||
"title": "LF 10: Skriptprogrammierung & Systemautomation (PowerShell, Bash, Ansible)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "05_lf11_speicher_und_hochverfuegbarkeit",
|
||
"title": "LF 11: Enterprise Storage, RAID & SAN-Architekturen (RAID 0-10, iSCSI, ZFS)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "06_backup_dr_und_hochverfuegbarkeit",
|
||
"title": "LF 11: Backup, Disaster Recovery & Hochverfügbarkeit (3-2-1-1-0, RTO/RPO)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_datenbanken_und_cloud",
|
||
"title": "☁️ Lehrpfad 3: Enterprise SQL, Cloud & WiSo Arbeitsrecht (LF 10, 11 & 12)",
|
||
"description": "ZPA-SQL (DDL, DCL, Multi-Table JOINs, DATEDIFF), Hypervisoren, Docker, Kubernetes, Zero Trust & WiSo Arbeitsrecht.",
|
||
"certificateKey": "ihk_ap2_cloud_sql",
|
||
"chapters": [
|
||
{
|
||
"folder": "07_enterprise_sql_und_datenbank_admin",
|
||
"title": "LF 10/11: Enterprise SQL & Datenbank-Administration (DDL, DCL, Joins, DATEDIFF)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "08_lf12_virtualisierung_und_cloud",
|
||
"title": "LF 12: Cloud-Architekturen, Virtualisierung & Security (Docker, K8s, Zero Trust)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "09_wiso_arbeitsrecht_und_wirtschaft",
|
||
"title": "WiSo 1: Arbeitsrecht, Tarifrecht & Gehaltsabrechnung (BBiG, KSchG, ArbZG)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_betrieb_projekt_und_pruefung",
|
||
"title": "🏆 Lehrpfad 4: Organisation, 40h-Projektarbeit & Prüfungssimulation",
|
||
"description": "Unternehmensformen, BetrVG, PUE-Wert, Green IT, Leitfaden zur 40h-Projektarbeit samt Fachgespräch & Vollsimulation AP2.",
|
||
"certificateKey": "ihk_ap2_fisi_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "10_wiso_betriebsorganisation_und_umwelt",
|
||
"title": "WiSo 2: Unternehmensformen, Umweltschutz (PUE) & Organisation (BetrVG)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "11_betriebliche_projektarbeit_guide",
|
||
"title": "Projekt: Betriebliche Projektarbeit (40h) & Fachgespräch (Guide)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "12_ap2_gesamtpruefung_simulation",
|
||
"title": "Abschluss: AP2 Gesamtprüfungssimulation (PB 1, PB 2 & WiSo)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"java": {
|
||
"id": "java",
|
||
"title": "Java 21+ Enterprise & IHK/Uni Standard",
|
||
"language": "java",
|
||
"icon": "☕",
|
||
"runner": "java",
|
||
"description": "Vom statischen Typensystem über reine OOP, Kapselung & Records bis zu Generics, Streams API, Virtual Threads Loom & JUnit 5 Banking Master.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_java_basics",
|
||
"title": "🌱 Lehrpfad 1: Java Syntax, Typen & Kontrollfluss",
|
||
"description": "Primitive Typen, main()-Einstieg, moderne switch-Expressions (->), Schleifen, Arrays und Methodenüberladung.",
|
||
"certificateKey": "java_grundlagen",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_java_syntax_und_primitive_typen",
|
||
"title": "Java 01: Java Syntax & Primitive Datentypen",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "02_kontrollfluss_und_verzweigungen",
|
||
"title": "Java 02: Kontrollfluss & Switch-Expressions",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "03_schleifen_und_arrays",
|
||
"title": "Java 03: Schleifen, For-Each & Arrays",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "04_methoden_und_parameter",
|
||
"title": "Java 04: Methoden, Static & Overloading",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_pure_oop",
|
||
"title": "🏗️ Lehrpfad 2: Reine Objektorientierung & Kapselung",
|
||
"description": "Klassen, Konstruktoren, Kapselung, Immutability & Java 17+ Records, Vererbung (extends), Polymorphie & Interfaces.",
|
||
"certificateKey": "java_oop",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_klassen_objekte_und_konstruktoren",
|
||
"title": "Java 05: Klassen, Objekte & Konstruktoren",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "06_kapselung_und_records",
|
||
"title": "Java 06: Kapselung, Immutability & Records",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "07_vererbung_polymorphie_und_super",
|
||
"title": "Java 07: Vererbung, Polymorphie & Abstract Classes",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "08_interfaces_und_default_methods",
|
||
"title": "Java 08: Interfaces, Default Methods & Kopplung",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_collections_streams",
|
||
"title": "⚡ Lehrpfad 3: Generics, Collections & Modern Streams",
|
||
"description": "Generics <T>, Java Collections Framework (List/Set/Map), Exception-Hierarchien, try-with-resources, Streams API & Optional.",
|
||
"certificateKey": "java_streams",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_generics_und_type_safety",
|
||
"title": "Java 09: Generics <T> & Type Safety",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "10_collections_framework_list_set_map",
|
||
"title": "Java 10: Collections (ArrayList, HashSet, HashMap)",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "11_exceptions_und_ressourcenmanagement",
|
||
"title": "Java 11: Exceptions & Try-with-Resources",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "12_lambdas_streams_api_und_optional",
|
||
"title": "Java 12: Lambdas, Streams API & Optional",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_enterprise_master",
|
||
"title": "💎 Lehrpfad 4: Enterprise Architekturen & Masterprojekt",
|
||
"description": "NIO.2 Dateiverarbeitung, Java 21 Virtual Threads (Loom), JUnit 5 Unittesting & Enterprise Banking Core Master.",
|
||
"certificateKey": "java_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_dateien_json_und_persistenz",
|
||
"title": "Java 13: Modernes Dateihandling (NIO.2) & JSON",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "14_multithreading_und_virtual_threads",
|
||
"title": "Java 14: Virtual Threads (Loom) & Concurrency",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "15_junit_5_automatisiertes_unit_testing",
|
||
"title": "Java 15: JUnit 5 Testsuites & Assertions",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_banking_system",
|
||
"title": "Master 16: Enterprise Banking Core & Transactions",
|
||
"taskFile": "Aufgabe.java",
|
||
"testFile": "TestAufgabe.java"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"javascript": {
|
||
"id": "javascript",
|
||
"title": "JavaScript & Moderne Web-Entwicklung",
|
||
"language": "javascript",
|
||
"icon": "🌐",
|
||
"runner": "javascript",
|
||
"description": "Vom Einsteiger über moderne ES6+-Features, OOP, Reguläre Ausdrücke, Asynchronität bis hin zu TypeScript und dem Master-Abschlussprojekt.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_grundlagen",
|
||
"title": "🌱 Lehrpfad 1: JavaScript Grundlagen & ES6",
|
||
"description": "Variablen, Kontrollfluss, Funktionen, Scopes, Arrays, Sets, Maps, Objekte & Destructuring.",
|
||
"certificateKey": "js_grundlagen",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_erste_schritte_variablen",
|
||
"title": "JS 01: Variablen, Typen & Template-Strings",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "02_kontrollfluss_und_schleifen",
|
||
"title": "JS 02: Kontrollfluss & Schleifen",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "03_funktionen_und_scope",
|
||
"title": "JS 03: Funktionen, Arrow Functions & Scope",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "04_arrays_sets_und_maps",
|
||
"title": "JS 04: Arrays, Sets & Maps",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "05_objekte_und_destructuring",
|
||
"title": "JS 05: Objekte, Destructuring & Rest/Spread",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_oop_und_daten",
|
||
"title": "🏗️ Lehrpfad 2: Moderne Datenmodelle & OOP",
|
||
"description": "Objektorientierung mit ES6-Klassen, Reguläre Ausdrücke (RegExp) & strukturierte Fehlerbehandlung mit Error-Klassen.",
|
||
"certificateKey": "js_oop",
|
||
"chapters": [
|
||
{
|
||
"folder": "06_klassen_und_oop",
|
||
"title": "JS 06: Klassen & Objektorientierung (OOP)",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "07_regex_und_textverarbeitung",
|
||
"title": "JS 07: Reguläre Ausdrücke & Textverarbeitung",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "08_fehlerbehandlung_und_debugging",
|
||
"title": "JS 08: Fehlerbehandlung & Debugging",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_web_und_async",
|
||
"title": "⚡ Lehrpfad 3: Web-APIs, DOM & Asynchronität",
|
||
"description": "DOM-Manipulation, Web Storage, Callbacks, Promises, Async/Await und REST-APIs (Fetch).",
|
||
"certificateKey": "js_async",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_dom_und_events",
|
||
"title": "JS 09: DOM-Manipulation & Events",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "10_web_storage_und_json",
|
||
"title": "JS 10: Web Storage & JSON",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "11_callbacks_und_promises",
|
||
"title": "JS 11: Callbacks, Event Loop & Promises",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "12_async_await_und_fetch",
|
||
"title": "JS 12: Async/Await & REST-APIs (Fetch)",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_typescript_und_master",
|
||
"title": "🛡️ Lehrpfad 4: Architektur, TypeScript & Masterprojekt",
|
||
"description": "ES-Module, statische Typsicherheit mit TypeScript, Interfaces, Generics und vollwertige MVC-Applikation.",
|
||
"certificateKey": "js_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_es_module_und_architektur",
|
||
"title": "JS 13: ES-Module & Clean Architecture",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "14_einstieg_typescript",
|
||
"title": "TS 14: TypeScript Type Safety & Interfaces",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "15_typescript_fortgeschritten",
|
||
"title": "TS 15: TypeScript Generics & Advanced Types",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_web_app",
|
||
"title": "Master 16: Interaktive Task-App (MVC)",
|
||
"taskFile": "aufgabe.js",
|
||
"testFile": "test_aufgabe.js"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"powershell": {
|
||
"id": "powershell",
|
||
"title": "Modern PowerShell 7+ Core & Cloud Automation",
|
||
"language": "powershell",
|
||
"icon": "🔷",
|
||
"runner": "powershell",
|
||
"description": "Vom Cmdlet-Einsteiger über .NET-Objekt-Pipelines, Multithreading (ForEach-Object -Parallel), REST-APIs bis zu Pester v5 Unittests & Cloud Engineering.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_ps7_essentials",
|
||
"title": "🌱 Lehrpfad 1: PowerShell 7+ Essentials & Objekt-Pipeline",
|
||
"description": "Verb-Noun Cmdlets, die .NET-Objekt-Pipeline, Where-Object Filterung, Select-Object Projektion und PSCustomObjects.",
|
||
"certificateKey": "ps_grundlagen",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_powershell_konsole_und_cmdlet_architektur",
|
||
"title": "PS 01: Cmdlet-Architektur & Verb-Noun Syntax",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "02_die_objekt_pipeline_und_get_member",
|
||
"title": "PS 02: Die Objekt-Pipeline & Get-Member",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "03_filterung_sortierung_und_projektion",
|
||
"title": "PS 03: Where-Object, Select & Calculated Properties",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "04_variablen_datentypen_und_pscustomobject",
|
||
"title": "PS 04: Typisierung, Hashtables & PSCustomObject",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_skripting_und_errorhandling",
|
||
"title": "⚡ Lehrpfad 2: Skripting, Kontrollfluss & Error-Handling",
|
||
"description": "Moderne Operatoren (Ternary, Null-Coalescing), Schleifen, erweiterte Cmdlet-Funktionen mit [CmdletBinding()] und Try/Catch.",
|
||
"certificateKey": "ps_scripting",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_kontrollfluss_und_moderne_operatoren",
|
||
"title": "PS 05: Kontrollfluss & Moderne PS7 Operatoren",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "06_schleifen_und_pipeline_durchlaeufe",
|
||
"title": "PS 06: Schleifen (foreach, while & Pipeline)",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "07_erweiterte_funktionen_und_parameter",
|
||
"title": "PS 07: Eigene Cmdlets [CmdletBinding()] & Validierung",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "08_robustes_error_handling_und_try_catch",
|
||
"title": "PS 08: Robustes Error-Handling (Try/Catch/Finally)",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_parallelisierung_und_rest",
|
||
"title": "🚀 Lehrpfad 3: Parallelisierung, REST-APIs & Datenformate",
|
||
"description": "Multithreading mit ForEach-Object -Parallel, Start-ThreadJob, REST-APIs mit Invoke-RestMethod, PSDrives und SecretManagement.",
|
||
"certificateKey": "ps_performance",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_multithreading_mit_foreach_object_parallel",
|
||
"title": "PS 09: Multithreading mit ForEach-Object -Parallel",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "10_json_csv_xml_und_rest_apis",
|
||
"title": "PS 10: REST-APIs & JSON-Pipelines (Invoke-RestMethod)",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "11_dateisystem_registry_und_psprovider",
|
||
"title": "PS 11: Dateisystem, PSDrives (Env/Cert) & Hashes",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "12_sicherheit_und_credentials_management",
|
||
"title": "PS 12: Sicherheit, Execution Policies & Secrets",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_enterprise_und_cloud_master",
|
||
"title": "💎 Lehrpfad 4: Enterprise Modules, Pester Testing & Masterprojekt",
|
||
"description": "Modul-Entwicklung (.psm1/.psd1), Pester v5 Unittests, Cloud-Automatisierung und Cloud Ops Masterprojekt.",
|
||
"certificateKey": "ps_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_modul_entwicklung_und_manifeste",
|
||
"title": "PS 13: Enterprise Module & Manifeste (.psd1)",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "14_pester_automatisierte_unit_tests",
|
||
"title": "PS 14: Pester v5 Automatisiertes Testing & Mocking",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "15_cloud_und_cross_platform_automatisierung",
|
||
"title": "PS 15: Cross-Platform Cloud Automation (Az & AWS)",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_cloud_ops_engine",
|
||
"title": "Master 16: Multi-Threaded Cloud & Server Ops Engine",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"python": {
|
||
"id": "python",
|
||
"title": "Python Software Engineering",
|
||
"language": "python",
|
||
"icon": "🐍",
|
||
"runner": "python",
|
||
"description": "Vom Einsteiger über professionelle Objektorientierung bis hin zu Data Engineering und Desktop-Apps in 33 Modulen.",
|
||
"tracks": [
|
||
{
|
||
"id": "lehrpfad_1_grundlagen",
|
||
"title": "🌱 Lehrpfad 1: Grundlagen der Programmierung",
|
||
"description": "Zahlen, Variablen, Bedingungen, Schleifen, Funktionen, Listen, Strings, Dicts & Sets.",
|
||
"certificateKey": "lehrpfad_1",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_erste_schritte_taschenrechner",
|
||
"title": "G01: Python als Taschenrechner",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "02_variablen_und_datentypen",
|
||
"title": "G02: Variablen & Datentypen",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "03_ein_und_ausgabe",
|
||
"title": "G03: Interaktive Ein- & Ausgabe",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "04_verzweigungen_und_bedingungen",
|
||
"title": "G04: Verzweigungen & Bedingungen",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "05_schleifen_und_wiederholungen",
|
||
"title": "G05: Schleifen & Wiederholungen",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "06_funktionen_und_module",
|
||
"title": "G06: Eigene Funktionen & Module",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "07_listen_und_sequenzen",
|
||
"title": "G07: Listen & Sequenzen",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "08_textverarbeitung_und_strings",
|
||
"title": "G08: Textverarbeitung & Strings",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "09_dictionaries_und_sets",
|
||
"title": "G09: Dictionaries & Sets",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "10_comprehensions_datum_algorithmen",
|
||
"title": "G10: Comprehensions & Algorithmen",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "lehrpfad_2_oop_einstieg",
|
||
"title": "🏗️ Lehrpfad 2: Einstieg in die Objektorientierung (OOP)",
|
||
"description": "Klassen, Konstruktor, self, Methoden, Tools (VS Code & Git) und Tamagotchi-Projekt.",
|
||
"certificateKey": "lehrpfad_2",
|
||
"chapters": [
|
||
{
|
||
"folder": "00_fehlersuche_und_grundlagen",
|
||
"title": "OOP 00: Python-Fehlersuche",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "01_einstieg_klassen",
|
||
"title": "OOP 01: Erste Klassen & Instanzen",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "02_init_und_self",
|
||
"title": "OOP 02: Konstruktor __init__ & self",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "03_methoden_und_verhalten",
|
||
"title": "OOP 03: Methoden & Verhalten",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "04_str_und_darstellung",
|
||
"title": "OOP 04: __str__ & String-Darstellung",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "04b_umstieg_vscode",
|
||
"title": "Tooling 04b: Umstieg auf VS Code",
|
||
"taskFile": "vscode_test.py",
|
||
"testFile": ""
|
||
},
|
||
{
|
||
"folder": "04c_git_und_versionskontrolle",
|
||
"title": "Tooling 04c: Git & Versionskontrolle",
|
||
"taskFile": "git_uebung.py",
|
||
"testFile": ""
|
||
},
|
||
{
|
||
"folder": "05_objekte_kombinieren",
|
||
"title": "OOP 05: Objekte kombinieren",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "06_abschlussprojekt_tamagotchi",
|
||
"title": "Projekt 06: Virtuelles Haustier (Tamagotchi)",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "lehrpfad_3_fortgeschrittenes_oop",
|
||
"title": "🚀 Lehrpfad 3: Fortgeschrittenes OOP & GUIs",
|
||
"description": "Speicher-Referenzen, Dunder-Methoden, TDD, Vererbung, Polymorphie, Exceptions, JSON/CSV, Tkinter & Masterprojekt.",
|
||
"certificateKey": "lehrpfad_3",
|
||
"chapters": [
|
||
{
|
||
"folder": "07_referenzen_und_speicher",
|
||
"title": "Adv 07: Referenzen & Speicher",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "08_operator_overloading_dunder",
|
||
"title": "Adv 08: Operator Overloading & Dunder",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "09_eigene_unit_tests_schreiben",
|
||
"title": "Adv 09: Eigene Unit Tests & TDD",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "10_vererbung_und_super",
|
||
"title": "Adv 10: Vererbung & super()",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "11_polymorphie_und_interfaces",
|
||
"title": "Adv 11: Polymorphie & Interfaces",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "12_exceptions_und_fehlerbehandlung",
|
||
"title": "Adv 12: Exceptions & Fehlerbehandlung",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "13_persistenz_json_und_csv",
|
||
"title": "Adv 13: Datei-Persistenz (JSON & CSV)",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "14_gui_mit_tkinter",
|
||
"title": "Adv 14: Desktop-GUIs mit Tkinter",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "15_parameter_und_container",
|
||
"title": "Adv 15: Parameter & Eigene Container",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt",
|
||
"title": "Master 16: Master-Abschlussprojekt",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "lehrpfad_4_professional_data_engineering",
|
||
"title": "🌟 Lehrpfad 4: Python Professional & Data Engineering",
|
||
"description": "Reguläre Ausdrücke (re), funktionale Idiome, Generatoren, Dataclasses, Type Hints, SQLite & REST-APIs.",
|
||
"certificateKey": "lehrpfad_4",
|
||
"chapters": [
|
||
{
|
||
"folder": "17_regulaere_ausdruecke_re",
|
||
"title": "Pro 17: Reguläre Ausdrücke (re)",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "18_funktionale_programmierung_lambda",
|
||
"title": "Pro 18: Funktionale Programmierung (lambda)",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "19_generatoren_und_itertools",
|
||
"title": "Pro 19: Generatoren & itertools (yield)",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "20_dataclasses_und_typehints",
|
||
"title": "Pro 20: Dataclasses & Type Hints",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "21_datenbanken_und_sqlite",
|
||
"title": "Pro 21: Relationale Datenbanken & SQLite",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
},
|
||
{
|
||
"folder": "22_web_apis_und_json_feeds",
|
||
"title": "Pro 22: Web-APIs & JSON-Feeds",
|
||
"taskFile": "aufgabe.py",
|
||
"testFile": "test_aufgabe.py"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"rust": {
|
||
"id": "rust",
|
||
"title": "Rust Modern Systems & WebAssembly",
|
||
"language": "rust",
|
||
"icon": "🦀",
|
||
"runner": "rust",
|
||
"description": "Vom revolutionären Ownership- & Borrowing-System über Structs, Enums, Option/Result bis zu Traits, Fearless Concurrency & LRU Cache Master.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_rust_basics",
|
||
"title": "🌱 Lehrpfad 1: Rust Grundlagen & Ownership-System",
|
||
"description": "Variablen, Typen, Mutabilität, Move-Semantik, Stack vs. Heap, Referenzen &mut, Slices und Pattern Matching.",
|
||
"certificateKey": "rust_grundlagen",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_variablen_mutabilitaet_und_typen",
|
||
"title": "Rust 01: Variablen, Mutabilität & Typensystem",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "02_das_ownership_und_borrowing_system",
|
||
"title": "Rust 02: Ownership, Move & Borrowing (&/&mut)",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "03_slices_und_lifetimes_grundlagen",
|
||
"title": "Rust 03: Slices (&str/&[T]) & Lifetimes ('a)",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "04_kontrollfluss_und_pattern_matching",
|
||
"title": "Rust 04: Kontrollfluss & match Pattern Matching",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_structs_enums",
|
||
"title": "🏗️ Lehrpfad 2: Structs, Enums & Error-Handling",
|
||
"description": "Structs, impl-Methodenblöcke, Option<T> Monade, Result<T, E> mit ?-Operator und Cargo Multi-File Modul-Architektur.",
|
||
"certificateKey": "rust_structs",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_structs_und_impl_methoden",
|
||
"title": "Rust 05: Structs, impl-Methoden & Konstruktoren",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "06_enums_und_option_monade",
|
||
"title": "Rust 06: Enums, Option<T> & if let",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "07_robustes_error_handling_mit_result",
|
||
"title": "Rust 07: Result<T, E> & der ?-Operator",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "08_packages_crates_und_module",
|
||
"title": "Rust 08: Packages, Crates & Multi-File Module",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_traits_generics",
|
||
"title": "⚡ Lehrpfad 3: Traits, Generics & Smart Pointer",
|
||
"description": "Traits, Trait Bounds, Monomorphisierung vs. Trait Objects (dyn Trait), Closures, Iterator-Pipelines & Smart Pointer (Box/Rc/RefCell).",
|
||
"certificateKey": "rust_traits",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_traits_und_shared_behavior",
|
||
"title": "Rust 09: Traits & Shared Behavior",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "10_generics_und_dynamischer_dispatch",
|
||
"title": "Rust 10: Generics & Trait Objects (dyn Trait)",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "11_iteratoren_und_closures",
|
||
"title": "Rust 11: Closures & Iterator Pipelines",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "12_smart_pointer_und_speichersicherheit",
|
||
"title": "Rust 12: Smart Pointer (Box<T>, Rc<T>, RefCell<T>)",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_concurrency_master",
|
||
"title": "💎 Lehrpfad 4: Fearless Concurrency & Systems Master",
|
||
"description": "Thread Spawning, MPSC Channels, Send & Sync Traits, Arc<Mutex<T>>, Cargo Testsuite & High-Speed In-Memory LRU Cache Master.",
|
||
"certificateKey": "rust_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_fearless_concurrency_threads_und_channels",
|
||
"title": "Rust 13: Threads & MPSC Channels",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "14_shared_state_concurrency",
|
||
"title": "Rust 14: Shared State Concurrency (Arc<Mutex<T>>)",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "15_automatisiertes_testing_mit_cargo_test",
|
||
"title": "Rust 15: Automatisierte Tests mit cargo test",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_high_speed_cache",
|
||
"title": "Master 16: High-Speed In-Memory LRU Cache Engine",
|
||
"taskFile": "aufgabe.rs",
|
||
"testFile": "test_aufgabe.rs"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"sql": {
|
||
"id": "sql",
|
||
"title": "SQL & Relationale Datenbanken",
|
||
"language": "sql",
|
||
"icon": "🗄️",
|
||
"runner": "sql",
|
||
"description": "Vom ersten SELECT über relationale Joins, Normalisierung (1NF-3NF) bis zu CTEs, Window Functions (OVER) und dem Analytics Data Warehouse Master.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_grundlagen",
|
||
"title": "🌱 Lehrpfad 1: SQL-Grundlagen & CRUD-Operationen",
|
||
"description": "Tabellen anlegen, Datentypen, Constraints, Filterung mit WHERE, Daten einfügen, aktualisieren und löschen.",
|
||
"certificateKey": "sql_grundlagen",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_tabellen_und_select",
|
||
"title": "SQL 01: Tabellen anlegen & SELECT",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "02_filterung_und_logische_operatoren",
|
||
"title": "SQL 02: Filterung mit WHERE, LIKE & BETWEEN",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "03_daten_aktualisieren_und_loeschen",
|
||
"title": "SQL 03: UPDATE, DELETE & ALTER TABLE",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "04_datentypen_und_constraints",
|
||
"title": "SQL 04: Datentypen & Constraints (CHECK/UNIQUE)",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_joins_und_design",
|
||
"title": "🏗️ Lehrpfad 2: Relationale Joins & Datenbank-Design",
|
||
"description": "Fremdschlüssel, Relationen (1:1, 1:n, n:m), INNER & OUTER JOINs, Datenbank-Normalisierung (1NF bis 3NF) und Junction Tables.",
|
||
"certificateKey": "sql_joins",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_foreign_keys_und_relationen",
|
||
"title": "SQL 05: Foreign Keys & Relationen (1:n)",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "06_inner_und_outer_joins",
|
||
"title": "SQL 06: INNER JOIN & LEFT/RIGHT JOIN",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "07_datenbank_normalisierung_1nf_bis_3nf",
|
||
"title": "SQL 07: Datenbank-Normalisierung (1NF–3NF)",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "08_m_zu_n_verknuepfungstabellen",
|
||
"title": "SQL 08: n:m Beziehungen & Junction Tables",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_aggregation_und_analytics",
|
||
"title": "⚡ Lehrpfad 3: Aggregationen, CTEs & Window Functions",
|
||
"description": "GROUP BY, HAVING, Aggregate, Subqueries, Common Table Expressions (WITH ...) und moderne Window Functions (ROW_NUMBER, OVER).",
|
||
"certificateKey": "sql_analytics",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_aggregate_und_group_by",
|
||
"title": "SQL 09: Aggregationen (COUNT/SUM) & GROUP BY",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "10_subqueries_und_mengenoperationen",
|
||
"title": "SQL 10: Subqueries & UNION / INTERSECT",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "11_common_table_expressions_cte",
|
||
"title": "SQL 11: Common Table Expressions (WITH CTE)",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "12_window_functions_over_partition",
|
||
"title": "SQL 12: Window Functions (ROW_NUMBER, OVER)",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_performance_und_master",
|
||
"title": "💎 Lehrpfad 4: Performance, Transaktionen & Analytics Master",
|
||
"description": "B-Tree Indizes, EXPLAIN Query Plans, ACID Transaktionen (COMMIT/ROLLBACK), Views und E-Commerce Data Warehouse Master.",
|
||
"certificateKey": "sql_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_indizes_und_query_optimierung",
|
||
"title": "SQL 13: B-Tree Indizes & EXPLAIN QUERY PLAN",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "14_transaktionen_acid_und_locking",
|
||
"title": "SQL 14: ACID Transaktionen (BEGIN/COMMIT)",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "15_views_und_gespeicherte_logik",
|
||
"title": "SQL 15: Virtuelle Views & Trigger",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_data_warehouse",
|
||
"title": "Master 16: E-Commerce Analytics Data Warehouse",
|
||
"taskFile": "aufgabe.sql",
|
||
"testFile": "test_aufgabe.sql"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"active_directory": {
|
||
"id": "active_directory",
|
||
"title": "Active Directory & Windows Server Administration",
|
||
"language": "powershell",
|
||
"icon": "🏛️",
|
||
"runner": "powershell",
|
||
"description": "Praxis-Masterkurs für Fachinformatiker: AD DS Gesamtstruktur, FSMO-Rollen, OU-Design, Sites & Replikation, AGDLP-Berechtigungskonzept, Gruppenrichtlinien (GPOs) & Enterprise PowerShell Automation.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_ad_architektur",
|
||
"title": "🏛️ Lehrpfad 1: AD DS Architektur & Organisationseinheiten (OUs)",
|
||
"description": "AD DS Gesamtstruktur, Trees, Domänen, DNS-Abhängigkeit (_msdcs), Kerberos & LDAP, die 5 FSMO-Rollen, OU-Hierarchien und Standorte & Replikation.",
|
||
"certificateKey": "ad_architektur",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_ad_architektur_und_wald_baum_domaene",
|
||
"title": "AD 01: AD DS Architektur & Wald, Baum, Domäne",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "02_domaenencontroller_und_fsmo_rollen",
|
||
"title": "AD 02: Domänencontroller & FSMO-Rollen",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "03_organisationseinheiten_und_struktur",
|
||
"title": "AD 03: Organisationseinheiten & Struktur",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "04_standorte_subnetze_und_replikation",
|
||
"title": "AD 04: Standorte, Subnetze & Replikation",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_identitaet_agdlp",
|
||
"title": "🛡️ Lehrpfad 2: Identitätsmanagement & das AGDLP-Prinzip",
|
||
"description": "Benutzerkonten, UPN & SAM-Account, UAC-Flags, Computerkonten, Secure Channel, djoin.exe, Sicherheitsgruppenbereiche und das AGDLP-Prinzip.",
|
||
"certificateKey": "ad_identitaet",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_benutzerkonten_und_attribute",
|
||
"title": "AD 05: Benutzerkonten & LDAP-Attribute",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "06_computerkonten_und_domaenenbeitritt",
|
||
"title": "AD 06: Computerkonten & Domänenbeitritt",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "07_sicherheitsgruppen_und_bereichstypen",
|
||
"title": "AD 07: Sicherheitsgruppen & Bereichstypen",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "08_das_agdlp_prinzip_in_der_praxis",
|
||
"title": "AD 08: Das AGDLP-Prinzip in der Praxis",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_gpo_design",
|
||
"title": "📜 Lehrpfad 3: Gruppenrichtlinien (GPOs) & Richtlinien-Design",
|
||
"description": "LSDOU-Abarbeitung, Vererbung und Enforced, Computerkonfiguration vs. Benutzerkonfiguration, Loopback Merge/Replace, WMI-Filter und GPO-Troubleshooting.",
|
||
"certificateKey": "ad_gpo",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_gpo_grundlagen_und_lsdous",
|
||
"title": "AD 09: GPO-Grundlagen & LSDOU-Hierarchie",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "10_computerkonfiguration_vs_benutzerkonfiguration",
|
||
"title": "AD 10: Computer- vs. Benutzerkonfiguration & Loopback",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "11_sicherheitsfilterung_und_wmi_filter",
|
||
"title": "AD 11: Sicherheitsfilterung & WMI-Filter",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "12_gpo_troubleshooting_gpupdate_und_gpresult",
|
||
"title": "AD 12: GPO Troubleshooting: gpupdate & gpresult",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_ad_automation",
|
||
"title": "⚡ Lehrpfad 4: PowerShell AD-Automation & Enterprise Security",
|
||
"description": "Microsoft ActiveDirectory Modul, Filter-Syntax, CSV-Massenprovisioning mit Kollisionsauflösung, NTFS- & Share-ACLs und Master-Abschlussprojekt.",
|
||
"certificateKey": "ad_automation",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_powershell_activedirectory_modul_basics",
|
||
"title": "AD 13: PowerShell ActiveDirectory-Modul Basics",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "14_csv_bulk_import_und_provisioning",
|
||
"title": "AD 14: CSV Bulk-Import & Provisioning",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "15_ntfs_und_share_berechtigungssteuerung",
|
||
"title": "AD 15: NTFS- & Share-Berechtigungssteuerung",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_ad_automation_suite",
|
||
"title": "Master 16: Enterprise AD Automation & Security Suite",
|
||
"taskFile": "aufgabe.ps1",
|
||
"testFile": "test_aufgabe.ps1"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"git": {
|
||
"id": "git",
|
||
"title": "Git Versionskontrolle, Branching & DevOps Workflows",
|
||
"language": "bash",
|
||
"icon": "🔀",
|
||
"runner": "bash",
|
||
"description": "Vom ersten Commit über Branching, Merge-Konfliktlösung, Remotes & Tags bis zu interaktivem Rebase, Pre-Commit Hooks und professionellem Git-Flow.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_git_basics",
|
||
"title": "🌱 Lehrpfad 1: Git Grundlagen & Lokale Repositories",
|
||
"description": "Initialisierung, die 3 logischen Bereiche, Staging, atomare Commits, Historie und .gitignore.",
|
||
"certificateKey": "git_basics",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_git_init_und_repo_basics",
|
||
"title": "Git 01: Repository-Initialisierung & 3 Bereiche",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "02_staging_commits_und_historie",
|
||
"title": "Git 02: Staging Area, Commits & Historie",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "03_aenderungen_vergleichen_mit_git_diff",
|
||
"title": "Git 03: Diff-Analysen & Änderungen untersuchen",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "04_dateien_ignorieren_und_gitignore",
|
||
"title": "Git 04: .gitignore & Ausschlussregeln",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_branching_merging",
|
||
"title": "⚡ Lehrpfad 2: Branching, Merging & Konflikte",
|
||
"description": "Paralleles Arbeiten auf Branches, Fast-Forward vs. 3-Way-Merge, Konfliktlösung und Stash.",
|
||
"certificateKey": "git_branching",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_branching_und_switch",
|
||
"title": "Git 05: Branch-Management & HEAD-Pointer",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "06_fast_forward_und_3way_merge",
|
||
"title": "Git 06: Fast-Forward & 3-Way-Merge Strategien",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "07_merge_konflikte_verstehen_und_loesen",
|
||
"title": "Git 07: Merge-Konflikte analysieren & lösen",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "08_temporaere_aenderungen_mit_git_stash",
|
||
"title": "Git 08: Zwischenspeichern mit Git Stash",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_remotes_collaboration",
|
||
"title": "🚀 Lehrpfad 3: Remote Repositories & Team-Collaboration",
|
||
"description": "Origin-Remotes, push/pull, Fetch vs. Pull, SemVer Tags und selektives Cherry-Picking.",
|
||
"certificateKey": "git_collaboration",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_remotes_verbinden_und_git_push",
|
||
"title": "Git 09: Remote Repositories & Upstream Tracking",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "10_git_fetch_vs_git_pull",
|
||
"title": "Git 10: Git Fetch vs. Git Pull & Rebase",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "11_git_tags_und_releases",
|
||
"title": "Git 11: Release-Tags & Semantische Versionierung",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "12_cherry_picking_und_selektive_commits",
|
||
"title": "Git 12: Selektive Commits mit Git Cherry-Pick",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_advanced_workflows",
|
||
"title": "💎 Lehrpfad 4: Fortgeschrittene Workflows & Master-Projekt",
|
||
"description": "Rebase, Interaktives Squashing, Git Hooks und Master-Abschlussprojekt Git-Flow.",
|
||
"certificateKey": "git_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_rebase_fuer_saubere_historie",
|
||
"title": "Git 13: Lineare Historie mit Git Rebase",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "14_interaktives_rebase_squash_und_fixup",
|
||
"title": "Git 14: Interaktives Rebase (Squash & Fixup)",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "15_git_hooks_und_automatisierte_checks",
|
||
"title": "Git 15: Pre-Commit Hooks & Automatisierung",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_git_flow_und_release",
|
||
"title": "Master 16: Enterprise Git-Flow & Release Suite",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"dns_records": {
|
||
"id": "dns_records",
|
||
"title": "DNS-Records, Domain Name System & E-Mail-Sicherheit",
|
||
"language": "bash",
|
||
"icon": "🌐",
|
||
"runner": "bash",
|
||
"description": "Vom DNS-Baum über A/AAAA, CNAME, MX und SOA bis zu moderner E-Mail-Sicherheit (SPF, DKIM, DMARC), Active Directory SRV-Records und DNSSEC.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_dns_architektur",
|
||
"title": "🌐 Lehrpfad 1: DNS-Architektur & Namensauflösung",
|
||
"description": "DNS-Hierarchie, Root-Zone (.), rekursive vs. iterative Abfragen, UDP/TCP Port 53 und TTL Caching.",
|
||
"certificateKey": "dns_architektur",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_dns_hierarchie_und_root_server",
|
||
"title": "DNS 01: DNS-Hierarchie & Root-Server",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "02_rekursive_vs_iterative_abfragen",
|
||
"title": "DNS 02: Rekursive vs. Iterative Abfragen",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "03_ports_udp_tcp_und_dns_paketaufbau",
|
||
"title": "DNS 03: UDP vs. TCP Port 53 & EDNS0",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "04_ttl_und_dns_propagation",
|
||
"title": "DNS 04: TTL & DNS-Propagation",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_core_records",
|
||
"title": "⚡ Lehrpfad 2: Kern-Resource-Records & Zonen",
|
||
"description": "A & AAAA Records, CNAME Alias-Regeln, SOA-Header mit Serial und NS/PTR Reverse-Lookups.",
|
||
"certificateKey": "dns_records_core",
|
||
"chapters": [
|
||
{
|
||
"folder": "05_a_und_aaaa_records",
|
||
"title": "DNS 05: A & AAAA Records (IPv4 / IPv6)",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "06_cname_canonical_name_und_alias_regeln",
|
||
"title": "DNS 06: CNAME Alias & das Apex-Problem",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "07_soa_start_of_authority_und_serial",
|
||
"title": "DNS 07: SOA Start of Authority & Serial",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "08_ns_und_ptr_reverse_dns_lookups",
|
||
"title": "DNS 08: NS Delegation & PTR Reverse DNS",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_email_security",
|
||
"title": "🛡️ Lehrpfad 3: E-Mail-Sicherheit & Security Records",
|
||
"description": "MX Prioritäten, SPF-Einträge, DKIM-Kryptosignaturen und DMARC Schutz vor Phishing & Spoofing.",
|
||
"certificateKey": "dns_email_security",
|
||
"chapters": [
|
||
{
|
||
"folder": "09_mx_mail_exchange_und_prioritaeten",
|
||
"title": "DNS 09: MX Records & Mail-Prioritäten",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "10_txt_records_und_spf_sender_policy_framework",
|
||
"title": "DNS 10: SPF Sender Policy Framework (TXT)",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "11_dkim_domainkeys_identified_mail",
|
||
"title": "DNS 11: DKIM Kryptografische E-Mail-Signatur",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "12_dmarc_und_email_security_suite",
|
||
"title": "DNS 12: DMARC Policy & Phishing-Abwehr",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_advanced_dns",
|
||
"title": "🚀 Lehrpfad 4: Erweiterte Records, DNSSEC & Auditing",
|
||
"description": "SRV Records für Active Directory, CAA, DNSSEC Vertrauenskette, dig-Troubleshooting & Master Auditor.",
|
||
"certificateKey": "dns_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "13_srv_service_records_fuer_ad_und_sip",
|
||
"title": "DNS 13: SRV Service Records (Active Directory & SIP)",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "14_caa_und_dnssec_sicherheit",
|
||
"title": "DNS 14: CAA Records & DNSSEC Vertrauenskette",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "15_dns_troubleshooting_mit_dig_und_nslookup",
|
||
"title": "DNS 15: DNS-Troubleshooting mit dig & nslookup",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
},
|
||
{
|
||
"folder": "16_master_abschlussprojekt_dns_zone_auditor",
|
||
"title": "Master 16: Enterprise DNS Zone & Security Auditor",
|
||
"taskFile": "aufgabe.sh",
|
||
"testFile": "test_aufgabe.sh"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"ihk_ap2_fiae": {
|
||
"id": "ihk_ap2_fiae",
|
||
"title": "IHK AP2 Crashkurs: Fachinformatiker Anwendungsentwicklung",
|
||
"language": "ihk_ap2_fiae",
|
||
"icon": "💻",
|
||
"runner": "none",
|
||
"description": "Vollständige Prüfungsvorbereitung für FIAE (LF 9–12, WiSo, 80h-Projekt). 12 Module nach ZPA Nord-West 2. Auflage: Software-Architektur (MVC, Hexagonal, Clean), GoF-Entwurfsmuster, UML 2.5, Algorithmen (O-Notation), OOP & SOLID, Enterprise SQL & ORM, REST/GraphQL, Testing & Vollsimulation.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_architektur_und_design",
|
||
"title": "🌱 Lehrpfad 1: Software-Architektur, Modellierung & Anforderungsanalyse (LF 9 & 10)",
|
||
"description": "Clean & Hexagonal Architecture, GoF Patterns (Singleton, Factory, Strategy, Observer), UML 2.5 (Klassendiagramm, Sequenzdiagramm, Aktivitätsdiagramm, State Machine), User Stories, Lasten-/Pflichtenheft & Function-Point-Methode.",
|
||
"certificateKey": "ihk_ap2_fiae_architektur",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_software_architektur_und_design_patterns",
|
||
"title": "LF 9: Software-Architektur & Design Patterns (MVC, Clean, GoF-Muster)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "02_uml_modellierung_und_softwareentwurf",
|
||
"title": "LF 9: Normierte UML 2.5 Modellierung (Klassen-, Sequenz- & Aktivitätsdiagramme)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "03_anforderungsanalyse_und_aufwandsschaetzung",
|
||
"title": "LF 10: Anforderungsanalyse, Agilität & Aufwandsschätzung (Function Points, COCOMO)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_algorithmen_und_oop",
|
||
"title": "⚙️ Lehrpfad 2: Algorithmen, Datenstrukturen & Objektorientierung (LF 10 & 11)",
|
||
"description": "O-Notation (Zeit- & Speicherkomplexität), Sortier- & Suchalgorithmen, Bäume, Graphen, Hashmaps, OOP-Konzepte & SOLID-Prinzipien.",
|
||
"certificateKey": "ihk_ap2_fiae_algorithmen",
|
||
"chapters": [
|
||
{
|
||
"folder": "04_algorithmen_und_komplexitaet_o_notation",
|
||
"title": "LF 10: Algorithmen, Komplexität & O-Notation (Sortieren, Suchen, Rekursion)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "05_datenstrukturen_und_speichermanagement",
|
||
"title": "LF 10: Fortgeschrittene Datenstrukturen & Memory Management (Trees, HashTables, Caching)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "06_objektorientierte_programmierung_solid",
|
||
"title": "LF 11: Objektorientierte Programmierung & SOLID-Prinzipien (Clean Code)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_daten_apis_und_testing",
|
||
"title": "☁️ Lehrpfad 3: Enterprise SQL, API-Design & Quality Assurance (LF 11 & 12)",
|
||
"description": "ZPA-SQL (DDL, DML, DCL, Normalisierung, Transaktionen/ACID), RESTful APIs (HTTP Verbs, Statuscodes, OpenAPI), GraphQL, TDD, Unit-/Integrations-Tests & CI/CD.",
|
||
"certificateKey": "ihk_ap2_fiae_daten_testing",
|
||
"chapters": [
|
||
{
|
||
"folder": "07_enterprise_sql_und_datenbank_modellierung",
|
||
"title": "LF 11: Enterprise SQL & Datenbank-Design (ER-Modell, Normalisierung, ACID, Transaktionen)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "08_api_design_rest_json_und_graphql",
|
||
"title": "LF 11: Modernes API-Design, REST, JSON & Web-Security (OAuth2, JWT, CORS)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "09_software_testing_und_ci_cd_pipelines",
|
||
"title": "LF 12: Software-Testing, Teststufen & CI/CD (TDD, Mocking, Testüberdeckung)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_wiso_projekt_und_pruefung",
|
||
"title": "🏆 Lehrpfad 4: WiSo, 80h-Projektarbeit & AP2-Prüfungssimulation",
|
||
"description": "Software-Lizenzmodelle (GPL, MIT, Apache, SaaS), Arbeits- & Urheberrecht, Leitfaden für die 80-stündige Projektarbeit samt Dokumentation & Fachgespräch sowie Vollprüfung.",
|
||
"certificateKey": "ihk_ap2_fiae_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "10_wiso_arbeitsrecht_und_lizenzmodelle",
|
||
"title": "WiSo: IT-Arbeitsrecht, Urheberrecht, Lizenzmodelle (Open Source vs. Commercial) & DSGVO",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "11_betriebliche_projektarbeit_guide_80h",
|
||
"title": "Projekt: Betriebliche Projektarbeit (80h) & Fachgespräch (Guide nach § 15 BBiG)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "12_ap2_fiae_gesamtpruefung_simulation",
|
||
"title": "Abschluss: AP2 FIAE Gesamtprüfungssimulation (PB 1, PB 2 & WiSo)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"ihk_ap2_fidp": {
|
||
"id": "ihk_ap2_fidp",
|
||
"title": "IHK AP2 Crashkurs: Fachinformatiker Daten- und Prozessanalyse",
|
||
"language": "ihk_ap2_fidp",
|
||
"icon": "📊",
|
||
"runner": "none",
|
||
"description": "Vollständige Prüfungsvorbereitung für FIDP (LF 9–12, WiSo, 40h-Projekt). 12 Module nach ZPA Nord-West 2. Auflage: Geschäftsprozessanalyse, BPMN 2.0 (ISO 19510), ISO 25012 Datenqualität, ETL/CDC, Star-/Snowflake-Schema, Big Data & Kafka, Deskriptive/Induktive Statistik, Machine Learning Evaluation (Confusion Matrix, ROC), BI-Dashboard-Design, Data Governance & Vollsimulation.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_prozessanalyse_und_qualitaet",
|
||
"title": "🌱 Lehrpfad 1: Prozessanalyse, BPMN 2.0 & Datenqualität (LF 9 & 10)",
|
||
"description": "Ist-Analyse, Durchlaufzeiten (DLZ), Prozess-Effizienz, BPMN 2.0 (Pools, Lanes, Gateways, Boundary Events), Datenformate (JSON, Parquet) & ISO/IEC 25012 Datenqualitätsmerkmale.",
|
||
"certificateKey": "ihk_ap2_fidp_prozesse",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_prozessanalyse_und_prozessoptimierung",
|
||
"title": "LF 9: Geschäftsprozessanalyse & Optimierungsmethoden (KPIs, Kaizen, Lean)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "02_bpmn20_und_prozessmodellierung_vertiefung",
|
||
"title": "LF 9: Normierte BPMN 2.0 Prozessmodellierung (Gateways, Intermediate Events)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "03_datenquellen_und_datenqualitaet",
|
||
"title": "LF 10: Datenquellen, Formate & Datenqualität (ISO 25012, Parquet)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_etl_und_warehousing",
|
||
"title": "⚙️ Lehrpfad 2: Data Engineering, ETL & Data Warehousing (LF 10 & 11)",
|
||
"description": "ETL vs. ELT, Change Data Capture (CDC), Idempotenz, DWH-3-Schichten-Architektur, Star- vs. Snowflake-Schema, Slowly Changing Dimensions (SCD 1-3) & Big Data Streaming (Kafka, Lakehouse).",
|
||
"certificateKey": "ihk_ap2_fidp_dwh",
|
||
"chapters": [
|
||
{
|
||
"folder": "04_etl_prozesse_und_datenpipelines",
|
||
"title": "LF 10: ETL/ELT-Prozesse & Moderne Datenpipelines (CDC, Airflow, Idempotenz)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "05_data_warehouse_und_datenmodellierung",
|
||
"title": "LF 10: Data Warehouse Architekturen & Star-/Snowflake-Schema (SCD 1-3)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "06_big_data_architekturen_und_streaming",
|
||
"title": "LF 11: Big Data, Streaming & Data Lakehouse (5 V's, Kafka, Lambda/Kappa)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_statistik_ml_und_bi",
|
||
"title": "☁️ Lehrpfad 3: Statistik, Machine Learning & BI-Reporting (LF 11 & 12)",
|
||
"description": "Deskriptive & induktive Statistik (Mittelwert, Median, Hypothesentest, p-Wert), Machine Learning Evaluation (Confusion Matrix, Precision, Recall, F1-Score) & Dashboard-Design nach Tufte & IBCS.",
|
||
"certificateKey": "ihk_ap2_fidp_analytics",
|
||
"chapters": [
|
||
{
|
||
"folder": "07_deskriptive_und_induktive_statistik",
|
||
"title": "LF 11: Deskriptive & Induktive Statistik (Lage-/Streumaße, Hypothesentests)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "08_machine_learning_und_kuenstliche_intelligenz",
|
||
"title": "LF 11: Machine Learning & Modell-Evaluation (Confusion Matrix, F1-Score)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "09_datenvisualisierung_und_bi_reporting",
|
||
"title": "LF 12: Datenvisualisierung & BI-Dashboard-Design (IBCS, Tufte, Power BI)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_governance_projekt_und_pruefung",
|
||
"title": "🏆 Lehrpfad 4: Governance, 40h-Projektarbeit & AP2-Prüfungssimulation",
|
||
"description": "DSGVO (Art. 5/6/9), Anonymisierung vs. Pseudonymisierung, Data Lineage, Leitfaden für die 40h-Projektarbeit samt Nutzwertanalyse & Vollprüfungssimulation.",
|
||
"certificateKey": "ihk_ap2_fidp_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "10_datenschutz_compliance_und_wiso",
|
||
"title": "WiSo & LF 12: Data Governance, DSGVO & IT-Recht (Anonymisierung, Lineage)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "11_betriebliche_projektarbeit_guide_40h",
|
||
"title": "Projekt: Betriebliche Projektarbeit (40h) & Fachgespräch (Guide)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "12_ap2_fidp_gesamtpruefung_simulation",
|
||
"title": "Abschluss: AP2 FIDP Gesamtprüfungssimulation (PB 1, PB 2 & WiSo)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"ihk_ap2_fidv": {
|
||
"id": "ihk_ap2_fidv",
|
||
"title": "IHK AP2 Crashkurs: Fachinformatiker Digitale Vernetzung",
|
||
"language": "ihk_ap2_fidv",
|
||
"icon": "🏭",
|
||
"runner": "none",
|
||
"description": "Vollständige Prüfungsvorbereitung für FIDV (LF 9–12, WiSo, 40h-Projekt). 12 Module nach ZPA Nord-West 2. Auflage: Cyber-Physische Systeme (CPS), RAMI 4.0, IO-Link & Sensorik, Edge Computing (IPCs, K3s), Profinet IO (RT/IRT), TSN (802.1Qbv), OPC UA & MQTT, Private 5G-Campusnetze (Band n78), Industrial Security IEC 62443, Purdue-Modell & IDMZ, PRP/HSR Zero-Failover & Vollsimulation.",
|
||
"tracks": [
|
||
{
|
||
"id": "track_1_cps_und_edge",
|
||
"title": "🌱 Lehrpfad 1: CPS, Sensorik & Edge Computing (LF 9 & 10)",
|
||
"description": "Cyber-Physische Systeme (CPS), RAMI 4.0, Verwaltungsschale (AAS), 4-20 mA Stromschleifen, IO-Link (IEC 61131-9), Nyquist-Shannon & Industrie-PCs / Edge-Gateways.",
|
||
"certificateKey": "ihk_ap2_fidv_cps",
|
||
"chapters": [
|
||
{
|
||
"folder": "01_industrie40_und_cyber_physische_systeme",
|
||
"title": "LF 9: Industrie 4.0 & Cyber-Physische Systeme (RAMI 4.0, AAS, Digital Twin)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "02_sensorik_aktorik_und_signalverarbeitung",
|
||
"title": "LF 9: Industrielle Sensorik, Aktorik & Signalwandlung (IO-Link, 4-20 mA)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "03_edge_computing_und_iot_gateways",
|
||
"title": "LF 10: Edge Computing, Industrie-PCs & IoT-Gateways (Docker, K3s, Filterung)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_2_busse_und_protokolle",
|
||
"title": "⚙️ Lehrpfad 2: Industrielle Kommunikation & IoT-Protokolle (LF 10 & 11)",
|
||
"description": "Modbus RTU/TCP, Profinet IO (RT/IRT), TSN (IEEE 802.1Qbv), OPC UA (Client/Server, Nodes), MQTT (QoS 0/1/2, LWT, Retain) & Private 5G-Campusnetze (Band n78 3,7-3,8 GHz).",
|
||
"certificateKey": "ihk_ap2_fidv_busse",
|
||
"chapters": [
|
||
{
|
||
"folder": "04_industrielle_kommunikation_und_feldbusse",
|
||
"title": "LF 10: Feldbusse & Industrial Ethernet (Profinet IO, Modbus, TSN)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "05_iot_protokolle_mqtt_coap_und_opc_ua",
|
||
"title": "LF 11: Industrielle IoT-Protokolle (OPC UA, MQTT, CoAP)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "06_drahtlose_vernetzung_und_5g_campusnetze",
|
||
"title": "LF 11: Drahtlose Vernetzung & Private 5G-Campusnetze (URLLC, n78, LoRaWAN)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_3_ot_security_und_resilienz",
|
||
"title": "☁️ Lehrpfad 3: Industrial Security & OT-Netzwerkresilienz (LF 11 & 12)",
|
||
"description": "IEC 62443 (Zonen & Conduits, Security Levels 1-4), Purdue-Modell (Level 0-5), Industrial DMZ (IDMZ 3.5), Deep Packet Inspection (DPI), PRP/HSR Zero-Failover & passives OT-Monitoring.",
|
||
"certificateKey": "ihk_ap2_fidv_security",
|
||
"chapters": [
|
||
{
|
||
"folder": "07_industrial_security_iec_62443",
|
||
"title": "LF 11: Industrial Security nach IEC 62443 (Zonen & Conduits, SL 1-4)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "08_netzwerksegmentierung_und_ot_firewalls",
|
||
"title": "LF 11: Purdue-Referenzmodell & OT-Netzwerksegmentierung (IDMZ, DPI)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "09_ot_monitoring_anomalieerkennung_und_resilienz",
|
||
"title": "LF 12: OT-Netzwerkresilienz, PRP/HSR & Passives Monitoring (TAP vs. SPAN)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "track_4_safety_projekt_und_pruefung",
|
||
"title": "🏆 Lehrpfad 4: Maschinensicherheit, 40h-Projektarbeit & AP2-Prüfungssimulation",
|
||
"description": "Safety vs. Security, Performance Level (PL) & SIL, CE-Kennzeichnung (wesentliche Veränderung), Leitfaden für die 40h-Projektarbeit samt Retrofit & Vollprüfungssimulation.",
|
||
"certificateKey": "ihk_ap2_fidv_master",
|
||
"chapters": [
|
||
{
|
||
"folder": "10_betriebsorganisation_sicherheit_und_wiso",
|
||
"title": "WiSo & LF 12: Maschinensicherheit (Safety vs. Security, SIL/PL) & Recht",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "11_betriebliche_projektarbeit_guide_40h",
|
||
"title": "Projekt: Betriebliche Projektarbeit (40h) & Fachgespräch (Guide)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
},
|
||
{
|
||
"folder": "12_ap2_fidv_gesamtpruefung_simulation",
|
||
"title": "Abschluss: AP2 FIDV Gesamtprüfungssimulation (PB 1, PB 2 & WiSo)",
|
||
"taskFile": "README.md",
|
||
"testFile": "index.html"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
};
|