Files
2026-01-21 10:34:07 +01:00

208 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 7 Modern Languages in 7 Weeks — Systems, Security & Algorithms Track
A **project-driven, low-levelaware programming course** designed for developers transitioning into **system administration, security, and networking**, with a strong emphasis on **algorithms, memory, and real-world validation logic**.
This is not a "learn syntax" course.
This is a **learn how computers actually work** course.
---
## 🎯 Who This Course Is For
* Developers with some programming experience (web, scripting, or general-purpose)
* Aspiring **SysAdmins**, **Security Engineers**, or **Network Engineers**
* Learners preparing for **CompTIA A+ → CCNA → Security+**
* Anyone who wants to understand:
* why bugs happen
* how exploits are possible
* how performance and correctness really work
---
## 🧠 Teaching Philosophy
* **Algorithms first**, math explained clearly and intuitively
* **Low-level understanding**, even when using high-level languages
* **Project-based learning**, no toy examples
* **Security mindset** from Day 1
* Compare languages to understand tradeoffs, not preferences
Every concept is taught with:
* step-by-step reasoning
* real constraints
* boundary conditions
* performance implications
---
## 🛠 Language Stack (Customized)
This track focuses on languages used in **systems, security, and administration**:
1. **C** — memory, buffers, OS-level thinking
2. **C++** — performance, algorithms, data structures
3. **Python** — automation, scripting, security tooling
4. **Bash** — Linux/macOS administration
5. **PowerShell** — Windows administration & automation
6. **C# (.NET)** — Windows internals, enterprise tooling
7. **SQL (PostgreSQL)** — data querying, filtering, security-relevant logic
Languages are compared continuously to show:
* what is hidden
* what is enforced
* what can go wrong
---
## 🗺 Course Structure
### Week 1 — Core Execution & Algorithm Foundations
* Variables & types (memory-aware)
* Conditionals & loops
* Input handling & validation
* Algorithmic thinking (counting, bounds, linear growth)
**Projects:**
* Input validation CLI
* Username/password sanitizers
* System information tools
---
### Week 2 — Data Structures
* Arrays, lists, maps, sets
* Memory layout & mutability
* Algorithmic tradeoffs
**Projects:**
* Log parsers
* Configuration validators
* Scan result analyzers
---
### Week 3 — Files, I/O & Networking Basics
* File handling
* STDIN / STDOUT
* Simple web server
* JSON & XML parsing
**Projects:**
* Log monitoring tools
* Simple REST services
* Data extraction utilities
---
### Week 4 — Errors, Debugging & Testing
* Error handling models
* Logging
* Debugging tools
* Unit testing
**Projects:**
* Fault-tolerant scripts
* Troubleshooting utilities
---
### Week 5 — OOP & Functional Concepts
* When OOP helps
* When it hurts
* Functional patterns for safety
**Projects:**
* Modular system utilities
* Reusable validation libraries
---
### Week 6 — Concurrency & Performance
* Threads vs async
* Race conditions
* Performance bottlenecks
**Projects:**
* Concurrent scanners
* Parallel log analyzers
---
### Week 7 — Industry-Standard Tooling
* Popular web servers
* Real-world scraping libraries
* Testing frameworks
* Modern concurrency models
**Projects:**
* Hardened web services
* Attack surface analysis tools
---
### Week 8+ — Bonus: Interview & Certification Prep
* Algorithms & data structures
* Sysadmin troubleshooting
* Security scenarios
* Cert-style questions mapped to A+, CCNA, Security+
---
## 📈 Daily Lesson Format
Each day includes:
* Concept explanation (clear + low-level)
* Language-specific implementation
* 5 graded exercises (increasing difficulty)
* Go-Further edge cases
* Submission & feedback
* Progress tracking in Markdown
---
## 💻 Environment
* **OS:** Linux (primary) + Windows VM
* **Editor:** VS Code
* **Compilers/SDKs:** gcc/clang, .NET SDK, Python 3.x
* **Database:** PostgreSQL
---
## 🚀 Outcome
By the end of this course, you will:
* Think algorithmically, not syntactically
* Understand memory, boundaries, and performance
* Write safer, more predictable code
* Move comfortably between low-level and high-level languages
* Be prepared for real sysadmin and security work
---
## 🧠 Core Principle
> **Syntax changes. Logic does not.**
This course teaches you the logic.