StudyLings

14 interactive self-study projects unified under a shared Python framework.
Learn by doing — fill in the blanks, fix the code, watch it pass.

14
Projects
854
Exercises
190
Chapters
6
Languages

GitHub →

Quick Start

# Clone the suite
git clone https://github.com/GeoffreyWang1117/StudyLings.git
cd StudyLings

# Install shared framework
pip install -e .

# Pick a project and start learning
cd Gen-AI-Study
python -m genailings              # show banner + next exercise
python -m genailings list          # browse all exercises
python -m genailings run           # run next incomplete exercise
python -m genailings watch         # auto-rerun on file save

# View aggregate progress across all 14 projects
cd .. && python -m studylings     # suite dashboard

All Projects

Each project has the same CLI interface — learn one, know them all.

Economlings

Python
Interactive economics from supply & demand to DSGE models.
100 exercises10 chapters
Chapters Basics, Microeconomics, Macroeconomics, Finance, Econometrics, Advanced Models, International, Public, Behavioral, Development

Physicslings

Python
Classical mechanics to quantum field theory, with simulations.
100 exercises8 chapters
Chapters Classical Mechanics, Oscillations & Waves, Electromagnetism, Thermodynamics, Special Relativity, General Relativity, Quantum Mechanics, Advanced Quantum

Genlings

Python
Generative AI algorithms: Transformers, GANs, Diffusion, CLIP, LoRA.
68 exercises13 chapters
Chapters Basics, Text Generation, Attention, Transformer, GPT, Image Generation, VAE, GAN, Diffusion, Multimodal, CLIP, Stable Diffusion, LLM Advanced

Algolings

Python
132 classic algorithms: GC, concurrency, crypto, compilers, ML.
132 exercises14 chapters
Chapters GC & Memory, Memory Models, Concurrency, OS Algorithms, Compiler, Distributed Systems, Cryptography, Database, Rate Limiting, String Algorithms, Stream Processing, Graph Algorithms, Data Structures, ML Fundamentals

Cudalings

CUDA C++
GPU programming from hello-kernel to ray tracing & ML operators.
105 exercises29 chapters
Chapters Intro, Kernels, Threads, Memory, Shared Memory, Sync, Optimization, Streams, Advanced, Algorithms, Image Processing, Deep Learning, Scientific Computing, Multi-GPU, Tensor Cores, CUDA Graphs, Cooperative Groups, Profiling, Libraries, Dynamic Parallelism, Projects, Unified Memory, Warp Primitives, Graph Algorithms, Sparse Matrices, Molecular Dynamics, Ray Tracing, Video Processing, ML Operators

ADM Algorithms

C++
Algorithm Design Manual exercises: sorting, graphs, DP, geometry, NP.
68 exercises15 chapters
Chapters Analysis, Data Structures, Sorting, Graph Traversal, Weighted Graphs, Combinatorial, Dynamic Programming, Greedy, Strings, Geometry, NP-Complete, Divide & Conquer, Randomized, Advanced Graphs, Number Theory

Sutton RL

Python
Reinforcement learning: bandits to RLHF, following Sutton & Barto.
54 exercises20 chapters
Chapters Bandits, DP, Monte Carlo, TD, N-Step, Planning, Approximation, Control, Off-Policy, Eligibility, Policy Gradient, Advanced, Exploration, Model-Based, Multi-Agent, Hierarchical, Imitation, Inverse RL, Offline RL, RLHF

ODSlings

Python
Open Data Structures: arrays, trees, heaps, graphs, sorting.
48 exercises12 chapters
Chapters Intro, Arrays, Lists, Stacks & Queues, Hash Tables, Trees, Heaps, Graphs, Sorting, Advanced, Advanced Structures, Specialized Structures

Debuglings

C
Learn GDB/LLDB debugging: breakpoints, threads, core dumps, linker.
39 exercises13 levels
Chapters Basics, Breakpoints, Execution, Variables, Call Stack, Threads, Memory, Core Dump, Advanced, Data Structures, Pointers, Memory Layout, Linker

Quantumlings

Python
Quantum computing with Qiskit: qubits to error correction & QML.
34 exercises8 chapters
Chapters Intro, Entanglement, Algorithms, Error Correction, Variational, NISQ, Frontiers, Advanced

Asynclings

TypeScript
Asynchronous programming: callbacks, Promises, async/await, concurrency.
30 exercises7 chapters
Chapters Basics, Promises, Async/Await, Error Handling, Concurrent, Advanced, Applications

JAXlings

Python
JAX framework: arrays, transformations, neural networks, parallelism.
30 exercises10 chapters
Chapters Intro, Arrays, Transformations, Neural Networks, Advanced, Random, PyTrees, Control Flow, Parallel, Deep Learning

MPlings

C++
Multi-processor programming: locks, consensus, concurrent data structures.
26 exercises11 chapters
Chapters Basics, Mutual Exclusion, Concurrent Objects, Foundations, Synchronization, Consensus, Spin Locks, Monitors, Linked Lists, Queues, Stacks

Vulkanlings

C++
Vulkan graphics API: instance to lighting, ending with a triangle.
20 exercises20 chapters
Chapters Intro, Instance, Physical Device, Logical Device, Surface, Swapchain, Image Views, Render Pass, Pipeline, Framebuffers, Command Buffers, Sync, Triangle, Vertex Buffers, Index Buffers, Uniforms, Textures, Depth, Model Loading, Lighting

Unified CLI

Every project responds to the same 9 commands.

list

Browse all exercises grouped by chapter

run [name]

Run a specific exercise (or next incomplete)

next

Run the next incomplete exercise

verify [name]

Validate one or all exercises

watch [name]

Auto-rerun on file save, auto-advance

hint <name>

Progressive hints per exercise

progress

Per-chapter progress bars

solution <name>

View reference solution with syntax highlighting

reset [--all]

Reset progress for one or all exercises

Architecture

StudyLings/ ├── studylings/ # Shared core framework ├── cli.py # 9 unified Click commands ├── exercise.py # Discovery & metadata (.py/.cpp/.cu/.ts/.c) ├── checker.py # 3 pluggable validators ├── progress.py # Unified JSON progress tracking ├── watcher.py # File watch with auto-advance └── ui.py # Rich terminal output├── Gen-AI-Study/ # Each project = thin config wrapper ├── genailings/ │ ├── config.py # ProjectConfig(name, chapters, mode, ...) │ └── __main__.py # studylings.cli.main(config) └── exercises/ # 68 exercises unchanged │ ├── ... 13 more projects ... │ └── docs/index.html # This page (GitHub Pages)

Three Validation Modes

test_file

External test files validate exercise functions. Used by Economlings.
# tests/test_intro1.py
TESTS = [{"func_name": "calculate_gdp",
          "args": (100, 50),
          "expected": 150}]

verify_func

Embedded verify() + # I AM NOT DONE markers. Used by 9 projects.
# I AM NOT DONE
def verify():
    assert create_qubit().num_qubits == 1
    return True

compile_and_run

Check markers → cmake/make → execute. Used by C/C++/CUDA projects.
// TODO: Create Vulkan instance
VkResult result = /* ??? */;
printf("TEST_PASSED\n");