Browse by field of study
Computer & Information Sciences Challenges
Real industry-shaped challenges across Computer & Information Sciences. Pick the specific field you're studying, solve an actual brief, and walk away with verified, portable proof recruiters can confirm in one click.
Recommended challenges
- 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…
- Python Or Javascript
- Oo Design
- Domain Modeling
Object-Oriented Programming and Design - CodeBeginnerNew
Apply SOLID to a Java Reporting Service for a Renewable Energy Startup
Receive the legacy ReportService, 4 sample report templates (Daily Output, Monthly P&L, Annual Availability, Curtailment), and 22 fixtures (input dataset, expected report). Refa…
- Python Or Javascript
- Solid Principles
- Refactoring
Object-Oriented Programming and Design - CodeBeginnerNew
Build a Plugin-Based Notification Framework With Observer + Factory
Implement, in Java 21: an EventBus that supports typed subscriptions, a NotificationChannel interface with concrete subtypes (Push, Email, InApp, SMS), an AbstractChannelFactory…
- Python Or Javascript
- Design Patterns
- Oo Design
Object-Oriented Programming and Design - CodeIntermediateNew
Build a CodeQL Query Pack to Catch Logging-of-PII
Use CodeQL to write queries for Java and Python that detect data flow from PII sources (request parameters, database columns marked PII, user-profile fields) into logging sinks …
- Static Analysis
- Codeql
- Data Flow Analysis
Program Analysis 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
- CodeSeniorNew
Build a Symbolic-Execution-Based Test Generator for a Library
Pick KLEE for the symbolic-execution engine. Build LLVM bitcode for the library's C99 build target. Define symbolic inputs for the public parsing API (date strings up to 32 char…
- Symbolic Execution
- Klee
- Test Generation
Program Analysis - CodeSeniorNew
Detect Use-After-Free with Pointer Analysis in a C++ Codebase
Build the codebase with compilation database (compile_commands.json). Write a custom Clang static-analyzer checker (or extend an existing one) that flags resource-handle uses af…
- Pointer Analysis
- Static Analysis
- Use After Free
Program Analysis - CodeIntermediateNew
Build a Dataflow-Based Dead-Code Detector for a Python Monorepo
Build a Python tool using libcst (or ast + jedi) that constructs a call graph across the monorepo. Account for indirect references (entry points in setup.py / pyproject.toml, dy…
- Dataflow Analysis
- Ast
- Call Graph
Program Analysis - CodeSeniorNew
Abstract-Interpretation-Based Configuration Validator for a SaaS Platform
Define an abstract domain capturing relations between configuration fields (e.g. 'if billing.plan = enterprise then features.audit_log = true'). Implement an abstract-interpreta…
- Abstract Interpretation
- Static Analysis
- Rust Programming
Program Analysis - 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 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 - CodeBeginnerNew
Implement an Expression Evaluator Using Recursion and Higher-Order Functions
Implement in Python (or TypeScript). Build a tokenizer, a recursive-descent parser producing an abstract syntax tree (AST), and a tree-walking evaluator. Use higher-order functi…
- Recursion
- Higher Order Functions
- Parsing
Programming Abstractions - CodeBeginnerNew
Build a Functional Image-Filter Pipeline for a Photography SaaS
Design a Filter as a function from (pixel matrix → pixel matrix). Build a compose helper that takes a list of filters and returns a single composed filter (function composition)…
- Higher Order Functions
- Function Composition
- Abstraction
Programming Abstractions - CodeIntermediateNew
Implement a Persistent Immutable List for a Collaborative-Editing Startup
Implement in Python (or TypeScript / Kotlin). Build a persistent immutable list with operations: get, set, append, pop, slice, concat. Use structural sharing (32-way vector trie…
- Data Abstraction
- Recursion
- Persistent Data Structures
Programming Abstractions Get recognized by recruiters and employers.
Credentials are blockchain-anchored via LearnCoin — tamper-evident, portable, link-shareable on LinkedIn and beyond.
Why Ewance
- DesignIntermediateNew
Design a Small Domain-Specific Language for Invoice Rules
Design a DSL grammar (BNF) covering: boolean conditions (and / or / not), comparison operators, customer-attribute references, line-attribute references, and action expressions …
- Abstraction
- Recursion
- Domain Specific Language
Programming Abstractions - CodeIntermediateNew
Multi-Tenant Schema Migration for a Series-B HR SaaS
Design a 4-phase migration: (1) add new columns + tables, dual-write on every workflow mutation, (2) backfill 3.4 TB in chunks of around 50k rows per minute with throttling and …
- Multi Tenant Architecture
- Schema Migration
- Dual Write
Engineering Software as a Service - CodeIntermediateNew
Build a Metered-Billing System for a Usage-Based SaaS
Build an event-ingest API (Express + Redis Streams) that receives usage events with idempotency keys. Aggregate hourly into Postgres rollups using a windowed worker that survive…
- Metered Billing
- Idempotency
- Event Aggregation
Engineering Software as a Service - 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 - 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 - 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
Engineering Software as a Service - CodeBeginnerNew
Build an End-to-End Test Suite for a Checkout Flow
Inventory the last 6 months of production checkout incidents (anonymized export provided). Pick the top 7 user journeys (1 happy path + 6 highest-incident edge cases) and write …
- End To End Testing
- Playwright
- Ci Cd
Software Testing and Quality Assurance - CodeIntermediateNew
Property-Based Testing for a SEPA Payments Library
Read the SEPA Pain.001 XSD (XML Schema Definition) and pick 5 invariants the parser MUST preserve (e.g., 'sum of transactions equals control sum', 'IBAN passes mod-97 check', 'c…
- Property Based Testing
- Fuzz Testing
- Systems Language Proficiency (Go, Rust, C++)
Software Testing and Quality Assurance - AnalysisIntermediateNew
Mutation Testing on a Critical Pricing Service
Run PIT against the pricing service to get a baseline mutation score per class. Identify the 5 classes with the largest gap between line coverage and mutation score (these are t…
- Mutation Testing
- Python Or Javascript
- Junit
Software Testing and Quality Assurance - StrategyBeginnerNew
Design a Risk-Based Test Strategy for a Telehealth Release
Run a risk-scoring workshop with the 3 QA engineers and 2 tech leads (template provided). For each of the 7 modules, score probability of failure, customer impact, and regulator…
- Risk Based Testing
- Test Strategy
- Test Planning
Software Testing and Quality Assurance - CodeIntermediateNew
Stand Up Contract Testing for a Microservices Backend
Inventory the 18 services and pick the 6 producer-consumer pairs with the most staging breakages in the last 90 days. Stand up a Pact broker (self-hosted or PactFlow trial). For…
- Contract Testing
- Pact
- Microservices Patterns
Software Testing and Quality Assurance - CodeBeginnerNew
Build a Booking Web App for a Boutique Hotel Group
Design the data model (properties, rooms, availability, bookings, guests). Build the Next.js app with the App Router: 4 public pages (search, results, room detail, checkout), 1 …
- Nextjs
- React
- REST API Design
Web Application Development
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.



















































































