Computer & Information Sciences
Information Systems Challenges
Real information-systems challenges on Ewance — model data, integrate systems, and align technology with how an organisation actually runs. Solve them to build a portfolio of verified, recruiter-checkable proof you can do the work — not just describe it.
Recommended challenges
- DesignIntermediateNew
Build Hybrid Keyword-Plus-Embeddings Search for a Legal Document Portal
Using the product context brief (legal_portal_brief), design a hybrid retrieval system that combines BM25 keyword scoring with dense embeddings and fuses the two ranked lists wi…
- Information Retrieval
- Bm25
- Vector Search
Open coursework - 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
- Rust
Advanced Concurrency and Parallel Computing - CodeIntermediateNew
Tame Lock Contention on a Shared Property-Manager CRM Database
Working only from the four provided materials, produce a fix-and-prove package. Start with the recorded lock snapshots (lock_snapshots) and the environment case file (db_environ…
- Concurrency Control
- Lock Contention
- Postgresql
Open coursework - AnalysisIntermediateNew
Tune OpenMP Performance on a Memory-Bound Genomics Pipeline
Profile the existing pipeline at 1, 4, 8, 16, 32, 48, 64 threads using Intel VTune + Linux perf. Identify the bottlenecks (likely candidates: NUMA-unaware memory allocation, fal…
- Openmp
- Numa Awareness
- False Sharing
High-Performance and Scientific Computing 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
- CodeBeginnerNew
Implement a User-Space Shell with Process and Signal Handling
Implement a shell in C (no shell helpers, just POSIX system calls). Required features: read a line, parse it into commands + arguments, handle pipelines with arbitrary chain len…
- System Calls
- Process Management
- Signal Handling
Computer Systems and Organization - AnalysisSeniorNew
Diagnose and Fix Query-Planner Misestimates in a FinTech Warehouse
For each of the 6 queries, capture EXPLAIN (ANALYZE, BUFFERS) and compare estimated vs actual rows at each node. Identify the misestimate source per query (single-column stats s…
- Query Optimization
- Postgresql Planner
- Extended Statistics
Advanced Database Systems - DesignIntermediateNew
Build a Scalable-System-Design Spec for a Streaming-Ingest Pipeline
Receive the current architecture (Kafka 3.6, Flink 1.18, ClickHouse 24.x), 4 weeks of production metrics (per-topic throughput, partition skew, Flink operator backpressure, Clic…
- Scalable System Design
- Kafka
- Flink
Open coursework - CodeIntermediateNew
Parallelize a CFD Solver with MPI Across 256 Cores
Profile the serial solver to identify the hot loops (likely: pressure-Poisson solve, advection step, BC update). Decompose the domain via 2D block-structured partitioning. Imple…
- Mpi
- Cpp Programming
- Domain Decomposition
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.
- CodeSeniorNew
Port a CPU Monte-Carlo Simulator to GPU for an Energy Trader
Receive the existing simulator (C++17 + OpenMP, around 5,000 lines), the test book (around 8,000 spread options), and access to an H100 80GB. Port to CUDA: random-number generat…
- Gpu Programming
- Cuda
- Monte Carlo
Advanced Concurrency and Parallel Computing - AnalysisIntermediateNew
Halve a Daily Spark Bill Without Breaking the SLA
Work only from the materials in this file. Read the representative PySpark module (PULSE-JOB) and the cluster configuration (PULSE-CLUSTER) to understand how the nightly job is …
- Spark
- Cost Optimization
- Etl Pipelines
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 - ResearchSeniorNew
Compare NewSQL Architectures for a Real-Time Inventory Platform
Working only from the materials provided — the de-identified evaluation file (case_file_inventory_eval), the contentious-transactions specification (transactions_spec), and the …
- Newsql
- Distributed Databases
- Raft
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
- DesignIntermediateNew
Migrate a 200TB Data Lake from Parquet to Iceberg
Receive an inventory of the 200TB hot tier (around 1,200 tables, around 38 PB of historical data referenced), the current Spark + Trino read patterns, and 6 months of schema-cha…
- Iceberg
- Parquet
- Data Lake
Big Data and Data-Intensive Systems - CodeBeginnerNew
Implement Async Message-Passing for an IoT Gateway
Receive the current gateway source (Python 3.11, single-threaded paho-mqtt client + a serial HTTP forwarder, ~1,100 lines), a sensor-simulator that fans out 500 mock sensors at …
- Async Programming
- Message Passing
- Asyncio
Concurrent and Parallel Programming - CodeIntermediateNew
Apply Software Transactional Memory to a Real-Time Auction Book
Implement two variants of the same auction-book API (best-bid/best-ask lookup, place-order, cancel-order, match-orders): (1) baseline with java.util.concurrent locks + a SkipLis…
- Transactional Memory
- Concurrent Data Structures
- Haskell
Advanced Concurrency and Parallel Computing - CodeBeginnerNew
Build a Multi-Level Feedback Queue Scheduler in xv6
Fork the xv6-riscv repository and implement MLFQ in proc.c with 3 priority queues, per-queue time slices (10ms / 20ms / 40ms), priority demotion on slice exhaustion, and a 100ms…
- Operating Systems
- Scheduling
- C Programming
Operating Systems - 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 - DesignIntermediateNew
Migrate a 6TB Social-Commerce Database to a Sharded Topology
Using the supplied schema specification and the seven-day anonymized query-workload export, decide the correct shard key for each table and justify it from observed access patte…
- Database Sharding
- Postgresql
- Vitess
Open coursework - CodeFoundationalNew
Parallelize an Image-Processing Pipeline with Data Parallelism
Your analysis task is to take the serial pipeline module and its configuration (provided as 'serial-pipeline-module'), run it against the representative image batch described in…
- Data Parallelism
- Python
- Multiprocessing
Open coursework - AnalysisSeniorNew
Tame the P99 Latency Tail of a Real-Time Ad-Auction Service
Working from the four provided materials only, isolate and fix the latency tail of the bidder. Start with the representative auction-handler module ('bidder-module') as the code…
- Performance Optimization
- Ebpf
- Go
Open coursework - AnalysisBeginnerNew
Plan and Validate a MySQL-to-PostgreSQL Records Migration
Using the de-identified case record (incident-file-records-office), the representative schema export (mysql-schema-sample), and the anonymized staging extract (staging-records-s…
- Database Migration
- Mysql
- Postgresql
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 - CodeBeginnerNew
Design a Race-Free Cache for a Read-Heavy Service
Implement a thread-safe LRU-bounded cache in Java (or Go — your choice, defend it) with: read-write lock or copy-on-write semantics, get-or-load pattern with single-flight to de…
- Concurrent Data Structures
- Race Conditions
- Single Flight
Concurrent and Parallel Programming - CodeSeniorNew
Build and Evaluate an LSM-Tree Storage Engine in Rust
Your analysis task is to complete the engine and produce an evidence-backed comparison of the two compaction strategies. Start from the 'starter-engine' Rust module and finish t…
- Lsm Tree
- Storage Engine
- Rust
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.



















































































