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
- DesignFoundationalNew
Model and Normalize a Vet-Clinic SaaS Schema
Read the current schema dump (PostgreSQL, around 28 tables, heavily denormalized) and the team's 8 most common reporting queries. Produce an entity-relationship diagram from the…
- Data Modeling
- Normalization
- SQL
Introduction to Database Systems - DesignIntermediateNew
Design a Transactional Schema for a SaaS Order-Provisioning System
Design the schema for orders, quota packs, consumption events, and refunds. Define each critical transaction (buy, consume, refund) with isolation level and locking strategy. Id…
- Transactions
- Acid
- Isolation Levels
Introduction to Database Systems - 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
Advanced Computer Architecture - DesignSeniorNew
Design a Strong-Consistency Distributed Counter Service
Design the service end-to-end: storage (Spanner / CockroachDB / FoundationDB — you choose), counter scheme (sharded counters with periodic reconciliation vs strongly-consistent …
- Distributed Databases
- Consensus
- Strong Consistency
Advanced Database Systems 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
- CodeSeniorNew
Port a Numerical Kernel from CPU to GPU for a CFD Simulator
Receive the existing CFD solver (C++17 + OpenMP, around 8,000 lines, the hot kernel is a 7-point stencil sweep over a 512^3 grid), the validation harness, and access to an A100 …
- Gpu Programming
- Cuda
- Parallelism
Performance Engineering of Software Systems - 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
Computer Architecture - CodeFoundationalNew
Parallelize an Image-Processing Pipeline with Data Parallelism
Receive the current pipeline (Python 3.12, ~600 lines, uses Pillow + ffmpeg), a representative batch (1,000 images averaging 3MB each), and host specs (16 cores, 32GB RAM). Rewr…
- Data Parallelism
- Python
- Multiprocessing
Concurrent and Parallel Programming - 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 - 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
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 - 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
Design a Change-Data-Capture Pipeline for an E-Commerce Reseller
Receive the MySQL schema (220 tables), 7 days of binlog samples, and the data team's freshness + correctness requirements. Design the CDC pipeline: Debezium for MySQL binlog cap…
- Change Data Capture
- Debezium
- Kafka
Big Data and Data-Intensive Systems - DesignIntermediateNew
Design a Geo-Distributed Storage Layer for an EdTech
Map the access patterns (90 percent reads from the country of origin, 10 percent cross-country via teacher reviewers). Design region routing using a metadata service backed by a…
- Geo Distribution
- Data Residency
- Cockroachdb
Distributed Systems 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
- DesignSeniorNew
Design an OS-Level Side-Channel Mitigation for a Multi-Tenant Cloud
Read 3 canonical cache-side-channel papers (provided). For each attack: characterize the threat model, the required attacker capabilities, and the OS-level invariant that, if he…
- Os Security
- Side Channels
- Virtualization
Advanced Operating Systems - 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
- Rust
Advanced Database Systems - CodeIntermediateNew
Build a Streaming Pipeline for Real-Time Fraud Detection
Receive 30 days of anonymized card-transaction events (around 240M events total), the team's existing batch features (cardholder behavior summaries), and a pre-trained fraud-sco…
- Stream Processing
- Kafka
- Flink
Big Data and Data-Intensive Systems - 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 - 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 - ResearchSeniorNew
Compare NewSQL Architectures for a Real-Time Inventory Platform
Study the architecture papers and documentation for CockroachDB (its Spanner-inspired multi-active design), TiDB (Raft + multi-Raft + TiKV + TiDB SQL layer), and Spanner (TrueTi…
- Newsql
- Distributed Databases
- Raft
Advanced Database Systems - StrategyBeginnerNew
Migrate a Local-Government Records System from MySQL to PostgreSQL
Audit the MySQL schema (around 60 tables) for incompatibilities (case-folding identifiers, ENUM types, TIMESTAMP semantics, character sets). Plan a migration using pgloader for …
- Database Migration
- Mysql
- Postgresql
Introduction to Database Systems - 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
- Go
Concurrent and Parallel Programming - 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 - ResearchBeginnerNew
Survey Information-Retrieval Research for an AdTech Platform's Roadmap
Build a reading list of 30-40 papers spanning SIGIR, RecSys, KDD, WSDM, and arXiv from 2023-2025 across (a) dense retrieval architectures, (b) learning-to-rank with click feedba…
- Information Retrieval
- Learning To Rank
- Research Synthesis
Data Mining and Information Retrieval - CodeBeginnerNew
Reverse-Engineer a Stripped Binary to Restore Linking Symbols
Receive the stripped shared object (Linux ELF, x86-64, ~280KB), a crash dump with 12 frames of indecipherable addresses, and 4 years of partial git history with some related (bu…
- Reverse Engineering
- Linking And Loading
- Machine Code
Computer Systems and Organization - 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
High-Performance and Scientific Computing
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.



















































































