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
- CodeSeniorNew
Implement a Pipelined RISC-V (RV32I) Core for Automotive Telemetry
Implement a classic 5-stage RV32I pipeline in SystemVerilog. Include data-forwarding from EX/MEM and MEM/WB back to EX, a load-use stall, and branch resolution in EX with a 1-cy…
- Systemverilog
- Risc V
- Pipelining
Digital Systems Design - CodeSeniorNew
Implement Raft Consensus for a Self-Hosted Feature-Flag Service
Implement the core Raft algorithm (leader election, log replication, snapshotting) from the original Ongaro & Ousterhout paper. Use an embedded key-value store (BoltDB or sled) …
- Raft Consensus
- Go Programming
- Grpc
Open coursework - AnalysisSeniorNew
Diagnose Clock Skew in a HFT Order Matching System
Receive anonymized PTP grandmaster + slave logs (nanosecond resolution, 30 days, 3 cabinets) plus a synthetic order-flow generator. Identify the drift pattern (likely candidate:…
- Logical Clocks
- Ptp Time Sync
- Cpp Programming
Open coursework - AnalysisSeniorNew
Diagnose a Hard-Real-Time Failure in an Automotive ECU
Receive anonymized AUTOSAR runnable + task traces (CSV + Vector CANalyzer .blf), 8 hours covering 3 failure events. Identify timing budget per task and runnable. Reproduce on th…
- Autosar
- Real Time Debugging
- Can Bus Analysis
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
- CodeSeniorNew
Implement a Bootloader with Secure OTA for a Medical Wearable
Implement using MCUboot as the secondary-image bootloader. Set up an offline signing pipeline (Ed25519 keys, HSM-backed for production). Implement the OTA client: BLE file trans…
- Mcuboot
- Secure Bootloader
- Firmware Signing
Open coursework - DesignSeniorNew
Redesign the Daily-Engagement Loop for a Smoking-Cessation App
Using the product case file, audit the current daily-engagement loop screen by screen and map each screen to specific behavior-change techniques from the published taxonomy, nam…
- Behavior Change Design
- Hci Research Methods
- Interaction Design
Open coursework - CodeSeniorNew
Diagnose Heap Corruption in a Trading Firm's Order Gateway
Working only from the materials in this case file, reconstruct what is corrupting the heap. Read the representative order-pool allocator module (item: gateway-allocator-module) …
- Cpp Programming
- Manual Memory Management
- Pointers
Open coursework - CodeSeniorNew
Design an In-House Bare-Metal Bootloader for a Smartwatch Prototype
Working only from the provided materials, design and implement a bare-metal C bootloader for the Cortex-M4 target with no operating system, a custom linker script, and vector-ta…
- C Programming
- Manual Memory Management
- Pointers
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.
- DesignSeniorNew
OTA Firmware-Update Architecture for a 50,000-Device Smart-Meter Fleet
Design a 4-stage OTA architecture: (1) signed image build + manifest, (2) backend rollout (1 percent canary, 10 percent expand, 50 percent expand, 100 percent), (3) device-side …
- Embedded Systems
- Cyber Physical Systems
- Edge Computing
Internet of Things and Cyber-Physical Systems - AnalysisSeniorNew
Cyber-Physical Security Audit for a Connected-Building HVAC System
Audit one representative tower's BMS: enumerate BACnet devices (network discovery + capability inventory), identify lateral-movement paths (tenant wifi -> guest network -> BACne…
- Cyber Physical Systems
- Ot Security
- Risk Management
Internet of Things and Cyber-Physical Systems - CodeSeniorNew
Prototype an Augmented-Reality Hip-Implant Planning Overlay
Build a HoloLens 2 application that loads a three-dimensional bone scan from the sample medical imaging data ('hip-dicom-samples'), renders it as a placeable hologram, and lets …
- Ar Development
- Mixed Reality Applications
- 3d Interaction
Open coursework - CodeSeniorNew
Build Co-Located Mixed-Reality Engine Inspection Training
Build a Unity prototype that supports three people wearing Magic Leap 2 headsets (or Quest 3 with passthrough as a fallback) in the same physical room, all seeing one shared vir…
- Mixed Reality Applications
- Multiplayer Xr
- Shared Anchors
Open coursework Get recognized by recruiters and employers.
Credentials are blockchain-anchored via LearnCoin — tamper-evident, portable, link-shareable on LinkedIn and beyond.
Why Ewance
- CodeSeniorNew
Build a Real-Time Cascade Detection Pipeline for a Trading Platform
Receive 6 months of anonymized trade events (timestamp, ticker, side, volume, account_segment) plus a static follower graph among 50k 'top trader' accounts. Build a streaming pi…
- Streaming
- Network Science
- Graph Analysis
Network Science and Computational Social Science - CodeSeniorNew
Port a Microkernel's Fast Message Path from x86-64 to RISC-V
Starting from the representative fast-path module and its behavioral specification in the provided materials, re-implement the synchronous fast message path for RISC-V 64-bit (t…
- Microkernels
- Ipc
- Risc V
Open coursework - CodeSeniorNew
Build a Unikernel for a Privacy-Focused VPN Provider
Choose either MirageOS or Unikraft as the unikernel framework. Build an image running a minimal WireGuard data plane (existing OCaml or Rust WireGuard reference implementation i…
- Unikernels
- Virtualization
- Wireguard
Advanced Operating Systems - CodeSeniorNew
Build a Distributed Shared Memory Layer Over RDMA for Risk Engines
Build a Distributed Shared Memory library in C++ that exposes a small region interface — allocate a shared region, read from it, write to it, and free it — starting from the pro…
- Distributed Systems
- Rdma
- Consistency Models
Open coursework - DesignSeniorNew
Design a Raft Consensus Layer for Multi-Region Active-Active Replication
Using the engineering brief, the production fault profile, and the starter Go module declared in the provided materials, design and build a Raft-based consensus layer and prove …
- Distributed Consensus
- Raft
- Fault Tolerance
Open coursework - DesignSeniorNew
Design a Lock-Free Concurrent Skip List for a Time-Series Database
Using the baseline implementation and benchmark harness in the provided code module (baseline-skiplist-rs), design and build a lock-free skip list that replaces the mutex-guarde…
- Lock Free
- Concurrent Data Structures
- Rust Programming
Open coursework - CodeSeniorNew
Bulk Synchronous Parallel PageRank for a Web-Graph Lab
Working from the lab situation record (`lab-case-file`), implement 25 iterations of PageRank under a Bulk Synchronous Parallel (BSP) model using either Apache Spark with GraphX …
- Parallel Algorithms
- Bsp
- Graph Algorithms
Open coursework - CodeSeniorNew
Assess Secure Cross-Bank Fraud Computation for a Four-Bank Consortium
Using the de-identified situation in the consortium case file and the two synthetic per-bank datasets (the bank suspicious-account lists and the merchant fraud-marker tallies), …
- Secure Computation
- Mpc
- Cryptography
Open coursework - DesignSeniorNew
Design a Symbolic-Execution Test-Generation Pipeline for a Date-Time Library
Design a generation pipeline that turns the public parsing and arithmetic surface of the supplied library module into branch-covering test inputs using a symbolic-execution engi…
- Symbolic Execution
- Klee
- Test Generation
Open coursework - CodeSeniorNew
Detect Use-After-Free with Pointer Analysis in a C++ Codebase
Build the codebase with compilation database (compile_commands.json). Write a custom Clang static-analyzer checker (or extend an existing one) that flags resource-handle uses af…
- Pointer Analysis
- Static Analysis
- Use After Free
Open coursework - DesignSeniorNew
Design a Semantic Configuration Validator Using Abstract Interpretation
Using the configuration schema reference, the three incident post-mortems, and the 200-configuration validation set provided, design an abstract domain that captures relations b…
- Abstract Interpretation
- Static Analysis
- Rust Programming
Open coursework - CodeSeniorNew
HyperLogLog Cardinality for Real-Time Ad-Auction Analytics
Implement HyperLogLog with precision parameter p in {12, 14, 16} (4KB, 16KB, 64KB sketches) and benchmark relative error on a replayed 3-hour production trace (around 13 billion…
- Hyperloglog
- Probabilistic Data Structures
- Streaming Systems
Randomized Algorithms
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.



















































































