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 - CodeIntermediateNew
Refactor a Tangled Order Aggregate at a Logistics Platform
Work in the provided Spring Boot 3 + Java 21 codebase. Identify the true aggregate roots (likely candidates: Order, Shipment, Invoice) and split the god object accordingly. Extr…
- Tactical Ddd
- Aggregate Design
- Java Refactoring
Open coursework 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
Design an Anti-Corruption Layer for a Legacy Hospital EHR
Map the legacy EHR's HL7 v2 message schema (ADT, ORM, ORU segments) to the new platform's domain (Patient, Encounter, Order, Result). Identify the 6-10 anti-patterns in the lega…
- Anti Corruption Layer
- Hl7 Integration
- Domain Modeling
Domain-Driven Design - CodeIntermediateNew
Apply Hexagonal Architecture to a Payments Microservice
Design the settlement domain in pure Kotlin (no Spring imports, no framework annotations). Define ports for: payment-network adapter (one inbound per network — SEPA, Faster Paym…
- Hexagonal Architecture
- Ports And Adapters
- Kotlin Programming
Domain-Driven Design - CodeIntermediateNew
Port a Drone Flight Controller from Bare-Metal to FreeRTOS
Take the existing bare-metal firmware (STM32H7, around 14,000 lines C). Identify the tasks (control loop 1 kHz, IMU read 2 kHz, GPS 10 Hz, telemetry 50 Hz, command parsing event…
- Freertos
- Rate Monotonic Scheduling
- C Programming
Open coursework - CodeIntermediateNew
Build a Zephyr-Based Sensor Node for Industrial IoT
Set up a Zephyr workspace, configure the device tree for the provided nRF52840 + ADXL355 + custom BLE service. Implement: SPI driver for accelerometer at 4 kHz, on-device 1024-p…
- Zephyr Rtos
- Ble Protocol
- Low Power Design
Embedded Systems Engineering - 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.
- 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 - DesignBeginnerNew
Build a PlatformIO CI Pipeline for a Multi-Board Firmware Team
Use GitHub Actions + PlatformIO. Build matrix across the 6 boards. Run native unit tests + QEMU-based emulation tests for boards that QEMU supports. Set up a self-hosted runner …
- Platformio
- Github Actions
- Embedded Ci
Open coursework - 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 - DesignBeginnerNew
Design a Resilient Bridge Between New Commerce and Legacy SAP
Using the integration requirements case file, design how all five interactions move between the storefront and SAP ECC: order create, pricing inquiry, inventory availability, cr…
- Enterprise Integration
- SAP Integration
- Apache Camel
Open coursework 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
- StrategyIntermediateNew
Decompose a CRM Monolith into Bounded Services
Analyze the monolith using NDepend or similar (provided). Identify the top 4-6 candidate service boundaries based on coupling + business-capability seams (likely: Quotation, Pol…
- Strangler Fig Pattern
- Service Decomposition
- Csharp Programming
Enterprise and Business Software Engineering - DesignIntermediateNew
Replace Nightly Batch Loads with Near-Real-Time Reporting at a Pump Manufacturer
Using the system inventory in the provided case-file, classify all nine source systems by the most appropriate way to capture their changes: log-based change data capture where …
- Change Data Capture
- Kafka
- Debezium
Open coursework - CodeIntermediateNew
Build a Saga Orchestrator for Cross-Border Payment Creation
Using the service contract specification and the failure scenario catalog provided, model the payment-creation flow as a saga with six forward steps and six compensations, and i…
- Saga Pattern
- Temporal Workflow
- Compensation Logic
Open coursework - CodeIntermediateNew
Design an Event-Sourced Inventory System for a Third-Party Warehouse
Working from the operations case file and the warehouse domain specification, design an event model of twelve to fifteen events that covers the warehouse lifecycle (receive, put…
- Event Sourcing
- Cqrs
- Eventstoredb
Open coursework - CodeIntermediateNew
Bridge a Healthcare Messaging System from RabbitMQ to Kafka
Working from the provided RabbitMQ topology specification and the 30-day message-volume dataset, map each of the 24 queues to a Kafka topic and choose a sound partition key for …
- Kafka
- Rabbitmq
- Message Broker Migration
Open coursework - DesignIntermediateNew
Design a Real-Time Fraud-Scoring Stream for a Card Issuer
Produce a design proposal for a fraud-scoring stream that ingests authorization events, maintains a 30-day rolling feature state per customer, applies a pre-trained scoring mode…
- Apache Flink
- Kafka Streams
- Stream Processing
Open coursework - CodeBeginnerNew
Model a Trading Order Book with Algebraic Data Types in Haskell
Design ADTs for Side (Buy | Sell), OrderType (Limit | Market | StopLimit), Order, Trade, and BookState. Make illegal states unrepresentable (e.g. a Match can never produce a neg…
- Haskell
- Algebraic Data Types
- Property Based Testing
Functional Programming - CodeBeginnerNew
Refactor a Node.js Service into Scala with Effect Systems
Take the existing Node.js price-normalization code (provided). Rewrite in Scala 3 using ZIO (or Cats Effect) — model every effect explicitly (IO for side effects, Either or type…
- Scala Programming
- Zio Effects
- Cats Effect
Functional Programming - CodeBeginnerNew
Build a Readable Rules Language for Insurance Policies in OCaml
Design a small domain-specific language that covers the building blocks of policy rules: variables (insured amount, premium, deductible, named perils), expressions (arithmetic, …
- Ocaml
- Domain Specific Languages
- Parser Combinators
Open coursework - CodeBeginnerNew
Apply Property-Based Testing to a Currency-Conversion Module
Rewrite the conversion module in F#: use units of measure for currency types, immutable value types for amounts, no floating-point arithmetic (Decimal only). Build property test…
- Fsharp
- Property Based Testing
- Fscheck
Functional Programming - CodeBeginnerNew
Convert an Imperative Recommendation Service to Pure Functional Style
Take the Python ranking module (around 900 lines). Identify side-effects (DB reads, cache lookups, logging, time) and lift them to the boundary. Rewrite the ranking core in Scal…
- Scala Programming
- Pure Functions
- Functional Core Imperative Shell
Open coursework
CodeBeginnerNewBuild PR-Based Environment Promotion for an HVAC SaaS
Using the provided GitOps starter repository sample and the promotion specification, stand up Flux v2 with its image-reflector and image-automation controllers and define semant…
- Flux
- Image Automation
- Github Actions
Open coursework
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.



















































































