A comprehensive collection of algorithms, interview prep, cloud/GCP utilities, data projects, and hands-on examples. This repo serves as a personal knowledge base and a set of ready-to-run references across computer science topics.
This repository contains organized submodules covering:
- Algorithms & Data Structures - Python implementations and practice problems
- Interview Preparation - CTCI, LeetCode, Codility solutions
- Data Science Projects - Visualization and mining projects with comprehensive documentation
- Cloud & DevOps - GCP, Terraform, Kubernetes, Cloud Run implementations
- Databases - PostgreSQL, NoSQL, and big data coursework
- Web Development - Django applications and utilities
- Security & Networking - VPN, infosec, and security tools
- System Design - Distributed systems and architecture patterns
algorithms/- Comprehensive algorithm implementationsleetcode/- LeetCode problem solutionscodility/- Codility coding challengesctci/- Cracking the Coding Interview solutionsDynamicProgramming/- DP algorithm implementationsBacktracking/- Backtracking algorithm examplesdsap/- Data Structures and Algorithms practiceinterview/- Interview-specific problems and tipsmathProblems/- Mathematical problem solutionspythonic_stuff/- Python-specific implementations
data-visualization/- Data visualization course projectsassignments/- Course assignments with comprehensive documentationdocumentation/- Course materials and guidesfinal-project/- Adult income analysis project- Interactive runner script for easy execution
data-mining/- Machine learning projects for diabetes managementdatasets/- CGM and insulin data filesprojects/- Meal detection, time series analysis, clustering validationdocumentation/- Project guides and methodology- Interactive runner script for easy execution
gcp/- Google Cloud Platform implementationsapp-engine/- App Engine applicationscloudrun/- Cloud Run servicescloudfunctions/- Cloud Functionskubernetes/- GKE and Kubernetes configurationsiam/- Identity and Access Managementnetworks/- VPC, VPN, and networkingstorage/- Cloud Storage implementationsbilling/- Billing and cost managementsecurity/- Security configurationsprofiling/- Performance profiling toolsai-ml/- AI/ML implementationsvertex-ai-mlops/- Comprehensive Vertex AI MLOps workflows and examples
terraform/- Infrastructure as Code- Infrastructure templates and modules
- State management and dependencies
canary-bg/- Canary deployment implementations- Cloud Run deployment strategies
- Traffic management and rollback procedures
grafana_prometheus/- Monitoring and observability- Grafana dashboards and Prometheus configurations
databases/- Database coursework and implementationspostgres/- PostgreSQL assignments and projectsbigData/- Big data analysis projectsunQLlite/- NoSQL database implementations
Django/- Django web applications- SSN security project
- Web application templates and utilities
infosec/- Information security projects- Security tools and implementations
kali/- Kali Linux security tools- Penetration testing and security utilities
open-vpn/- VPN implementations- Terraform configurations for VPN setup
python-grpc/- gRPC implementations- Microservices communication patterns
gws/- Google Workspace APIs- Directory API, Reports API, Data Transfer API
sre-interview-prep-guide/- Site Reliability Engineering- Interview preparation materials and guides
google-interview-university/- Google Interview University- Comprehensive interview preparation guide
machine-learning/- Machine learning resources- Supervised and unsupervised learning materials
pythonicStuff/- Python best practices- Pythonic patterns and utilities
ctci/- Cracking the Coding Interview- Chapter-wise solutions and implementations
quality-of-life/- Quality of Life application- Modern health and wellness platform with AI mentorship
- React, TypeScript, Tailwind CSS web application
- Medical appointment booking and educational content
# Recommended: clone with submodules
git clone --recurse-submodules git@github.com-personal:mkmad/computer-science.git
cd computer-science
# If already cloned without submodules
git submodule update --init --recursive# Optional: use a specific Python version if defined
pyenv install -s $(cat .python-version 2>/dev/null || echo 3.11.0)
pyenv local $(cat .python-version 2>/dev/null || echo 3.11.0)
# Install dependencies for specific projects
cd data-visualization && pip install -r requirements.txt
cd ../data-mining && pip install -r requirements.txt- Purpose: Course assignments and final project for data visualization
- Structure: Organized into assignments, documentation, and final project
- Quick Start:
cd data-visualization pip install -r requirements.txt python run_examples.py
- Purpose: Machine learning projects for diabetes management
- Structure: Datasets, projects (meal detection, time series, clustering), documentation
- Quick Start:
cd data-mining pip install -r requirements.txt python run_examples.py
- Purpose: Google Cloud Platform implementations and utilities
- Key Areas: App Engine, Cloud Run, Kubernetes, IAM, Networking, Security, AI/ML
- Usage: Each subdirectory contains specific GCP service implementations
- Submodules:
ai-ml/vertex-ai-mlops/- Comprehensive Vertex AI MLOps workflows and examples
- Purpose: Infrastructure as Code templates
- Usage: Deploy infrastructure using Terraform configurations
- Purpose: Canary deployment strategies for Cloud Run
- Usage: Traffic management and gradual rollouts
- Purpose: Comprehensive Vertex AI MLOps workflows and examples
- Content: AutoML, BigQuery ML, scikit-learn, TensorFlow, PyTorch, XGBoost, R implementations
- Usage: End-to-end machine learning operations on Google Cloud Platform
- Quick Start:
cd gcp/ai-ml/vertex-ai-mlops # Follow the setup instructions in the README
- Purpose: Modern health and wellness platform
- Content: AI health mentorship, medical appointment booking, educational content
- Tech Stack: React, TypeScript, Tailwind CSS, Framer Motion
- Quick Start:
cd quality-of-life npm install npm start
- Purpose: Comprehensive algorithm implementations and practice
- Coverage: LeetCode, Codility, CTCI, Dynamic Programming, Backtracking
- Usage: Reference implementations and practice problems
- Purpose: Cracking the Coding Interview solutions
- Structure: Chapter-wise organized solutions
- Usage: Interview preparation and algorithm practice
This repository uses Git submodules extensively. Here are the key submodules:
google-interview-university/- Interview preparation guidemachine-learning/- ML resources and materialsalgorithms/- Algorithm implementationsctci/- CTCI solutionspythonicStuff/- Python best practices
data-visualization/- Data visualization projectsdata-mining/- Machine learning projects
gcp/- Google Cloud Platform implementationsai-ml/vertex-ai-mlops/- Vertex AI MLOps workflows
terraform/- Infrastructure as Codecanary-bg/- Canary deploymentsgrafana_prometheus/- Monitoring and observability
databases/- Database courseworkDjango/- Django web applications
infosec/- Information securitykali/- Security toolsopen-vpn/- VPN implementations
python-grpc/- gRPC implementationsgws/- Google Workspace APIssre-interview-prep-guide/- SRE materials
quality-of-life/- Quality of life applicationdistributed-systems/- Distributed systems patterns
- Add a submodule
git submodule add <remote_url> <destination_folder>
git commit -m "Add submodule"- Update/initialize submodules
git submodule update --init --recursive- Update submodules to latest remote commits
git submodule foreach git fetch --all
git submodule foreach git checkout main || true
git submodule foreach git pull --ff-only || true- Remove a submodule
# 1) Edit .gitmodules and remove the entry
# 2) Stage the change
git add .gitmodules
# 3) Remove from git config
# 4) Untrack the submodule
git rm --cached path_to_submodule
# 5) Remove the submodule's git dir
rm -rf .git/modules/path_to_submodule
# 6) Commit and delete working tree files
git commit -m "Remove submodule"
rm -rf path_to_submodule- Manage nested submodules (e.g., submodules within submodules)
# Navigate to the parent submodule
cd gcp
# Update the nested submodule
git submodule update --remote ai-ml/vertex-ai-mlops
# Commit and push changes
git add ai-ml/vertex-ai-mlops
git commit -m "Update nested submodule"
git push origin main- Total Submodules: 20+ organized repositories
- Categories: 8 major areas of computer science
- Languages: Python, JavaScript, TypeScript, Terraform, SQL, R
- Cloud Platforms: Google Cloud Platform, AWS (via Terraform)
- Data Science: Visualization, Mining, Machine Learning
- Architecture: Microservices, Distributed Systems, MLOps
- Keep edits scoped and documented in the relevant folder
README.md - Match existing code style and avoid noisy reformatting
- Prefer small, focused commits with clear messages
- Update submodule references when making changes to submodules
Educational and personal reference material. Respect licenses of third-party materials and datasets included within subfolders.