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
Dynamic Programming for an IoT Battery Allocator
Read the device spec (32 KB RAM, 200 mAh daily budget, 9 sensing modes with mAh cost and farmer-value scores) and formulate the daily allocation as a 0/1 knapsack DP (dynamic pr…
- Dynamic Programming
- Algorithm Analysis
- C Programming
Algorithm Design and Analysis - AnalysisIntermediateNew
Amortized-Analysis Investigation of a Production Cache
Read the C++ cache source (around 1,800 lines, custom open-addressing with periodic resize-and-rehash). Perform amortized analysis using all three methods (aggregate, accounting…
- Amortized Analysis
- Functions & Data Structures
- Algorithm Analysis
Advanced Algorithms - CodeIntermediateNew
Randomized Sketch Algorithm for Stream Cardinality
Read the HLL paper (Flajolet et al., 2007) and a sample of 30 minutes of customer trace IDs (around 80M events). Implement HLL from scratch in Go (no library imports). Run bench…
- Randomized Algorithms
- Sketching
- Algorithm Analysis
Advanced Algorithms - AnalysisIntermediateNew
Spectral Clustering for Customer Segmentation at a SaaS
Receive a 12,000 customer × 220 feature usage matrix (counts per feature per week, averaged over 12 weeks). Construct a similarity graph (k-nearest-neighbors with k=15, Gaussian…
- Spectral Methods
- Linear Algebra
- Algorithm Analysis
Advanced Algorithms 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
- CodeIntermediateNew
Add Idempotency Keys to a Payment Webhook System
Read the current Go webhook-sender code and 30 days of duplicate-delivery incident logs. Design the idempotency scheme: server-generated key per event (UUID v7 — time-ordered), …
- REST API Design
- Idempotency
- Webhooks
API Design and GraphQL - CodeIntermediateNew
Migrate an Internal Service from REST to gRPC
Receive the existing OpenAPI spec, the Go service code, and 7 days of traffic data. Pick the top 2 RPS-by-method endpoints and design Protocol Buffers (protobuf) message + servi…
- Grpc
- Protobuf
- REST API Design
API Design and GraphQL - CodeIntermediateNew
Implement Authenticated Encryption for a Document Service
Design the envelope-encryption hierarchy: customer Key Encryption Key (KEK) held in AWS KMS (Key Management Service), Data Encryption Keys (DEKs) wrapped per document. Use AES-2…
- Applied Cryptography
- Aead
- Key Management
Applied Cryptography - AnalysisIntermediateNew
Penetration-Test the TLS Configuration of an Edge Fleet
Receive read-only access to a 50-node representative sample (anonymized). Scan with testssl.sh + Qualys SSL Labs (where reachable) + a custom Go tool you write to test specific …
- Tls
- Applied Cryptography
- Penetration Testing
Applied Cryptography - 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.
- CodeIntermediateNew
Build a Self-Service Internal Developer Platform on Backstage
Stand up a Backstage instance (Docker-Compose for local, EKS for prototype hosting). Build 3 software templates: (1) New Go microservice (repo + CI + ECS service + Terraform + b…
- Internal Developer Platform
- Backstage
- Terraform
Cloud Computing - 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 Subset of C to WebAssembly
Define a documented C subset: int and bool types, locals, if/else, while, function calls, return. Build a compiler in any host language (TypeScript or Rust preferred) that produ…
- Code Generation
- Webassembly
- Intermediate Representation
Compiler Construction - 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
Advanced Compilers and Program Optimization 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
Profile-Guided Optimization for a Production JavaScript Bundler
Read the bundler's existing release-build pipeline (Rust + Cargo). Design and implement a PGO workflow using Rust's profile-guided LLVM PGO: instrument build, training run on th…
- Profile Guided Optimization
- Llvm
- Benchmarking
Advanced Compilers and Program Optimization - ResearchIntermediateNew
Compiler Fuzzing Campaign on a Production C Backend
Stand up a Csmith-based generator producing 200,000+ random valid C programs over the campaign. Differential-test the target backend against a baseline C compiler (matching opti…
- Fuzzing
- Differential Testing
- Test Case Minimization
Advanced Compilers and Program Optimization - 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
Computer Architecture - 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
Advanced Computer Architecture - 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
Introduction to Computer Graphics - CodeIntermediateNew
Mesh Simplification Pipeline for a 3D-Scan-to-Web Tool
Implement quadric-error-metric (QEM) mesh simplification with UV-attribute preservation: per-vertex 4x4 error quadrics that include a position term and a UV-distortion term, edg…
- Geometry Processing
- Mesh Simplification
- 3d Rendering
Advanced Computer Graphics - AnalysisIntermediateNew
Diagnose a Memory-Hierarchy Bottleneck in a Trading-System Hot Path
Receive the normalizer source (around 4,000 lines of C++17), a replay harness that feeds 30 minutes of recorded market data, and host-machine specifications (Intel Xeon Gold 634…
- Memory Hierarchy
- Performance Profiling
- Perf
Computer Systems and Organization - 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
Tune a Multicore Pipeline with NUMA-Aware Sharding
Receive the current worker (Rust, around 8,000 lines, uses rayon for its parallelism), the host (2-socket AMD EPYC 9354, 64 cores total, 384GB DDR5), and a benchmark query workl…
- Parallel Performance
- Numa
- Systems Language Proficiency (Go, Rust, C++)
Advanced Concurrency and Parallel Computing - CodeIntermediateNew
Build a Custom Kubernetes Operator for a Multi-Tenant SaaS
Receive the current Helm + bash setup, a description of the per-tenant resources to manage, and the cluster details (EKS 1.29, Strimzi for Kafka). Design a TenantPipeline CRD wi…
- Kubernetes Operators
- Crds
- Kubebuilder
Container Orchestration with Kubernetes - 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
Data Mining and Information Retrieval
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.



















































































