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
- DesignBeginnerNew
Add Constant Folding and Dead Code Elimination to a Teaching Compiler
Using the provided intermediate-representation specification, design and propose constant folding and dead code elimination as two intermediate-representation-to-intermediate-re…
- Intermediate Representation
- Constant Folding
- Dead Code Elimination
Open coursework - 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 C-Like Subset to WebAssembly for a Game Runtime
Using the studio runtime constraints brief, the five example scripts, and the runtime host harness declared in the provided materials, build a command-line compiler that reads o…
- Code Generation
- Webassembly
- Intermediate Representation
Open coursework - CodeBeginnerNew
Build a Source-to-Source Migration Tool for a Legacy API
Use Python's libcst (concrete syntax tree library) to parse customer code while preserving formatting. For each of the 14 transformations, write a CST visitor that matches the v…
- Abstract Syntax Trees
- Source To Source Transformation
- Python
Open coursework Develop in-demand professional skills.
Each challenge names the skills it strengthens. Over time, your profile fills with the competences a hiring manager would actually look for.
Why Ewance
- 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
Open coursework - DesignSeniorNew
Design an AVX-512 Vectorization Proposal for a Hot Simulation Kernel
Working only from the provided scalar kernel module, the benchmark dataset, the profiling readout, and the target-environment brief, propose and justify a vectorization design f…
- Vectorization
- Llvm
- Loop Optimization
Open coursework - CodeSeniorNew
Design a Polyhedral Loop-Tiling Strategy for a Tensor DSL
Study the DSL's IR (provided, MLIR-based with linalg-style ops). Choose a tiling strategy (rectangular tiling with cost-modeled tile sizes is the safe baseline; full polyhedral …
- Polyhedral Analysis
- Loop Tiling
- Mlir
Advanced Compilers and Program Optimization - DesignIntermediateNew
Add Profile-Guided Optimization to a Production JavaScript Bundler
Design and implement a profile-guided optimization workflow for the bundler using Rust's LLVM-based PGO: an instrumented build, a training run over the eight-project benchmark c…
- Profile Guided Optimization
- Llvm
- Benchmarking
Open coursework - Browse challenges
Explore role
Strategy Analyst
Frame the business question, model the options, build the recommendation. From market sizing to competitive analysis, this role is where strategy consulting meets in-house decision-making.
- ResearchIntermediateNew
Differential Fuzzing Campaign on a Production C Compiler Backend
Using the incident case file and the campaign scope brief, stand up a Csmith-based generator that produces at least 200,000 random but valid C programs across the two-week windo…
- Fuzzing
- Differential Testing
- Test Case Minimization
Open coursework - CodeIntermediateNew
Build a Variant-Calling Pipeline for a Genomics SaaS
Stand up a Nextflow pipeline covering: read trimming, BWA-MEM alignment, duplicate marking, base-quality-score recalibration, GATK HaplotypeCaller variant calling, and variant f…
- Bioinformatics
- Variant Calling
- Workflow Orchestration
Open coursework - CodeIntermediateNew
Detect Atrial Fibrillation from Wearable Heart-Rate Data
Build a Python pipeline that ingests raw PPG + accelerometer at 100Hz, applies motion-artifact rejection using the accelerometer channel, detects beats, computes RR-interval irr…
- Health Sensing
- Signal Processing
- Biomedical Signals
Computational Biology and Health Informatics - CodeBeginnerNew
Build a Protein Structure Search and Visualization Tool
Build a FastAPI backend wrapping Foldseek's easy-search command, returning top-20 hits with alignment metadata. Build a React frontend with a structure upload widget and a 3D vi…
- Biomolecular Structure
- Bioinformatics
- Full Stack Development
Computational Biology and Health Informatics Get recognized by recruiters and employers.
Credentials are blockchain-anchored via LearnCoin — tamper-evident, portable, link-shareable on LinkedIn and beyond.
Why Ewance
- CodeIntermediateNew
Build a 5-Stage Pipelined RISC-V Core in Verilog
Implement the 5-stage pipeline with: hazard detection unit, forwarding paths (EX/MEM to EX, MEM/WB to EX), pipeline stalls for load-use hazards, and a simple static branch-not-t…
- Pipelining
- Hazard Detection
- Verilog
Computer Architecture - AnalysisBeginnerNew
Cache Configuration Study for a Memory-Bound Workload
Profile the existing inner loop on a workstation with perf to baseline L1/L2/L3 miss rates and miss latencies. Run the same loop through gem5's classic cache model under 6 confi…
- Caches
- Memory Subsystems
- Performance Modeling
Computer Architecture - AnalysisIntermediateNew
Branch Predictor Study for a Cryptocurrency Hashing Library
Profile the hot inner loop with perf record + perf annotate to identify the 5 highest-frequency branches. Measure per-branch mispredict counts using perf counters (BR_MISP_RETIR…
- Branch Prediction
- Performance Counters
- Benchmarking
Open coursework - DesignBeginnerNew
Sketch a Custom Gaussian-Blur Accelerator for a Smart-Camera Chip
Using the provided C reference implementation of the 5x5 Gaussian blur, work out a hardware datapath that produces one finished output pixel every clock cycle by sliding a 5x5 w…
- Hardware Accelerators
- Datapath Design
- Performance Modeling
Open coursework - AnalysisBeginnerNew
Instruction Set Analysis for an Embedded Workload
Compile all 12 workload programs to both ISAs using the appropriate cross-compiler (GCC with -march=rv32e for RISC-V; provided proprietary toolchain for the in-house ISA). Repor…
- Instruction Sets
- Code Density
- Embedded Systems
Computer Architecture - AnalysisSeniorNew
Memory Consistency Model Audit of a Lock-Free Queue
Read the SPSC queue source (around 200 lines of C++). For each atomic operation, classify the required ordering and verify the chosen memory_order is sufficient under both x86-T…
- Memory Consistency
- Concurrency
- Lock Free Programming
Advanced Computer Architecture - AnalysisIntermediateNew
GPU Roofline Model Study for a Computer Vision Inference Workload
Construct empirical roofline plots for the current GPU (A100-class) and next-gen GPU (H100-class) using vendor-published peak FLOPs and measured peak memory bandwidth. Profile t…
- Gpu Architecture
- Roofline Model
- Performance Modeling
Open coursework - CodeIntermediateNew
Out-of-Order Execution Microbenchmark Suite
Design and implement 6 microbenchmarks: ROB capacity probe (varying chain length), load-store queue probe, branch mispredict cost probe, ILP saturation probe, store-to-load forw…
- Out Of Order Execution
- Performance Counters
- Benchmarking
Advanced Computer Architecture - CodeSeniorNew
Heterogeneous Scheduling Policy for a Big.LITTLE Mobile SoC
Read the existing scheduler's energy model (provided). Design an improved policy using one or more of: per-task IPC-aware placement, exponential moving average load smoothing to…
- Multicore Architecture
- Scheduling
- Energy Modeling
Advanced Computer Architecture - CodeBeginnerNew
Build a CPU-Only Teaching Rasterizer in C++
Using the provided test-scene model file and the reference render image, implement a software rasterizer in C++ that runs only on the central processor. Build the supporting mat…
- Rasterization
- Geometric Transformations
- 3d Rendering
Open coursework - CodeIntermediateNew
Implement Shadow Mapping in a Toy Game Engine
Add a directional-shadow-map render pass to the engine: render the scene depth from the light's perspective into a 2K depth texture, then sample it during the main pass to atten…
- Shading And Lighting
- Gpu Pipeline
- Shadow Mapping
Open coursework - CodeSeniorNew
Physically-Based Path Tracer for a Product Visualization Studio
Build a path tracer in C++ with: ray-triangle and ray-sphere intersection on a BVH (bounding volume hierarchy), Lambertian diffuse and Cook-Torrance GGX specular BRDFs, multiple…
- Physically Based Rendering
- Path Tracing
- Shading And Lighting
Advanced Computer Graphics
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.



















































































