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
- CodeBeginnerNew
Refactor a Legacy Reporting Script for a Renewable-Energy Startup
Read the existing script and identify 5-7 distinct responsibilities tangled together. Refactor into 3 layers: data loaders (CSV, REST API), transformers (pure functions over row…
- Abstraction
- Higher Order Functions
- Refactoring
Programming Abstractions - CodeBeginnerNew
Build a Safe Expression Evaluator for a Math-Learning App
Working only from the materials provided, build a self-contained expression evaluator in Python (TypeScript is acceptable if you mirror the same structure) that never calls eval…
- Recursion
- Higher Order Functions
- Parsing
Open coursework - CodeBeginnerNew
Build a Functional Image-Filter Pipeline for a Photography SaaS
Design a Filter as a function from (pixel matrix → pixel matrix). Build a compose helper that takes a list of filters and returns a single composed filter (function composition)…
- Higher Order Functions
- Function Composition
- Abstraction
Open coursework - CodeIntermediateNew
Build a Shareable Immutable List for a Real-Time Document Editor
Using the provided API specification (persistent-list-spec) and the starter module (immutable-list-starter), implement a persistent immutable list supporting get, set, append, p…
- Data Abstraction
- Recursion
- Persistent Data Structures
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
Design an Invoice-Rules Mini-Language for Non-Technical Users
Design a rule mini-language whose grammar (written in Backus-Naur Form, the standard notation for describing grammars) covers boolean logic (and / or / not), comparison operator…
- Abstraction
- Recursion
- Domain Specific Language
Open coursework - CodeIntermediateNew
Bloom Filter Cache to Cut Origin Load at a CDN Edge
Given a target false-positive rate of 1 percent at 200 million keys per shard, compute the optimal bit-array size (m) and hash-function count (k) using the canonical formulas. I…
- Bloom Filters
- Probabilistic Data Structures
- Hash Functions
Randomized Algorithms - CodeIntermediateNew
MinHash Similarity Sketch for a Job-Board Deduplication Pipeline
Implement a MinHash signature generator (128 permutations) over shingled job-posting text (5-gram word shingles). Build an LSH banding index (16 bands of 8 hashes each) tuned fo…
- Minhash
- Locality Sensitive Hashing
- Probabilistic Data Structures
Randomized Algorithms - CodeSeniorNew
HyperLogLog Cardinality for Real-Time Ad-Auction Analytics
Implement HyperLogLog with precision parameter p in {12, 14, 16} (4KB, 16KB, 64KB sketches) and benchmark relative error on a replayed 3-hour production trace (around 13 billion…
- Hyperloglog
- Probabilistic Data Structures
- Streaming Systems
Randomized Algorithms - 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.
- AnalysisIntermediateNew
Randomized Load Balancer with the Power of Two Choices
Simulate four placement policies on a 24-hour anonymized connection-establishment trace (around 4.1 billion events): (1) random-1, (2) round-robin, (3) P2C with instantaneous lo…
- Power Of Two Choices
- Load Balancing
- Randomized Algorithms
Open coursework - CodeIntermediateNew
Reservoir Sampling for a Privacy-Preserving Telemetry Pipeline
Implement Vitter's Algorithm R (and the faster Algorithm L for bonus credit) producing a 90M-event uniform sample per day from a stream of 18B. Add per-key stratification (so lo…
- Reservoir Sampling
- Randomized Algorithms
- Streaming Systems
Open coursework - CodeIntermediateNew
Apply the Mikado Method to Untangle a Tax-Engine Class
Starting from the live codebase (Java 17, 73 percent line coverage), write a failing test that asserts the desired end state ('TaxCalculator is decomposed into per-country strat…
- Mikado Method
- Refactoring
- Strategy Pattern
Refactoring and Code Smell Detection - CodeBeginnerNew
Characterization Tests for an Untested Pricing Engine
Drive the pricing engine with around 800 representative input vectors generated from anonymized production quotes (provided). For each vector, capture the current output as the …
- Characterization Tests
- Approval Testing
- Legacy Code
Refactoring and Code Smell Detection 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
Strangler-Fig Migration of a Monolithic Order Service
Stand up an HTTP facade in front of the monolith (Nginx or a small Go proxy) that routes by URL pattern. Slice 1: extract the order-status read endpoint, dual-write nothing, rou…
- Strangler Fig Pattern
- Refactoring
- Legacy Modernization
Refactoring and Code Smell Detection - ResearchBeginnerNew
Run a Stakeholder Discovery Program for a Hospital Records Replacement
Using the discovery context and stakeholder roster in the case file, design and run a structured program of 38 interviews (45 minutes each) covering the 28 clinicians, 6 technol…
- Stakeholder Analysis
- Requirements Elicitation
- User Interviews
Open coursework - CodeSeniorNew
Formally Specify and Model-Check a Payment Rate-Limit Service in TLA+
Using the incident record (INCIDENT-FILE), the protocol design note (PROTOCOL-NOTE), and the representative coordinator module (COORDINATOR-MODULE) provided to you, write a TLA+…
- Tla Plus
- Formal Specification
- Model Checking
Open coursework - CodeIntermediateNew
Multi-Tenant Schema Migration for a Series-B HR SaaS
Design a 4-phase migration: (1) add new columns + tables, dual-write on every workflow mutation, (2) backfill 3.4 TB in chunks of around 50k rows per minute with throttling and …
- Multi Tenant Architecture
- Schema Migration
- Dual Write
Open coursework - CodeIntermediateNew
Build a Metered-Billing System for a Usage-Based SaaS
Build an event-ingest API (Express + Redis Streams) that receives usage events with idempotency keys. Aggregate hourly into Postgres rollups using a windowed worker that survive…
- Metered Billing
- Idempotency
- Event Aggregation
Open coursework - CodeBeginnerNew
CI/CD Pipeline for a SaaS Monorepo with 14 Services
Set up Nx (or Turborepo) for affected-graph computation. Configure remote build cache (S3-backed) so cached steps skip across runs and developers. Parallelize jobs in GitHub Act…
- Ci Cd
- Monorepo
- Nx
Open coursework - CodeIntermediateNew
Halve the Inner Solver in a Crash-Simulation Pipeline
Using the public structural finite-element matrices declared in `structural-matrices` as stand-ins for three production mesh sizes, benchmark four combinations: (1) GMRES with i…
- Sparse Linear Algebra
- Krylov Methods
- Preconditioning
Open coursework - CodeSeniorNew
PDE Solver for Subsurface Reservoir Flow
Implement MPFA-O discretization for pressure on a tetrahedral mesh with explicit fault transmissibility (Aavatsmark et al. 2002 formulation). Couple to a temperature equation vi…
- Numerical Pdes
- Finite Volume
- Newton Krylov
Scientific Computing and Numerical Methods - CodeSeniorNew
GPU-Accelerated Numerical Optimization for Portfolio Construction
Implement a primal-dual interior-point solver for box-constrained QP in CUDA. Use cuSPARSE for sparse matrix-vector multiply and cuSOLVER for the inner Newton system. Benchmark …
- Numerical Optimization
- Interior Point Method
- Cuda
Scientific Computing and Numerical Methods - CodeIntermediateNew
Stream-Process a 64-Microphone Array to Locate Bearing Faults in Real Time
Using the provided fixture generator and array-geometry spec, implement an overlap-add streaming pipeline that consumes 64 channels in 1,024-sample frames with 50 percent overla…
- Fft
- Signal Processing
- Beamforming
Open coursework - CodeIntermediateNew
Roll Out mTLS Across 80 Microservices with Istio
Install Istio (current LTS) in ambient mode where possible, sidecar mode where ambient is not yet supported by the service. Phase 1: enable PERMISSIVE mTLS namespace by namespac…
- Istio
- Mtls
- Kubernetes
Service Mesh and Microservices Networking - CodeSeniorNew
Linkerd to Istio Migration for a Multi-Cluster Platform
Phase 1: install Istio alongside Linkerd in PERMISSIVE mode (Istio sidecars injected, Linkerd proxies remain). Phase 2: migrate non-critical namespaces first (4 namespaces) by r…
- Istio
- Linkerd
- Service Mesh
Open coursework
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.



















































































