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.
Recommended Challenges
· Systems-language proficiency (Go, Rust, C++) Clear- 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 - CodeBeginnerNew
Build a Bounded Concurrent Queue for a Microservice Worker Pool
Implement a bounded concurrent queue in Go (no third-party queue libraries; standard library + sync primitives only) that supports: Put(item) blocks when full, TryPut(item, time…
- Concurrent Data Structures
- Mutex And Condvar
- Systems Language Proficiency (Go, Rust, C++)
Concurrent and Parallel Programming - 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
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 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
- 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
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 - 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 - CodeSeniorNew
Profile and Tame a P99-Latency Tail for an Ad-Auction Service
Receive the bidder source (Go, around 22,000 lines), production traces (eBPF + flame graphs from 30 minutes of peak traffic), and the host config (NUMA-2 socket, 96 cores, 384GB…
- Performance Optimization
- Ebpf
- Systems Language Proficiency (Go, Rust, C++)
Performance Engineering of Software Systems - 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.
- 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 - 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 - 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 - CodeSeniorNew
Build a Lock-Free MPMC Queue for a Trading-Backend Hot Path
Implement Vyukov's bounded MPMC queue in C++20 using atomic operations with explicit memory orderings (relaxed where safe, acquire/release on the enqueue/dequeue handshake). Use…
- Lock Free Algorithms
- Memory Models
- Systems Language Proficiency (Go, Rust, C++)
Advanced Concurrency and Parallel Computing 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
Vectorize a Risk-Calculation Engine for a Mid-Cap Bank
Receive the existing pricer (C++17, scalar, around 600 lines), 2 weeks of representative input data (around 50M paths), the validation harness, and access to an Intel Ice Lake-S…
- Vectorization
- Avx 512
- Simd
Performance Engineering of Software Systems - CodeIntermediateNew
Index a Genomics Dataset with a Suffix Array for Read Matching
Implement a suffix array over a 720 MB DNA sequence (4-character alphabet) using DC3 (Difference Cover modulo 3) or SA-IS construction in Rust. Build pattern-matching utilities …
- Suffix Arrays
- String Algorithms
- Systems Language Proficiency (Go, Rust, C++)
Data Structures - 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
Design a Lock-Free Concurrent Queue for an Event Bus
Implement an MPSC (multi-producer single-consumer) ring-buffer queue in Go using atomic operations only — no mutexes. Prove correctness with the Go race detector across 8 produc…
- Concurrent Data Structures
- Lock Free Programming
- Systems Language Proficiency (Go, Rust, C++)
Data Structures - 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 - 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 - 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 - 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 - 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 - AnalysisBeginnerNew
Profile and Optimize a Virtual-Memory-Heavy Image Pipeline
Receive the Go pipeline source, a representative batch (1,200 photos averaging 12MB each, with 30 outliers over 80MB), and host specs (4-core, 16GB RAM, Linux kernel 5.15). Run …
- Virtual Memory
- Performance Profiling
- Memory Hierarchy
Computer Systems and Organization - 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 - CodeBeginnerNew
Design and Implement a C++ Telemetry Aggregator With Inheritance
Implement a TelemetrySource abstract base class with virtual sample() and timestamp() methods, 6 concrete subclasses (one per sensor family), and a TelemetryBus that polymorphic…
- Systems Language Proficiency (Go, Rust, C++)
- Inheritance
- Polymorphism
Object-Oriented Programming and Design
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.



















































































