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
- StrategyBeginnerNew
Introduce XP Practices to a Legacy E-Commerce Codebase
Run a 6-week intervention with the 7-person checkout team. Week 1: baseline (current test coverage, defect-escape rate, story cycle time). Weeks 2-5: introduce TDD on all new co…
- Extreme Programming
- Test Driven Development
- Ai Pair Programming
Agile Methods and Practices - CodeBeginnerNew
Greedy Algorithm for Delivery-Slot Assignment
Receive 14 days of order data (around 4,800 orders) with timestamps, addresses (already geocoded), and slot preferences, plus rider rosters with shift starts, ends, and max work…
- Greedy Algorithms
- Algorithm Analysis
- Python Or Javascript
Algorithm Design and Analysis - CodeBeginnerNew
Shortest-Path Routing for a Bike-Share Operator
Receive the graph (nodes with lat/lon/elevation, edges with length and slope) and 50 origin-destination test pairs. Implement Dijkstra's algorithm with a custom edge-weight func…
- Graph Algorithms
- Dijkstra
- Algorithm Analysis
Algorithm Design and Analysis - ResearchBeginnerNew
NP-Completeness Investigation of a Scheduling Feature Request
Read the feature spec (around 30 vets per clinic, around 10 rooms, around 200 appointments per day, vet-skill constraints, room-equipment constraints, customer-time preferences)…
- Np Completeness
- Complexity Theory
- Algorithm Analysis
Algorithm Design and Analysis 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
- CodeBeginnerNew
Add Constant Folding and Dead Code Elimination to a Toy Compiler
Fork the repo, read the IR specification (3-address code, register-based, documented in /docs/ir.md). Implement constant folding as an IR-to-IR pass: any operation on literal op…
- Intermediate Representation
- Constant Folding
- Dead Code Elimination
Compiler Construction - 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 - DesignBeginnerNew
Custom Accelerator Sketch for an Image-Processing Pipeline
Read the current C reference implementation of the 5x5 Gaussian blur (provided). Sketch a parallel datapath that produces 1 output pixel per cycle using a sliding 5x5 window ove…
- Hardware Accelerators
- Datapath Design
- Performance Modeling
Computer Architecture - 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 - 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.
- CodeBeginnerNew
Build a Software Rasterizer for a Teaching Engine
Implement a software rasterizer in C++: vector and matrix math (3D and 4D), model/view/projection transforms, viewport mapping, triangle setup, edge-function rasterization with …
- Rasterization
- Geometric Transformations
- 3d Rendering
Introduction to Computer Graphics - CodeBeginnerNew
Build a Reliable Transport Layer Over UDP
Implement in Go: connection establishment (3-way handshake), sequenced and acknowledged data segments, retransmission timer with exponential backoff, fast retransmit on triple d…
- Tcp Ip
- Reliable Transport
- Udp
Computer Networks - CodeBeginnerNew
Implement a Distance-Vector Routing Algorithm
Implement distance-vector routing in Python: each simulated router maintains a distance vector, exchanges vectors with neighbors every 1 second of simulated time, and updates it…
- Routing
- Distance Vector
- Network Simulation
Computer Networks - 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 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
- AnalysisBeginnerNew
Profile and Optimize a Virtual-Memory-Heavy Image Pipeline
Receive the Go pipeline source, a representative batch (1,200 photos averaging 12MB each, with 30 outliers over 80MB), and host specs (4-core, 16GB RAM, Linux kernel 5.15). Run …
- Virtual Memory
- Performance Profiling
- Memory Hierarchy
Computer Systems and Organization - 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
- Systems Language Proficiency (Go, Rust, C++)
Concurrent and Parallel Programming - 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 - AnalysisBeginnerNew
Cluster a Mid-Market SaaS Customer Base for Account-Tier Re-segmentation
Pull 12 months of usage signals from the warehouse: feature adoption depth, session frequency, integration counts, ticket volume, NPS (Net Promoter Score), seat utilization. Sta…
- Clustering
- K Means
- Hdbscan
Data Mining and Information Retrieval - 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
Embedded Systems Engineering - 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
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
Functional Programming - CodeBeginnerNew
Replace Raw Pointers with Smart Pointers in a Game-Engine Module
Audit the 18k-line module for raw-pointer ownership patterns (owning, borrowing, shared). Refactor in 4 phases: (1) introduce unique_ptr for clearly-owning sites, (2) shared_ptr…
- Cpp Programming
- Manual Memory Management
- Pointers
Imperative and Low-Level Programming - CodeBeginnerNew
Build a Search-Based Logistics Router for a Same-Day Delivery Service
Build a Python service exposing /route that takes (courier_location, list_of_stops, traffic_window) and returns an ordered route. Implement 2 search strategies: A* (with a domai…
- Search Algorithms
- Intelligent Agents
- Python Or Javascript
Introduction to Artificial Intelligence (CS Elective) - CodeBeginnerNew
Knowledge-Graph Recommender for a Niche Online Bookstore
Model the catalog as a knowledge graph (nodes: books, authors, genres, themes, eras, awards; edges: wrote, in-genre, has-theme, won, similar-to). Use Neo4j or a simple Python in…
- Knowledge Representation
- Knowledge Graphs
- Python Or Javascript
Introduction to Artificial Intelligence (CS Elective) - CodeBeginnerNew
Intelligent Agent for a Smart-Thermostat Pricing-Aware Schedule
Design an intelligent agent with: perception (read sensor history), basic learning (cluster comfort intervals from 7 days of observations), decision-making (schedule heating to …
- Intelligent Agents
- Basic Learning
- Python Or Javascript
Introduction to Artificial Intelligence (CS Elective) - CodeBeginnerNew
Design and Implement a C++ Telemetry Aggregator With Inheritance
Implement a TelemetrySource abstract base class with virtual sample() and timestamp() methods, 6 concrete subclasses (one per sensor family), and a TelemetryBus that polymorphic…
- Systems Language Proficiency (Go, Rust, C++)
- Inheritance
- Polymorphism
Object-Oriented Programming and Design
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.



















































































