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
- 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 - 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 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
- 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 - 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 - 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.
- 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 - AnalysisIntermediateNew
Branch Predictor Study for a Cryptocurrency Hashing Library
Profile the hot inner loop with perf record + perf annotate to identify the 5 highest-frequency branches. Measure per-branch mispredict counts using perf counters (BR_MISP_RETIR…
- Branch Prediction
- Performance Counters
- Benchmarking
Open coursework - AnalysisIntermediateNew
GPU Roofline Model Study for a Computer Vision Inference Workload
Construct empirical roofline plots for the current GPU (A100-class) and next-gen GPU (H100-class) using vendor-published peak FLOPs and measured peak memory bandwidth. Profile t…
- Gpu Architecture
- Roofline Model
- Performance Modeling
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
- CodeIntermediateNew
Out-of-Order Execution Microbenchmark Suite
Design and implement 6 microbenchmarks: ROB capacity probe (varying chain length), load-store queue probe, branch mispredict cost probe, ILP saturation probe, store-to-load forw…
- Out Of Order Execution
- Performance Counters
- Benchmarking
Advanced Computer Architecture - CodeIntermediateNew
Implement Shadow Mapping in a Toy Game Engine
Add a directional-shadow-map render pass to the engine: render the scene depth from the light's perspective into a 2K depth texture, then sample it during the main pass to atten…
- Shading And Lighting
- Gpu Pipeline
- Shadow Mapping
Open coursework - AnalysisIntermediateNew
Measure HTTP/3 vs HTTP/2 Video Delivery Over Cellular
Using the architecture brief, the four-week quality-of-experience dataset, the cellular-and-video-profiles specification, and the starter synthetic-client harness module (all pr…
- Quic Http3
- Network Measurement
- Transport Protocols
Open coursework - CodeIntermediateNew
Apply Software Transactional Memory to a Real-Time Auction Book
Implement two variants of the same auction-book API (best-bid/best-ask lookup, place-order, cancel-order, match-orders): (1) baseline with java.util.concurrent locks + a SkipLis…
- Transactional Memory
- Concurrent Data Structures
- Haskell
Advanced Concurrency and Parallel Computing - CodeIntermediateNew
Build a Hybrid Recommendation System for an Indie Streaming Catalog
Use the provided 6-month anonymized event log (around 320M play events, 1.4M unique users in the held-out cohort), audio embeddings (256-d), and track metadata. Implement (1) an…
- Recommendation Systems
- Collaborative Filtering
- Content Based Recommendation
Open coursework - CodeIntermediateNew
Design a Lock-Free Concurrent Queue for an Event Bus
Implement an MPSC (multi-producer single-consumer) ring-buffer queue in Go using atomic operations only — no mutexes. Prove correctness with the Go race detector across 8 produc…
- Concurrent Data Structures
- Lock Free Programming
- Go
Data Structures - CodeIntermediateNew
Index a Reference Genome with a Suffix Array in Rust
Using the reference-genome FASTA in the provided materials, build an in-memory suffix array (DC3 or SA-IS construction) over the 4-letter DNA alphabet in Rust, then implement co…
- Suffix Arrays
- String Algorithms
- Rust
Open coursework - DesignIntermediateNew
Author a Scrollytelling Story on a Three-Week Ad-Fraud Anomaly
Using the internal investigation report (provided) and the anomaly dataset (provided), design a seven-section scrollytelling narrative and build it as a static web page. Structu…
- Narrative Visualization
- Scrollytelling
- Svelte
Open coursework - CodeIntermediateNew
Design an Anti-Corruption Layer for a Legacy Hospital EHR
Map the legacy EHR's HL7 v2 message schema (ADT, ORM, ORU segments) to the new platform's domain (Patient, Encounter, Order, Result). Identify the 6-10 anti-patterns in the lega…
- Anti Corruption Layer
- Hl7 Integration
- Domain Modeling
Domain-Driven Design - CodeIntermediateNew
Apply Hexagonal Architecture to a Payments Microservice
Design the settlement domain in pure Kotlin (no Spring imports, no framework annotations). Define ports for: payment-network adapter (one inbound per network — SEPA, Faster Paym…
- Hexagonal Architecture
- Ports And Adapters
- Kotlin Programming
Domain-Driven Design - CodeIntermediateNew
Port a Drone Flight Controller from Bare-Metal to FreeRTOS
Take the existing bare-metal firmware (STM32H7, around 14,000 lines C). Identify the tasks (control loop 1 kHz, IMU read 2 kHz, GPS 10 Hz, telemetry 50 Hz, command parsing event…
- Freertos
- Rate Monotonic Scheduling
- C Programming
Open coursework - StrategyIntermediateNew
Decompose a CRM Monolith into Bounded Services
Analyze the monolith using NDepend or similar (provided). Identify the top 4-6 candidate service boundaries based on coupling + business-capability seams (likely: Quotation, Pol…
- Strangler Fig Pattern
- Service Decomposition
- Csharp Programming
Enterprise and Business Software Engineering
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.



















































































