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 - CodeFoundationalNew
Diagnose and Rebuild a Slow Recipe Search at a Marketplace Startup
Work only from the three items in the provided materials: the current search function, a representative sample of the recipe catalog, and the fixed set of representative queries…
- Algorithm Analysis
- Big O
- Data Structures
Open coursework - 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 - CodeIntermediateNew
Ship a Knapsack Battery Allocator for Farm Sensors
Using the device specification (device-spec), the sensing-mode table (sensing-modes), the month of simulated farm days (simulated-farm-days), and the reference greedy heuristic …
- Dynamic Programming
- Algorithm Analysis
- C Programming
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
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 - CodeSeniorNew
Min-Cost Max-Flow for Cloud Workload Placement
Receive 30 days of anonymized placement requests (workload CPU/memory shape, affinity rules), zone capacity per day, and cross-zone bandwidth costs. Model the placement as a min…
- Network Flows
- Algorithm Analysis
- Graph Algorithms
Advanced Algorithms - DesignSeniorNew
Provably Fair Approximation Algorithm for a Neobank On-Call Roster
Using the roster problem specification (roster-problem-spec), formalize the weekly on-call assignment as a constrained multi-week optimization problem, prove it is NP-hard by re…
- Approximation Algorithms
- Linear Programming
- Np Completeness
Open coursework - 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.
- AnalysisSeniorNew
Amortized-Analysis Investigation of a Production Telemetry Cache
Working only from the three provided materials — the de-identified incident record (incident-record), the representative cache source module (cache-source), and the recorded ope…
- Amortized Analysis
- Data Structures
- Algorithm Analysis
Open coursework - CodeIntermediateNew
Implement and Tune HyperLogLog for Trace-Stream Cardinality in Go
Working from the HyperLogLog paper (provided as a real source) and the provided representative trace sample, implement HyperLogLog from scratch in Go with no third-party algorit…
- Randomized Algorithms
- Sketching
- Algorithm Analysis
Open coursework - AnalysisIntermediateNew
Spectral Clustering Proposal for Customer Segmentation at Cadence
Using the provided customer usage sample, construct a similarity graph (k-nearest-neighbors with k=15 and Gaussian radial-basis-function edge weights), compute the normalized gr…
- Spectral Methods
- Linear Algebra
- Algorithm Analysis
Open coursework - CodeIntermediateNew
Prove a gRPC Migration for a Kubernetes Control-Plane API
Examine three things: the captured control-plane traffic record (`traffic-7d`), the current REST API specification (`openapi-spec`), and the representative Go service module (`g…
- Grpc
- Protobuf
- API Design
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
- CodeSeniorNew
Implement a Proof-of-Stake Consensus Mechanism in Rust
Read the Casper FFG paper (Buterin + Griffith, 2017) and design a simplified PoS implementation in Rust: 21 validators, 32-slot epochs, two-phase finality (justify, then finaliz…
- Consensus Algorithms
- Blockchain Protocols
- Rust
Blockchain and Decentralized Systems Engineering - DesignSeniorNew
Multi-Region Active-Active Architecture for a Gaming Backend
Read the current architecture (single-region: ECS + RDS Aurora + Redis + S3) and traffic mix (around 60 percent APAC, 25 percent NA, 15 percent EU). Design a 3-region active-act…
- Multi Region Architecture
- AWS
- Terraform
Cloud Computing - DesignIntermediateNew
Stand Up a Self-Service Developer Platform on Backstage
Read the company case file, the squad-and-service inventory, and the Platform v1 postmortem, and consult the official Backstage software-templates documentation for the mechanic…
- Internal Developer Platform
- Backstage
- Terraform
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 - CodeIntermediateNew
Design Error Recovery for a Friendly Compiler
Read the existing parser (recursive-descent, in Rust). Design and implement a panic-mode error recovery strategy with synchronization tokens (statement boundary, end of block, s…
- Error Recovery
- Recursive Descent Parsing
- Diagnostic Design
Compiler Construction - CodeIntermediateNew
Compile a C-Like Subset to WebAssembly for a Game Runtime
Using the studio runtime constraints brief, the five example scripts, and the runtime host harness declared in the provided materials, build a command-line compiler that reads o…
- Code Generation
- Webassembly
- Intermediate Representation
Open coursework - CodeIntermediateNew
Implement an SSA-Based Sparse Conditional Constant Propagation Pass
Read the IR specification (SSA form, phi nodes, typed values). Implement SCCP as a single combined worklist algorithm operating on the SSA lattice (top / constant / bottom) and …
- Static Single Assignment
- Dataflow Analysis
- Constant Propagation
Open coursework - DesignSeniorNew
Design an AVX-512 Vectorization Proposal for a Hot Simulation Kernel
Working only from the provided scalar kernel module, the benchmark dataset, the profiling readout, and the target-environment brief, propose and justify a vectorization design f…
- Vectorization
- Llvm
- Loop Optimization
Open coursework - CodeSeniorNew
Design a Polyhedral Loop-Tiling Strategy for a Tensor DSL
Study the DSL's IR (provided, MLIR-based with linalg-style ops). Choose a tiling strategy (rectangular tiling with cost-modeled tile sizes is the safe baseline; full polyhedral …
- Polyhedral Analysis
- Loop Tiling
- Mlir
Advanced Compilers and Program Optimization - DesignIntermediateNew
Add Profile-Guided Optimization to a Production JavaScript Bundler
Design and implement a profile-guided optimization workflow for the bundler using Rust's LLVM-based PGO: an instrumented build, a training run over the eight-project benchmark c…
- Profile Guided Optimization
- Llvm
- Benchmarking
Open coursework - ResearchIntermediateNew
Differential Fuzzing Campaign on a Production C Compiler Backend
Using the incident case file and the campaign scope brief, stand up a Csmith-based generator that produces at least 200,000 random but valid C programs across the two-week windo…
- Fuzzing
- Differential Testing
- Test Case Minimization
Open coursework - 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
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.



















































































