Computer Science project ideas
100 projects, from a first build to a final-year capstone. Each lists the skills it teaches and the tools it needs; times and costs are estimates.
Beginner projects
- Visual Algorithm Explorer — Animate sorting and searching algorithms step by step with comparison and swap counters for any input array. Skills: sorting algorithms, complexity, animation. Tools: JavaScript, Canvas/SVG. Visualizer, Up to 15 h, Software only (free tools).
- Offline-First Study App — Build a flashcard app that works without internet, stores progress locally and syncs when a connection returns. Skills: local storage, service workers, sync. Tools: TypeScript, IndexedDB, PWA. Workflow, Up to 15 h, Software only (free tools).
- Personal Budget Tracker CLI — Record income and expenses from the command line, categorise them and print monthly summaries. Skills: file I/O, data structures, CLI design. Tools: Python, CSV. Workflow, Up to 15 h, Software only (free tools).
- Graph Pathfinding Lab — Compare BFS, Dijkstra and A* on an editable grid with walls and weights, showing explored cells. Skills: graph search, heuristics, priority queues. Tools: JavaScript, Canvas. Visualizer, Up to 15 h, Software only (free tools).
- Version-Control Visualizer — Show commits, branches and merges of a repository as an interactive graph you can step through. Skills: Git internals, DAGs, graph layout. Tools: Git, D3.js. Visualizer, Up to 15 h, Software only (free tools).
- Password Strength Checker — Score passwords by entropy, dictionary words and patterns, explaining every penalty to the user. Skills: entropy, string analysis, security basics. Tools: Python/JavaScript. Visualizer, Up to 15 h, Software only (free tools).
- Tic-Tac-Toe With Minimax AI — Make an unbeatable tic-tac-toe opponent using minimax and show the game tree it explores. Skills: recursion, game trees, minimax. Tools: Python/JavaScript. Simulator, Up to 15 h, Software only (free tools).
- URL Shortener Service — Create short links with a hash-based ID, redirect visitors and count clicks per link. Skills: hashing, REST APIs, persistence. Tools: Node.js/Flask, SQLite. Workflow, Up to 15 h, Software only (free tools).
- Markdown Notes Web App — Write notes in Markdown with live preview, tags and full-text search in the browser. Skills: DOM, parsing, local search. Tools: JavaScript, marked. Workflow, Up to 15 h, Software only (free tools).
- Binary Number Converter Trainer — Practise conversions between binary, hex and decimal with instant feedback and timed rounds. Skills: number systems, bit operations, UI feedback. Tools: JavaScript. Visualizer, Up to 15 h, Software only (free tools).
- Weather CLI From a Public API — Fetch a forecast from an open weather API, cache responses and format a readable report. Skills: HTTP requests, JSON, caching. Tools: Python, requests. Workflow, Up to 15 h, Software only (free tools).
- Text Adventure Game Engine — Build a data-driven text adventure where rooms, items and puzzles are loaded from a JSON file. Skills: state machines, data-driven design, parsing. Tools: Python. Simulator, Up to 15 h, Software only (free tools).
- Linked List Visual Playground — Insert, delete and reverse nodes in a linked list while the pointers animate on screen. Skills: pointers, linked lists, visualisation. Tools: JavaScript, SVG. Visualizer, Up to 15 h, Software only (free tools).
- Matrix Operations Calculator — Implement addition, multiplication, transpose and determinant with step-by-step output. Skills: 2D arrays, algorithms, numerical care. Tools: Python/Java. Visualizer, Up to 15 h, Software only (free tools).
- Simple Chat Server — Let several clients chat through a TCP socket server that broadcasts messages and usernames. Skills: sockets, concurrency basics, protocols. Tools: Python sockets. Workflow, Up to 15 h, Software only (free tools).
- Recursion Tree Visualizer — Draw the call tree of recursive functions like Fibonacci and show where memoisation saves work. Skills: recursion, memoisation, call stacks. Tools: JavaScript, D3. Visualizer, Up to 15 h, Software only (free tools).
- File Organizer Script — Sort a messy folder into subfolders by type and date with a dry-run preview and undo log. Skills: filesystem APIs, scripting, safety checks. Tools: Python. Workflow, Up to 15 h, Software only (free tools).
- Quiz Game With Leaderboard — Build a timed quiz with a persistent leaderboard and question bank editor. Skills: CRUD, sorting, persistence. Tools: JavaScript, localStorage. Workflow, Up to 15 h, Software only (free tools).
- Conway's Game of Life — Simulate cellular automata on a toroidal grid with pattern presets and generation stepping. Skills: 2D arrays, simulation, emergent behaviour. Tools: JavaScript, Canvas. Simulator, Up to 15 h, Software only (free tools).
- Calculator With Expression Parser — Parse and evaluate arithmetic expressions with precedence and brackets using the shunting-yard algorithm. Skills: tokenising, parsing, stacks. Tools: Python/JavaScript. Visualizer, Up to 15 h, Software only (free tools).
- Hangman With Word Statistics — Play hangman and show letter-frequency hints computed from the word list. Skills: string handling, frequency counting, game loop. Tools: Python. Simulator, Up to 15 h, Software only (free tools).
- Stopwatch and Pomodoro Timer — Build a precise timer app that survives tab sleep and records focus sessions. Skills: timers, drift correction, state. Tools: JavaScript. Workflow, Up to 15 h, Software only (free tools).
- Image Grayscale and Blur Filters — Apply grayscale, box blur and edge detection to images by processing raw pixel arrays. Skills: pixel arrays, convolution, image basics. Tools: Python/Canvas. Visualizer, Up to 15 h, Software only (free tools).
- Library Book Catalogue — Model books, members and loans with a small relational schema and query due dates. Skills: SQL basics, schema design, joins. Tools: SQLite. Data lab, Up to 15 h, Software only (free tools).
- Hash Table From Scratch — Implement a hash map with chaining, measure load factor and visualise collisions as it grows. Skills: hashing, collisions, amortised resizing. Tools: C/Python. Visualizer, Up to 15 h, Software only (free tools).
Intermediate projects
- Personal Knowledge Search Engine — Index your notes with an inverted index and rank results with TF-IDF, showing why each result matched. Skills: inverted indexes, TF-IDF, ranking. Tools: Python, SQLite. Data lab, 15–45 h, Software only (free tools).
- Compiler Front End — Write a lexer and recursive-descent parser for a small language and output an abstract syntax tree. Skills: lexing, parsing, ASTs. Tools: Python/Rust. Visualizer, 15–45 h, Software only (free tools).
- Mini Operating-System Scheduler — Simulate FCFS, SJF, round-robin and priority scheduling with Gantt charts and waiting-time metrics. Skills: CPU scheduling, queues, metrics. Tools: Python/JavaScript. Simulator, 15–45 h, Software only (free tools).
- Network Packet Visualizer — Capture packets and show protocol layers, flows and handshakes in a readable timeline. Skills: TCP/IP, packet parsing, visualisation. Tools: Scapy/Wireshark, Python. Visualizer, 15–45 h, Software only (free tools).
- Secure File Vault — Encrypt files with authenticated encryption, derive keys from a passphrase and verify integrity on open. Skills: AES-GCM, key derivation, integrity. Tools: Python cryptography. Workflow, 15–45 h, Software only (free tools).
- Collaborative Whiteboard — Let several users draw on one canvas in real time over WebSockets with conflict-free merging. Skills: WebSockets, real-time sync, CRDT basics. Tools: Node.js, WebSockets. Workflow, 15–45 h, Software only (free tools).
- API Observability Dashboard — Collect latency, error rate and throughput from an API and chart percentiles and alerts. Skills: metrics, percentiles, alerting. Tools: Prometheus/Grafana or custom. Dashboard, 15–45 h, $30–150.
- Container Resource Monitor — Track CPU, memory and I/O per container and highlight noisy neighbours over time. Skills: containers, cgroups, monitoring. Tools: Docker, Python. Dashboard, 15–45 h, Software only (free tools).
- Code Quality Analyzer — Parse source files to report cyclomatic complexity, duplication and long functions with a score. Skills: AST analysis, metrics, static analysis. Tools: Python ast. Data lab, 15–45 h, Software only (free tools).
- Accessible UI Audit Tool — Scan web pages for contrast, alt text, heading order and keyboard traps with a fix list. Skills: WCAG, DOM traversal, accessibility. Tools: JavaScript, Puppeteer. Workflow, 15–45 h, Software only (free tools).
- Bloom Filter Spell Checker — Check spelling with a Bloom filter and measure false-positive rate against theory. Skills: probabilistic data structures, hashing, error rates. Tools: Python. Data lab, 15–45 h, Software only (free tools).
- LRU Cache Web Proxy — Build an HTTP caching proxy with LRU eviction and report hit ratio under different workloads. Skills: caching, HTTP, eviction policies. Tools: Python/Go. Dashboard, 15–45 h, Software only (free tools).
- Huffman Compression Tool — Compress and decompress files with Huffman coding and compare ratios with zip. Skills: greedy algorithms, trees, bit packing. Tools: Python/C. Data lab, 15–45 h, Software only (free tools).
- Ray Tracer — Render spheres and planes with shadows, reflections and anti-aliasing from first principles. Skills: vector maths, rendering, recursion. Tools: C++/Rust. Visualizer, 15–45 h, Software only (free tools).
- Mini Relational Database Engine — Store tables in pages, support select/insert and a B-tree index, and compare indexed vs full scans. Skills: storage engines, B-trees, query execution. Tools: C/Python. Simulator, 15–45 h, Software only (free tools).
- Rate Limiter Service — Implement token-bucket and sliding-window limiters and load-test their behaviour. Skills: rate limiting, concurrency, load testing. Tools: Go/Node.js, Redis. Simulator, 15–45 h, Software only (free tools).
- Web Crawler With Politeness — Crawl a site respecting robots.txt and rate limits, deduplicating URLs and storing a link graph. Skills: crawling, queues, deduplication. Tools: Python. Data lab, 15–45 h, Software only (free tools).
- Event-Sourced Todo Backend — Store every change as an event, rebuild state by replay and support time-travel queries. Skills: event sourcing, projections, persistence. Tools: Node.js/Python, SQLite. Workflow, 15–45 h, Software only (free tools).
- Spreadsheet Formula Engine — Evaluate cell formulas with dependency graphs and recompute only what changed. Skills: dependency graphs, topological sort, parsing. Tools: TypeScript. Simulator, 15–45 h, Software only (free tools).
- Pixel Art Sprite Editor — Build a layered sprite editor with undo history, palettes and animation preview. Skills: undo stacks, canvas rendering, state. Tools: JavaScript, Canvas. Workflow, 15–45 h, Software only (free tools).
- Chess Move Generator — Generate legal chess moves with bitboards and verify them using perft counts. Skills: bitboards, move generation, testing. Tools: C++/Rust. Simulator, 15–45 h, Software only (free tools).
- Regex Engine — Compile regular expressions to an NFA, simulate it and visualise matching. Skills: automata, Thompson construction, matching. Tools: Python/TypeScript. Visualizer, 15–45 h, Software only (free tools).
- Load Balancer Simulator — Compare round-robin, least-connections and consistent hashing as servers join and fail. Skills: load balancing, consistent hashing, simulation. Tools: Python. Simulator, 15–45 h, Software only (free tools).
- Typing Speed Analytics — Measure keystroke timing to find slow letter pairs and generate targeted practice drills. Skills: event timing, analytics, data visualisation. Tools: JavaScript. Dashboard, 15–45 h, Software only (free tools).
- Sudoku Solver With Constraint Propagation — Solve Sudoku using backtracking plus constraint propagation and show search statistics. Skills: backtracking, constraint propagation, search. Tools: Python/JavaScript. Visualizer, 15–45 h, Software only (free tools).
Advanced projects
- Database Query Planner — Estimate costs of join orders and access paths for SQL queries and explain the chosen plan. Skills: query optimisation, cardinality estimation, joins. Tools: Python, SQL parser. Simulator, 45–100 h, Software only (free tools).
- Distributed Key-Value Store — Replicate keys across nodes with Raft consensus and survive node failures without losing writes. Skills: consensus, replication, fault tolerance. Tools: Go/Rust. Simulator, 45–100 h, Software only (free tools).
- Privacy-Preserving Identity Demo — Prove an age or membership claim without revealing the full identity using signed selective disclosure. Skills: digital signatures, selective disclosure, privacy. Tools: Python/TypeScript crypto libs. Workflow, 45–100 h, Software only (free tools).
- Static Vulnerability Scanner — Find injection and unsafe-deserialisation patterns with taint analysis over an AST. Skills: taint analysis, data flow, security. Tools: Python ast/tree-sitter. Data lab, 45–100 h, Software only (free tools).
- Multiplayer Simulation Server — Run an authoritative game server with client prediction, lag compensation and state snapshots. Skills: networking, latency compensation, simulation. Tools: Node.js/Go, WebSockets. Simulator, 45–100 h, Software only (free tools).
- Workflow Automation Engine — Execute DAG workflows with retries, timeouts and resumable state after a crash. Skills: DAG execution, idempotency, persistence. Tools: Python/Go. Workflow, 45–100 h, Software only (free tools).
- Distributed Job Queue — Schedule jobs across workers with at-least-once delivery, visibility timeouts and dead-letter handling. Skills: message queues, delivery guarantees, scaling. Tools: Redis/PostgreSQL, Go. Workflow, 45–100 h, Software only (free tools).
- Document Retrieval System — Build hybrid keyword plus vector retrieval and evaluate it with precision and recall on labelled queries. Skills: information retrieval, embeddings, evaluation. Tools: Python, FAISS. Data lab, 45–100 h, Software only (free tools).
- Test Generation Assistant — Generate unit tests from function signatures with property-based testing and report coverage gains. Skills: property-based testing, coverage, test design. Tools: Python Hypothesis. Workflow, 45–100 h, Software only (free tools).
- Garbage Collector Implementation — Implement mark-sweep and copying collectors for a toy runtime and measure pause times. Skills: memory management, GC algorithms, profiling. Tools: C. Simulator, 45–100 h, Software only (free tools).
- Bytecode Virtual Machine — Compile a small language to bytecode and run it on a stack VM with a disassembler. Skills: bytecode, stack machines, code generation. Tools: C/Rust. Simulator, 45–100 h, Software only (free tools).
- Peer-to-Peer File Sharing — Share files between peers with chunking, hashing and a DHT for discovery. Skills: DHTs, P2P networking, integrity. Tools: Python/Go. Workflow, 45–100 h, Software only (free tools).
- Log-Structured Merge Tree Store — Build an LSM-tree with memtables, SSTables, compaction and Bloom filters, and benchmark writes. Skills: LSM trees, compaction, storage benchmarking. Tools: Rust/Go. Simulator, 45–100 h, Software only (free tools).
- Real-Time Collaborative Code Editor — Build a shared editor with operational transforms or CRDTs and presence cursors. Skills: CRDT/OT, real-time systems, consistency. Tools: TypeScript, WebSockets. Workflow, 45–100 h, Software only (free tools).
- Feature Flag Service — Roll features out by percentage and user segment with audit logs and instant kill switches. Skills: config management, consistency, rollout strategies. Tools: Go/Node.js, Redis. Dashboard, 45–100 h, Software only (free tools).
- Distributed Tracing Collector — Collect spans from microservices, assemble traces and highlight the critical path. Skills: distributed tracing, span assembly, latency analysis. Tools: OpenTelemetry, Go. Dashboard, 45–100 h, Software only (free tools).
- Type Checker for a Small Language — Add Hindley-Milner style type inference to a toy language with helpful error messages. Skills: type inference, unification, compilers. Tools: OCaml/Python. Simulator, 45–100 h, Software only (free tools).
- Search Autocomplete Service — Serve ranked prefix completions from a trie with popularity weighting under heavy load. Skills: tries, ranking, low latency. Tools: Go/Java. Dashboard, 45–100 h, Software only (free tools).
- Recommendation Engine for Courses — Recommend courses with collaborative filtering and evaluate with offline hit rate. Skills: collaborative filtering, matrix factorisation, evaluation. Tools: Python. Data lab, 45–100 h, Software only (free tools).
- Incident Postmortem Analyzer — Mine incident reports for recurring causes and time-to-recover trends. Skills: text mining, clustering, reliability metrics. Tools: Python, pandas. Data lab, 45–100 h, Software only (free tools).
- Web Application Firewall Prototype — Inspect HTTP requests against rules, block common attacks and measure false positives. Skills: request parsing, rule engines, security testing. Tools: Go/Python. Workflow, 45–100 h, Software only (free tools).
- Time-Series Database Engine — Store metrics with delta-of-delta compression and run downsampling queries efficiently. Skills: compression, time-series storage, query design. Tools: Rust/Go. Data lab, 45–100 h, Software only (free tools).
- Container Orchestrator Mini — Schedule containers onto nodes by resource requests and restart them on failure. Skills: scheduling, health checks, orchestration. Tools: Go, Docker. Simulator, 45–100 h, Software only (free tools).
- Program Slicer and Debugger — Compute backward slices to show which statements influenced a buggy value. Skills: program analysis, data dependence, debugging. Tools: Python ast. Visualizer, 45–100 h, Software only (free tools).
- Secure Messaging Protocol Lab — Implement end-to-end encryption with forward secrecy and verify keys with safety numbers. Skills: key exchange, forward secrecy, protocol design. Tools: Python/TypeScript crypto. Workflow, 45–100 h, Software only (free tools).
Expert projects
- Backup Integrity Verifier — Verify large backups with content-defined chunking and Merkle proofs without rereading everything. Skills: Merkle trees, chunking, integrity proofs. Tools: Rust/Go. Workflow, 100 h+, Software only (free tools).
- Sandboxed Plugin Runtime — Run untrusted plugins in WebAssembly with capability-based permissions and resource limits. Skills: WebAssembly, sandboxing, capabilities. Tools: Rust, Wasmtime. Workflow, 100 h+, Software only (free tools).
- Deterministic Replay Debugger — Record nondeterministic inputs of a program and replay its execution exactly to reproduce bugs. Skills: record-replay, determinism, debugging. Tools: C/Rust. Simulator, 100 h+, Software only (free tools).
- Formal Verification of a Protocol — Model a distributed protocol in TLA+ and find safety violations with model checking. Skills: formal methods, model checking, invariants. Tools: TLA+, TLC. Simulator, 100 h+, Software only (free tools).
- JIT Compiler for an Expression Language — Generate native machine code at runtime for hot expressions and measure speedups. Skills: JIT compilation, code generation, profiling. Tools: C/Rust. Simulator, 100 h+, Software only (free tools).
- Byzantine Fault-Tolerant Ledger — Implement PBFT-style agreement and show tolerance to malicious replicas. Skills: BFT consensus, adversarial models, replication. Tools: Go/Rust. Simulator, 100 h+, Software only (free tools).
- Query Engine on Columnar Data — Execute vectorised queries over a columnar format and compare with row-based execution. Skills: vectorised execution, columnar formats, benchmarking. Tools: Rust/C++, Arrow. Data lab, 100 h+, Software only (free tools).
- Differential Privacy Analytics Service — Answer aggregate queries with calibrated noise and track a privacy budget per user. Skills: differential privacy, noise mechanisms, budgeting. Tools: Python. Data lab, 100 h+, Software only (free tools).
- Automated Program Repair Prototype — Generate and validate candidate patches for failing tests using search over edits. Skills: program repair, search, test oracles. Tools: Python. Workflow, 100 h+, Software only (free tools).
- Kernel Module for Packet Filtering — Write a kernel-level packet filter with eBPF and measure its throughput impact. Skills: eBPF, kernel networking, performance. Tools: Linux, eBPF, C. Dashboard, 100 h+, Software only (free tools).
- Concurrency Bug Detector — Detect data races with vector-clock happens-before analysis on program traces. Skills: race detection, vector clocks, tracing. Tools: C/Go. Data lab, 100 h+, Software only (free tools).
- Self-Adaptive Autoscaler — Scale services with a model-predictive policy and compare cost and SLA violations with threshold rules. Skills: autoscaling, control theory, cost modelling. Tools: Python, Kubernetes metrics. Simulator, 100 h+, Software only (free tools).
- Homomorphic Encryption Calculator — Compute sums and averages on encrypted values and measure the performance cost. Skills: homomorphic encryption, privacy, performance. Tools: Python, SEAL/TenSEAL. Data lab, 100 h+, Software only (free tools).
- Distributed Graph Processing Engine — Run PageRank on a partitioned graph with a Pregel-style superstep model. Skills: graph processing, partitioning, BSP. Tools: Go/Python. Simulator, 100 h+, Software only (free tools).
- Software Supply-Chain Attestation — Sign build artifacts, record provenance and verify them before deployment. Skills: provenance, signing, supply-chain security. Tools: Sigstore/in-toto concepts, CI. Workflow, 100 h+, Software only (free tools).
- Quantum Algorithm Simulator — Simulate qubits and run Grover's and Deutsch-Jozsa algorithms with state-vector visualisation. Skills: linear algebra, quantum gates, simulation. Tools: Python, NumPy. Visualizer, 100 h+, Software only (free tools).
- Learned Index Structure — Replace a B-tree lookup with a learned model and compare memory and latency. Skills: learned indexes, regression, benchmarking. Tools: Python/C++. Data lab, 100 h+, Software only (free tools).
- Edge CDN Simulator — Simulate content placement across edge nodes and optimise cache hit rate under real traces. Skills: caching theory, simulation, optimisation. Tools: Python. Simulator, 100 h+, Software only (free tools).
- Fuzzing Harness for a Parser — Fuzz a file parser with coverage guidance and triage unique crashes. Skills: fuzzing, coverage, crash triage. Tools: AFL++/libFuzzer. Workflow, 100 h+, Software only (free tools).
- Energy-Aware Mobile Scheduler — Schedule background tasks on a phone to minimise battery use while meeting deadlines. Skills: energy modelling, scheduling, mobile systems. Tools: Android/Kotlin. Simulator, 100 h+, Software only (free tools).
- Verifiable Voting System Prototype — Design a voting demo with end-to-end verifiability and receipt-free ballots, analysing its threats. Skills: cryptographic voting, threat modelling, verifiability. Tools: Python crypto. Workflow, 100 h+, Software only (free tools).
- Federated Search Across Silos — Query several private indexes without centralising data and merge rankings fairly. Skills: federated search, rank fusion, privacy. Tools: Python. Data lab, 100 h+, Software only (free tools).
- Persistent Memory Data Structures — Build crash-consistent data structures and test recovery after injected crashes. Skills: crash consistency, persistence, testing. Tools: C/Rust. Simulator, 100 h+, Software only (free tools).
- Code Clone Detection at Scale — Detect near-duplicate functions across a large codebase with AST fingerprints and LSH. Skills: clone detection, LSH, AST hashing. Tools: Python. Data lab, 100 h+, Software only (free tools).
- Self-Healing Microservice Mesh — Detect failing services and reroute, retry or circuit-break automatically with chaos tests. Skills: resilience patterns, chaos engineering, service mesh. Tools: Kubernetes, Envoy concepts. Digital twin, 100 h+, Software only (free tools).