Computer & Information Sciences
Software Development Challenges
Real software-development projects on Ewance — write, test, and ship working code against briefs that mirror the job. Solve them to build a portfolio of verified, recruiter-checkable proof you can do the work — not just describe it.
Recommended challenges
- DesignBeginnerNew
Add Constant Folding and Dead Code Elimination to a Teaching Compiler
Using the provided intermediate-representation specification, design and propose constant folding and dead code elimination as two intermediate-representation-to-intermediate-re…
- Intermediate Representation
- Constant Folding
- Dead Code Elimination
Open coursework - StrategyBeginnerNew
REST API Versioning Strategy for a 4-Year-Old Public API
Pick a versioning scheme (URI path vs header-based) and justify it against integrator behavior. Define the deprecation lifecycle: announce → deprecate → sunset, with concrete ti…
- REST API Design
- API Versioning
- Openapi
Engineering Software as a Service - CodeIntermediateNew
Unify a Logistics Driver App and Add Bluetooth Vehicle Telematics
Working only from the materials provided, build a React Native app (Expo bare workflow) that replaces the three legacy flows documented in the case file — optimized route view, …
- Mobile Development
- React Native
- Ble
Open coursework - CodeBeginnerNew
Refactor a Legacy Reporting Script for a Renewable-Energy Startup
Read the existing script and identify 5-7 distinct responsibilities tangled together. Refactor into 3 layers: data loaders (CSV, REST API), transformers (pure functions over row…
- Abstraction
- Higher Order Functions
- Refactoring
Programming Abstractions 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
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 - CodeIntermediateNew
Compile a C-Like Subset to WebAssembly for a Game Runtime
Using the studio runtime constraints brief, the five example scripts, and the runtime host harness declared in the provided materials, build a command-line compiler that reads o…
- Code Generation
- Webassembly
- Intermediate Representation
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 - CodeIntermediateNew
Find the Dead Code Hiding in a Python Monorepo
Build a dataflow- and call-graph-based dead-code detector in Python (using libcst, or the standard ast module together with jedi) and prove it on the materials provided. Run it …
- Dataflow Analysis
- Ast
- Call Graph
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.
- CodeBeginnerNew
Refactor a Tangled Java Pricing Engine With Design Patterns
Start from a provided Java 21 codebase with the legacy PricingEngine class, 38 example fixtures (input cart, expected price), and one failing test demonstrating a bug from last …
- Java
- Design Patterns
- Refactoring
Open coursework - DesignIntermediateNew
Design an Invoice-Rules Mini-Language for Non-Technical Users
Design a rule mini-language whose grammar (written in Backus-Naur Form, the standard notation for describing grammars) covers boolean logic (and / or / not), comparison operator…
- Abstraction
- Recursion
- Domain Specific Language
Open coursework - DesignBeginnerNew
Design an Offline-First Android Field-Survey App for Wildlife Rangers
Using only the four provided materials, design a native Android application in Kotlin (with Jetpack Compose for the interface) that targets the rangers' rugged handsets describe…
- Mobile Development
- Android Kotlin
- Sensors
Open coursework - CodeIntermediateNew
Kill Surviving Mutants in a Travel Pricing Service
Work entirely from the provided pricing module (pricing-module) and its existing test suite (existing-tests), using the scenario facts in the briefing document (challenge-brief)…
- Mutation Testing
- Java
- Junit
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
- CodeIntermediateNew
Build a Shareable Immutable List for a Real-Time Document Editor
Using the provided API specification (persistent-list-spec) and the starter module (immutable-list-starter), implement a persistent immutable list supporting get, set, append, p…
- Data Abstraction
- Recursion
- Persistent Data Structures
Open coursework - CodeBeginnerNew
Performance Optimization for a Slow Storefront
Run Lighthouse + WebPageTest baselines on 3 representative pages (home, product detail, cart). Set up Real User Monitoring (RUM) via Vercel Analytics or web-vitals.js. Ship 5 di…
- Web Performance
- Core Web Vitals
- Nextjs
Web Application Development - CodeBeginnerNew
CI/CD Pipeline for a SaaS Monorepo with 14 Services
Set up Nx (or Turborepo) for affected-graph computation. Configure remote build cache (S3-backed) so cached steps skip across runs and developers. Parallelize jobs in GitHub Act…
- Ci Cd
- Monorepo
- Nx
Open coursework - 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 - CodeIntermediateNew
Build a Clinician-Grade HealthKit Cardiac Rehab iOS App
Build a SwiftUI app targeting iPhones running iOS 17 or later that requests the four HealthKit read permissions named in the product brief (PM-1), reads the last seven days of d…
- Mobile Development
- Ios Swift
- Healthkit
Open coursework - CodeIntermediateNew
Port a Legacy C Image Pipeline from x86 to ARM64
Clone the 12k-line C codebase (provided). Set up an ARM64 cross-compile toolchain (clang or gcc). Identify portability issues: endianness assumptions, pointer-size casts, inline…
- C Programming
- Manual Memory Management
- Pointers
Imperative and Low-Level Programming - 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 - StrategyIntermediateNew
Stand Up Contract Testing for a Logistics Microservices Backend
Using only the materials provided, choose and justify the six producer-consumer service pairs to migrate first. Read the 90-day staging breakage log to rank pairs by how much pa…
- Contract Testing
- Pact
- Microservices
Open coursework - DesignIntermediateNew
Authentication + RBAC for a Multi-Workspace SaaS
Design the auth architecture: identity provider (managed), session model (JWT with rotation), workspace-membership claims, RBAC permission model (4 default roles, custom-role ca…
- Authentication
- Rbac
- Sso
Engineering Software as a Service - 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 - CodeBeginnerNew
Case File: Smart-Pointer Refactor of a Game-Engine Module
Work only from the four supplied items: the representative entity-component-system module slice, the before-refactor heaptrack leak readout, the de-identified incident log, and …
- Cpp Programming
- Manual Memory Management
- Pointers
Open coursework - CodeBeginnerNew
Design a Domain Model for a Library Loan System (Java)
Implement, in Java 21, an Item type hierarchy (Book, AudioBook, Periodical, EquipmentLoan — each with sub-type-specific rules), Member with eligibility logic, Loan as an aggrega…
- Java
- Oo Design
- Domain Modeling
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.



















































































