first commit day 1 week 1

This commit is contained in:
2026-01-21 10:34:07 +01:00
commit 0b7a3a698a
4 changed files with 262 additions and 0 deletions

207
README.md Normal file
View File

@@ -0,0 +1,207 @@
# 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.

BIN
week 1/day 1/a.out Executable file

Binary file not shown.

35
week 1/day 1/hello.c Normal file
View File

@@ -0,0 +1,35 @@
#include <stdio.h>
int main() {
char firstName[30];
int characters = 0;
int badChar = 0;
printf("Please enter your name: ");
fgets(firstName, sizeof(firstName), stdin);
for (int i = 0; firstName[i] != '\0'; i++) {
if (firstName[i] != '\n') {
characters++;
if(firstName[i] == ' ' || ((int)firstName[i] >= 48 && (int)firstName[i] <= 57)){
badChar = 1;
break;
}
}
}
int first = firstName[0];
int isLetter = (first >= 'A' && first <= 'Z') ||
(first >= 'a' && first <= 'z');
if (characters <= 20 && isLetter && badChar == 0) {
printf("Accepted\n");
}else{
printf("Refused\n");
}
return 0;
}

20
week 1/day 1/readme.md Normal file
View File

@@ -0,0 +1,20 @@
Quick Exercise — Variables
Try writing a small script (your language of choice) that:
Asks the user for their name.
Accept the name only if:
1. Length ≤ 20
2.First character is a letter
3.Contains no digits
4.Contains no spaces
This tests:
✔ Reading input
✔ Using variables
✔ Printing output
Reply here with your solution — Ill give feedback.
I will use c for this exercises