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
- Ai Pair Programming
Agile Methods and Practices - CodeFoundationalNew
Optimize a Slow Search Function for a Recipe Marketplace
Receive the current Python function (nested loop over (recipe_title, ingredient_list) pairs), the 400k-row dataset (CSV), and 20 representative queries. Step 1: write up the cur…
- Algorithm Analysis
- Big O
- Functions & Data Structures
Algorithm Design and Analysis - CodeBeginnerNew
Greedy Algorithm for Delivery-Slot Assignment
Receive 14 days of order data (around 4,800 orders) with timestamps, addresses (already geocoded), and slot preferences, plus rider rosters with shift starts, ends, and max work…
- Greedy Algorithms
- Algorithm Analysis
- Python Or Javascript
Algorithm Design and Analysis - 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 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
Shortest-Path Routing for a Bike-Share Operator
Receive the graph (nodes with lat/lon/elevation, edges with length and slope) and 50 origin-destination test pairs. Implement Dijkstra's algorithm with a custom edge-weight func…
- Graph Algorithms
- Dijkstra
- Algorithm Analysis
Algorithm Design and Analysis - ResearchBeginnerNew
NP-Completeness Investigation of a Scheduling Feature Request
Read the feature spec (around 30 vets per clinic, around 10 rooms, around 200 appointments per day, vet-skill constraints, room-equipment constraints, customer-time preferences)…
- Np Completeness
- Complexity Theory
- Algorithm Analysis
Algorithm Design and Analysis - 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 - ResearchSeniorNew
Approximation Algorithm for an SRE On-Call Roster
Formulate the roster as a constrained multi-week assignment problem. Show it's NP-hard via reduction. Design a deterministic constant-factor approximation (likely candidate: an …
- Approximation Algorithms
- Linear Programming
- Np Completeness
Advanced 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
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 - 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 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
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 - DesignSeniorNew
Design an End-to-End Encrypted Messaging Protocol
Read the Signal protocol specifications (X3DH, Double Ratchet) and the team's current architecture (server-stored unencrypted messages). Design an E2EE protocol covering: identi…
- Applied Cryptography
- Protocol Design
- Systems Language Proficiency (Go, Rust, C++)
Applied Cryptography - 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 - CodeSeniorNew
Implement Threshold Signatures for a Multi-Sig Custody Service
Read the FROST IETF draft (draft-irtf-cfrg-frost) and the underlying Schnorr signature scheme on the secp256k1 curve. Implement the FROST distributed key generation (DKG) and 3-…
- Applied Cryptography
- Threshold Signatures
- Systems Language Proficiency (Go, Rust, C++)
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 - 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
- Systems Language Proficiency (Go, Rust, C++)
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 Or Azure
- Terraform
Cloud Computing - 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 - CodeBeginnerNew
Add Constant Folding and Dead Code Elimination to a Toy Compiler
Fork the repo, read the IR specification (3-address code, register-based, documented in /docs/ir.md). Implement constant folding as an IR-to-IR pass: any operation on literal op…
- Intermediate Representation
- Constant Folding
- Dead Code Elimination
Compiler Construction - 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
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.



















































































