208 lines
4.3 KiB
Markdown
208 lines
4.3 KiB
Markdown
# 7 Modern Languages in 7 Weeks — Systems, Security & Algorithms Track
|
||
|
||
A **project-driven, low-level–aware 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.
|