Computer Sciences Challenges
Explore computer science challenges on Ewance to equip yourself with job-relevant skills for a variety of roles. Learn programming techniques and build technical skills with challenges on software development, algorithm design, system architecture, and more.
Most Popular
- StrategyBeginnerNew
Introduce XP Practices to a Legacy E-Commerce Codebase
Run a 6-week intervention with the 7-person checkout team. Week 1: baseline (current test coverage, defect-escape rate, story cycle time). Weeks 2-5: introduce TDD on all new co…
- Extreme Programming
- Test Driven Development
- Pair Programming
Agile Methods and Practices - DesignBeginnerNew
Greedy Delivery-Slot Assignment for a Munich Grocery Startup
Using the provided order history sample, rider roster, and manual dispatch baseline, design and implement a greedy slot-assignment algorithm in Python. The algorithm must (1) so…
- Greedy Algorithms
- Algorithm Analysis
- Python
Open coursework - CodeBeginnerNew
Design an Effort-Aware Bike Routing Feature for Lisbon
Working only from the provided materials — the Lisbon street-graph edges (lisbon-bike-graph), the matching node coordinates and elevations (lisbon-graph-nodes), the 50 origin-de…
- Graph Algorithms
- Dijkstra
- Algorithm Analysis
Open coursework - AnalysisBeginnerNew
Is the Optimal Vet-Scheduling Feature Computationally Tractable?
Working only from the materials provided — the product feature specification, the de-identified internal record of the customer request, a representative one-day appointment dat…
- Np Completeness
- Complexity Theory
- Algorithm Analysis
Open coursework Practice your coursework on real scenarios.
Every challenge is shaped from real-world context — not generic exercises. The work mirrors what your degree prepares you for.
Why Ewance
- CodeBeginnerNew
Containerize a Legacy Java Monolith and Move It to AWS ECS
Working only from the supplied materials — a representative module of the quoting application (`quote-engine-module`), a snapshot of the current web-server and routing configura…
- Containerization
- Docker
- AWS
Open coursework - DesignBeginnerNew
Add Constant Folding and Dead Code Elimination to a Teaching Compiler
Using the provided intermediate-representation specification, design and propose constant folding and dead code elimination as two intermediate-representation-to-intermediate-re…
- Intermediate Representation
- Constant Folding
- Dead Code Elimination
Open coursework - CodeBeginnerNew
Build a Source-to-Source Migration Tool for a Legacy API
Use Python's libcst (concrete syntax tree library) to parse customer code while preserving formatting. For each of the 14 transformations, write a CST visitor that matches the v…
- Abstract Syntax Trees
- Source To Source Transformation
- Python
Open coursework - CodeBeginnerNew
Build a Protein Structure Search and Visualization Tool
Build a FastAPI backend wrapping Foldseek's easy-search command, returning top-20 hits with alignment metadata. Build a React frontend with a structure upload widget and a 3D vi…
- Biomolecular Structure
- Bioinformatics
- Full Stack Development
Computational Biology and Health Informatics - Browse challenges
Explore role
Product Manager
Ship product that solves real user problems. Combine user research, prototyping, and stakeholder alignment to turn ambiguous briefs into measurable wins — the role at the centre of modern software teams.
- AnalysisBeginnerNew
Cache Configuration Study for a Memory-Bound Workload
Profile the existing inner loop on a workstation with perf to baseline L1/L2/L3 miss rates and miss latencies. Run the same loop through gem5's classic cache model under 6 confi…
- Caches
- Memory Subsystems
- Performance Modeling
Computer Architecture - DesignBeginnerNew
Sketch a Custom Gaussian-Blur Accelerator for a Smart-Camera Chip
Using the provided C reference implementation of the 5x5 Gaussian blur, work out a hardware datapath that produces one finished output pixel every clock cycle by sliding a 5x5 w…
- Hardware Accelerators
- Datapath Design
- Performance Modeling
Open coursework - AnalysisBeginnerNew
Instruction Set Analysis for an Embedded Workload
Compile all 12 workload programs to both ISAs using the appropriate cross-compiler (GCC with -march=rv32e for RISC-V; provided proprietary toolchain for the in-house ISA). Repor…
- Instruction Sets
- Code Density
- Embedded Systems
Computer Architecture - CodeBeginnerNew
Build a CPU-Only Teaching Rasterizer in C++
Using the provided test-scene model file and the reference render image, implement a software rasterizer in C++ that runs only on the central processor. Build the supporting mat…
- Rasterization
- Geometric Transformations
- 3d Rendering
Open coursework Build a verifiable portfolio.
Submissions become evidence. Reviewers with shipping experience score against a rubric; the result becomes a credential anyone can verify.
Why Ewance
- CodeBeginnerNew
Build a Reliable Transport Layer Over UDP
Implement in Go: connection establishment (3-way handshake), sequenced and acknowledged data segments, retransmission timer with exponential backoff, fast retransmit on triple d…
- Tcp Ip
- Reliable Transport
- Udp
Computer Networks - CodeBeginnerNew
Implement a Distance-Vector Routing Algorithm
Implement distance-vector routing in Python: each simulated router maintains a distance vector, exchanges vectors with neighbors every 1 second of simulated time, and updates it…
- Routing
- Distance Vector
- Network Simulation
Open coursework - AnalysisBeginnerNew
Exploit and Remediate Eight Web Flaws on a FinTech Practice Range
Using the eight challenge specifications in the provided challenge specification brief and the representative Rails module in the provided vulnerable application source bundle (…
- Web Security
- OWASP Top 10
- Penetration Testing
Open coursework - CodeBeginnerNew
Implement Authentication and Access Control for a Civic Portal
Receive the current Next.js + Express prototype, the data model (residents, requests, documents, audit log), and the 4 staff roles (resident, clerk, supervisor, auditor) with th…
- Authentication
- Authorization
- Rbac
Introduction to Computer Security - CodeBeginnerNew
Build a Secure-Coding Linter Ruleset for a Backend Team
Using the findings log, study the twelve documented security-review findings and confirm the three repeat patterns. Then build a custom linter ruleset — choose Semgrep or custom…
- Secure Coding
- Static Analysis
- Semgrep
Open coursework - CodeBeginnerNew
Reverse-Engineer a Stripped Binary to Restore Linking Symbols
Receive the stripped shared object (Linux ELF, x86-64, ~280KB), a crash dump with 12 frames of indecipherable addresses, and 4 years of partial git history with some related (bu…
- Reverse Engineering
- Linking And Loading
- Machine Code
Open coursework - CodeBeginnerNew
Implement a User-Space Shell with Process and Signal Handling
Implement a shell in C (no shell helpers, just POSIX system calls). Required features: read a line, parse it into commands + arguments, handle pipelines with arbitrary chain len…
- System Calls
- Process Management
- Signal Handling
Computer Systems and Organization - CodeBeginnerNew
Build an I/O Benchmarking Harness for an Edge Storage Appliance
Receive the appliance specs (4x 7.68TB Gen4 NVMe, ZFS, Linux kernel 5.15), the 3 target workload profiles (4KB random read at QD32, 1MB sequential write at QD8, mixed 70/30 read…
- Io Benchmarking
- Fio
- System Calls
Computer Systems and Organization - CodeBeginnerNew
Build a Bounded Concurrent Queue for a Microservice Worker Pool
Implement a bounded concurrent queue in Go (no third-party queue libraries; standard library + sync primitives only) that supports: Put(item) blocks when full, TryPut(item, time…
- Concurrent Data Structures
- Mutex And Condvar
- Go
Concurrent and Parallel Programming - CodeBeginnerNew
Diagnose and Fix a Deadlock in a Multi-Threaded Payments Service
Receive the service source (Java 21 + Spring Boot, around 30,000 lines), 4 thread dumps from production deadlocks, and a load harness that reproduces the bug roughly 1 in 50 run…
- Deadlock Analysis
- Locks And Monitors
- Java
Concurrent and Parallel Programming - CodeBeginnerNew
Implement Async Message-Passing for an IoT Gateway
Receive the current gateway source (Python 3.11, single-threaded paho-mqtt client + a serial HTTP forwarder, ~1,100 lines), a sensor-simulator that fans out 500 mock sensors at …
- Async Programming
- Message Passing
- Asyncio
Concurrent and Parallel Programming - CodeBeginnerNew
Design a Race-Free Cache for a Read-Heavy Service
Implement a thread-safe LRU-bounded cache in Java (or Go — your choice, defend it) with: read-write lock or copy-on-write semantics, get-or-load pattern with single-flight to de…
- Concurrent Data Structures
- Race Conditions
- Single Flight
Concurrent and Parallel Programming
How it works
From brief to credential, in six steps.
Step 01
Browse challenges aligned to your studies.
Step 02
Accept the one that fits your goals.
Step 03
Work through it with AI Copilot guidance.
Step 04
Submit for structured evaluation.
Step 05
Earn a verified credential.
Step 06
Add it to LinkedIn with one click.
Industry teams behind a decade of practitioner briefs
Hiring from this pool?
Sponsor a challenge and meet candidates through actual work.
Industry teams can shape briefs around the skills they hire for, then evaluate students on rubric-scored deliverables — not resumes.



















































































