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.
- 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 - 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 - CodeSeniorNew
Build a Bare-Metal Bootloader for a Wearable-Device Prototype
Write a bare-metal C bootloader for the Cortex-M4 target (no operating system, custom linker script, vector-table relocation). Implement: SHA-256 image validation (use a public-…
- C Programming
- Manual Memory Management
- Pointers
Imperative and Low-Level Programming - 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 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
Hierarchical Plans for an Aerospace Maintenance Crew Scheduler
You receive a synthetic week of 80 work orders with hierarchical decompositions, technician certifications, and shared-tool constraints. Implement an HTN planner (PyHOP or HDDL …
- Htn Planning
- Domain Modeling
- Constraint Handling
Automated Planning - 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
Semantic Parser for an Enterprise Analytics Assistant
Define a small typed query language (filter, aggregate, group_by, time_range, metric). Curate or write 200 training examples covering the controlled subset and 50 held-out test …
- Semantic Parsing
- Grammar Design
- Transformer Models
Computational Semantics - 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 - 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.
- 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 - 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 - 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 - CodeIntermediateNew
Build a Streaming Pipeline for Real-Time Fraud Detection
Receive 30 days of anonymized card-transaction events (around 240M events total), the team's existing batch features (cardholder behavior summaries), and a pre-trained fraud-sco…
- Stream Processing
- Kafka Event Streaming
- Flink
Big Data and Data-Intensive Systems 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
- ResearchSeniorNew
Structure Learning for a Causal Network in Fintech Risk
You receive the 60-signal dataset and a short interview summary of risk analysts' beliefs about which signals influence which. Use a hill-climbing structure-learning algorithm w…
- Structure Learning
- Bayesian Networks
- Causal Modeling
Probabilistic Graphical Models - CodeSeniorNew
Cache-Optimize a Graph-Analytics Kernel for a Social Platform
Receive the existing kernel (C++ + OpenMP, around 1,200 lines), the 1.8B-edge graph (CSR format, around 14GB), and target hardware (dual-socket AMD EPYC 9354, 384GB DDR5, 256MB …
- Cache Optimization
- Graph Algorithms
- Memory Hierarchy
Performance Engineering of Software Systems - ResearchBeginnerNew
Hyperparameter Search via CMA-ES for a Pharma QSAR Model
You receive a labeled QSAR dataset (around 25,000 compounds, regression on a binding-affinity target), a fixed feature pipeline (Morgan fingerprints + descriptors), and the team…
- Cma Es
- Metaheuristics
- Hyperparameter Optimization
Evolutionary Computation and Metaheuristic Search - CodeSeniorNew
Build a Secure Multi-Party Computation Demo for Cross-Bank Fraud Detection
Pick MP-SPDZ as the MPC framework. Build a 4-party demo computing two protocols: (1) private set intersection of suspicious-account IDs across banks, (2) joint aggregate (count …
- Secure Computation
- Mpc
- Cryptography
Privacy-Enhancing Technologies - CodeIntermediateNew
Build an Indexer for an On-Chain DeFi Analytics Product
Receive the 6 protocols' ABIs + the team's required event coverage spec (around 40 event types). Build a TypeScript indexer using viem + Postgres: subscribe to new blocks via We…
- Blockchain Indexing
- Typescript
- Ethereum
Blockchain and Decentralized Systems Engineering - CodeFoundationalNew
Replace a Naive List with a Heap in a Delivery Dispatcher
Read the current dispatcher source (around 400 lines of Python). Identify the linear scan and the operations that touch it (insert, decrease-key on a re-scored courier, extract-…
- Heap Data Structure
- Complexity Analysis
- Python Or Javascript
Data Structures - 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
Diagnose Churn Drivers for a B2B SaaS Workflow Tool
You receive three CSV exports: 18 months of weekly product-usage events for about 1,800 accounts, the full support-ticket history, and account firmographics (industry, size, pla…
- Exploratory Data Analysis
- Data Wrangling
- Feature Engineering
Applied Data Analysis and Practical Data Science - 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 - CodeBeginnerNew
Implement a Distance-Vector Routing Algorithm
Implement distance-vector routing in Python: each simulated router maintains a distance vector, exchanges vectors with neighbors every 1 second of simulated time, and updates it…
- Routing
- Distance Vector
- Network Simulation
Computer Networks - CodeIntermediateNew
Refactor a Reckless Inadvertent Debt Hotspot
Read the class + git blame to map its responsibilities. Write characterization tests (using approval testing) until you can change behaviour without surprise — target at least 7…
- Refactoring
- Mikado Method
- Characterization Testing
Technical Debt Management - CodeSeniorNew
Forecasting Exchange Rates for a 40-Person SaaS Scale-Up
Your task is to collect monthly data for the past 5 years for GBP/USD and EUR/USD, along with relevant predictors (interest rate differentials, inflation, GDP growth, trade bala…
- Time Series Forecasting
- Structural Econometric Modeling
- Python Or Javascript
International Finance
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.



















































































