first commit day 1 week 1
This commit is contained in:
207
README.md
Normal file
207
README.md
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
# 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.
|
||||||
BIN
week 1/day 1/a.out
Executable file
BIN
week 1/day 1/a.out
Executable file
Binary file not shown.
35
week 1/day 1/hello.c
Normal file
35
week 1/day 1/hello.c
Normal 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
20
week 1/day 1/readme.md
Normal 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 — I’ll give feedback.
|
||||||
|
|
||||||
|
I will use c for this exercises
|
||||||
Reference in New Issue
Block a user