Computer Science
Programming Fundamentals Challenges
Programming Fundamentals challenges put you inside the work of writing code that is correct, readable and fast. You'll build core skills in functions & data structures, object-oriented design and design patterns, work in Python or JavaScript, and learn to do code reading and refactoring the way teams expect.
From there you'll tackle the harder edges — algorithm analysis, complexity analysis, graph algorithms and generics & type systems — pushing into performance engineering, low-latency programming patterns and systems-language proficiency (Go, Rust, C++). Each challenge you solve earns a verified credential you can share with recruiters.
- DesignIntermediateNew
Train a Self-Play Agent for a Card-Game Edtech Demo
Implement a small two-player imperfect-information card game (Kuhn poker or a 3-card simplified Hold'em variant). Implement CFR or CFR+ for the game and run self-play for at lea…
- Counterfactual Regret Minimization
- Self Play
- Game Theory
Artificial Intelligence: Principles and Techniques - CodeIntermediateNew
Implement a Persistent Immutable List for a Collaborative-Editing Startup
Implement in Python (or TypeScript / Kotlin). Build a persistent immutable list with operations: get, set, append, pop, slice, concat. Use structural sharing (32-way vector trie…
- Data Abstraction
- Recursion
- Persistent Data Structures
Programming Abstractions - 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 - 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 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
- 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 - CodeIntermediateNew
Plan Inventory Replenishment as an MDP for an E-Commerce AI Startup
You receive 18 months of daily demand for 50 representative SKUs at one warehouse plus lead-time and unit-cost data. For one SKU at a time, formulate an MDP with state = (on-han…
- Mdp Modeling
- Value Iteration
- Dynamic Programming
Decision Making Under Uncertainty - 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
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 - 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 Dataflow-Based Dead-Code Detector for a Python Monorepo
Build a Python tool using libcst (or ast + jedi) that constructs a call graph across the monorepo. Account for indirect references (entry points in setup.py / pyproject.toml, dy…
- Dataflow Analysis
- Ast
- Call Graph
Program Analysis - CodeBeginnerNew
Build a Software Rasterizer for a Teaching Engine
Implement a software rasterizer in C++: vector and matrix math (3D and 4D), model/view/projection transforms, viewport mapping, triangle setup, edge-function rasterization with …
- Rasterization
- Geometric Transformations
- 3d Rendering
Introduction to Computer Graphics - 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 - CodeIntermediateNew
Apply Differential Privacy to a HealthTech Analytics Dashboard
Wrap the existing analytics layer with OpenDP (or Google's differential-privacy library). Implement epsilon-delta accounting: per-query Laplace noise for counts and sums, Gaussi…
- Differential Privacy
- Privacy Budget
- Python Or Javascript
Privacy-Enhancing Technologies 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 an LSM-Tree-Based Storage Engine Prototype
Implement the engine in Rust. Components: WAL, memtable (skip list), SSTables on disk with bloom filters and sparse index, two compaction strategies (size-tiered, leveled). Cove…
- Lsm Tree
- Storage Engine
- Systems Language Proficiency (Go, Rust, C++)
Advanced Database Systems - 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 - CodeBeginnerNew
Build a Reliable Transport Layer Over UDP
Implement in Go: connection establishment (3-way handshake), sequenced and acknowledged data segments, retransmission timer with exponential backoff, fast retransmit on triple d…
- Tcp Ip
- Reliable Transport
- Udp
Computer Networks - CodeBeginnerNew
Optimize Wind-Turbine Layout with a Genetic Algorithm
You receive a wind-speed-and-direction time series for the lease area, the polygon boundary, a minimum inter-turbine spacing constraint, and a Jensen wake model. Implement a rea…
- Genetic Algorithms
- Metaheuristics
- Constraint Handling
Evolutionary Computation and Metaheuristic Search - AnalysisBeginnerNew
Evaluate Speech-to-Text Quality for a Contact-Center Analytics Vendor
You receive 200 anonymized call-recording snippets (2-4 minutes each, ~67 per language) with reference transcripts plus a domain glossary of about 600 product terms. Run all thr…
- Speech Recognition
- Sequence Models
- Model Evaluation
Machine Perception - 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
Engineering Software as a Service - AnalysisBeginnerNew
Choose a Hash Table vs Trie for a URL-Shortener Cache
Implement (1) a hash-table cache with linear probing and (2) a compressed trie cache, both with the same eviction policy (LRU). Measure (a) p50/p99 lookup latency, (b) memory fo…
- Hash Tables
- Trie Data Structure
- Benchmarking
Data Structures - AnalysisIntermediateNew
Compare Kernel SVMs and Gradient Boosting on Imbalanced Tabular Data
You receive a 220,000-row anonymized loan-default dataset with mixed numeric and categorical features and a ~6% positive class. Train and evaluate (1) an RBF-kernel SVM with pro…
- Kernel Methods
- Gradient Boosting
- Model Selection
Machine Learning - AnalysisBeginnerNew
Audit a Hiring-Screening Model for Demographic Bias
You receive: (a) inference API access to the production model (black-box), (b) a 12,000-resume audit benchmark with self-declared gender and age-band labels (consented, GDPR-com…
- Fairness Metrics
- Bias Auditing
- Model Evaluation
AI Ethics, Fairness, and Responsible AI - CodeBeginnerNew
Implement an Expression Evaluator Using Recursion and Higher-Order Functions
Implement in Python (or TypeScript). Build a tokenizer, a recursive-descent parser producing an abstract syntax tree (AST), and a tree-walking evaluator. Use higher-order functi…
- Recursion
- Higher Order Functions
- Parsing
Programming Abstractions - 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 - CodeBeginnerNew
Build Semantic Search for an Internal Engineering Wiki
You receive a Confluence XML export (~12k pages, ~80 MB of text) and a hand-labeled benchmark of 50 internal queries with ground-truth doc IDs. Chunk and embed the corpus with a…
- Embedding Models
- Vector Database Basics
- Pgvector
Vector Databases and Embeddings
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.
Related skill families
Browse all skillsIndustry 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.



















































































