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
- CodeIntermediateNew
Stream-Process a 64-Microphone Array to Locate Bearing Faults in Real Time
Using the provided fixture generator and array-geometry spec, implement an overlap-add streaming pipeline that consumes 64 channels in 1,024-sample frames with 50 percent overla…
- Fft
- Signal Processing
- Beamforming
Open coursework - CodeIntermediateNew
Roll Out mTLS Across 80 Microservices with Istio
Install Istio (current LTS) in ambient mode where possible, sidecar mode where ambient is not yet supported by the service. Phase 1: enable PERMISSIVE mTLS namespace by namespac…
- Istio
- Mtls
- Kubernetes
Service Mesh and Microservices Networking - CodeIntermediateNew
Canary Deployments via Mesh Traffic Splitting for a Streaming Platform
Set up Flagger with Istio as the traffic provider. Define a canary policy for the playback-API service: 5 percent → 25 percent → 50 percent → 100 percent with 5-minute bake at e…
- Istio
- Flagger
- Canary Deployment
Service Mesh and Microservices Networking - AnalysisIntermediateNew
Capacity Planning Model for a Black-Friday Traffic Surge
Pull 18 months of per-service request rate + utilization from Prometheus. Forecast BFCM traffic per service using a baseline + multiplicative seasonal model (Prophet or statsmod…
- Capacity Planning
- Forecasting
- Autoscaling
Site Reliability Engineering 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
- CodeIntermediateNew
Specification-First Refactor of a Payments Module
Read the module, the last 12 months of incidents touching it, and the existing tests. Write a 6-page specification using a precondition / postcondition / invariant format per pu…
- Specifications
- Refactoring
- Characterization Testing
Open coursework - CodeIntermediateNew
Debug a Race Condition in a Real-Time Collaboration Service
Build a deterministic load-test harness (k6 or Playwright) that reproduces the corruption within 3 attempts on a clean local stack. Capture traces with OpenTelemetry to localize…
- Debugging
- Concurrency
- Load Testing
Software Construction - CodeIntermediateNew
Refactor a God-Object Order Service with Strategy + Command
Read OrderService and the last 18 months of bug tickets touching it. Author a 5-page design document showing the current class diagram, the target Strategy-per-order-type + Comm…
- Design Patterns
- Refactoring
- Strategy Pattern
Software Design and Design Patterns - CodeIntermediateNew
Repository + Unit-of-Work Refactor on an EF Core Codebase
Read the data-access patterns across the 5 bounded contexts (Payroll, Timesheets, Benefits, Org, Reporting) and tag the 12 worst N+1 incidents from the last quarter's traces. Au…
- Repository Pattern
- Unit Of Work
- Design Patterns
Software Design and Design Patterns - 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.
- ResearchIntermediateNew
Design an Empirical Study of Pull Request Review Throughput
Using the provided pull request dataset and the stakeholder brief, design and run an empirical software-engineering study on review throughput. State three falsifiable hypothese…
- Empirical Software Engineering
- Software Analytics
- Statistical Analysis
Open coursework - CodeIntermediateNew
Ship an Engineering-Health Dashboard for an 18-Team Org
Using the four sample data extracts (pull-request events, Linear work-item history, PagerDuty incidents, and the quarterly developer-experience survey) and the organization brie…
- Software Analytics
- Dora Metrics
- Space Framework
Open coursework - AnalysisIntermediateNew
Diagnose a Failed Microservices Migration at a Travel Platform
Using only the four supplied materials — the interview transcript excerpts (voyalink-interview-transcripts), the decision and incident artifact corpus (voyalink-artifact-corpus)…
- Industrial Case Study
- Qualitative Research
- Software Architecture
Open coursework - AnalysisIntermediateNew
Reverse-Engineer a 22-Year-Old COBOL Batch Pipeline
Use SonarQube + cobol-language tooling + JCL parsers to extract job dependencies and data-flow across the 140 jobs. Build a job-dependency graph (Graphviz). Run impact analysis:…
- Reverse Engineering
- Legacy Systems
- Dependency Analysis
Software Evolution and Maintenance 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
- CodeIntermediateNew
Refactor a Big-Ball-of-Mud Java Servlet Application
Week 1: install JUnit 5 + Testcontainers harness, write characterization tests for the 2 target workflows (PolicyIssue + ClaimSubmit) reaching at least 80 percent branch coverag…
- Refactoring
- Characterization Testing
- Legacy Systems
Software Evolution and Maintenance - CodeIntermediateNew
Strangler-Fig Modernization of a Healthcare Reporting Service
Audit the report categories (around 14) and pick operating-theater utilization for the pilot extraction (high volume, moderate complexity, low regulatory blast-radius). Design t…
- Strangler Fig
- Legacy Systems
- Feature Flags
Open coursework - DesignIntermediateNew
Build a Quality Metrics Program for a Medical-Device Software Team
Read the team's QMS (Quality Management System) documents and the IEC 62304 software lifecycle requirements. Design a metric catalog of 12-15 metrics covering process (review-co…
- Quality Metrics
- Iec 62304
- Process Improvement
Software Quality and Process Improvement - StrategyIntermediateNew
Roadmap a Defense Software Supplier from CMMI Level 2 to Level 3
Using only the materials provided to you — the de-identified Level 2 appraisal report (M1), the current-state process documentation snapshot (M2), the pilot baseline dataset for…
- Cmmi
- Process Improvement
- Process Models
Open coursework - CodeIntermediateNew
Fuzz a Memory-Unsafe Image-Parsing Library
Identify 3 critical parser entry points (DICOM dataset parser, JPEG 2000 decoder, TIFF directory parser) and write a libFuzzer harness + an AFL++ harness for each. Build with AS…
- Fuzzing
- Memory Safety
- Address Sanitizer
Open coursework - CodeIntermediateNew
Static Analysis SAST Rollout on a Fintech Codebase
Run baseline scans with Semgrep + SonarQube + Snyk Code across all 18 services. Triage the initial findings (likely 800-1,500 raw alerts) into true-positive / false-positive / i…
- Sast
- Semgrep
- Sonarqube
Open coursework - CodeIntermediateNew
Secure the Software Supply Chain of an Open-Source SDK
Audit the current state: dependency tree, publish process, GitHub Actions workflows, signing posture. Generate an SBOM (CycloneDX format) using Syft. Run OpenSSF Scorecard and t…
- Supply Chain Security
- Slsa
- Sbom
Open coursework - AnalysisIntermediateNew
Secure-by-Design Review of a Microservices Auth Subsystem
Read the 18-page proposed auth-service design (Next.js BFF, FastAPI auth-service, Postgres for sessions + refresh, Redis for short-lived tokens, integration with Auth0 for OIDC)…
- Secure Design
- OWASP Asvs
- Oauth2
Software Security - CodeIntermediateNew
Property-Based Testing to Harden a SEPA Payments Parser
Work only from the four supplied items: the de-identified incident log of the last four quarterly parser failures (incident-log), the representative parser module (parser-module…
- Property Based Testing
- Fuzz Testing
- Go
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 - CodeIntermediateNew
Refactor the Untouchable ReturnsProcessor Class Safely
Start from the representative ReturnsProcessor module extract and the behavior contract supplied in the provided materials, and use the change-and-incident history to decide whe…
- Refactoring
- Mikado Method
- Characterization Testing
Open coursework - CodeIntermediateNew
Real-Time Collaboration Whiteboard with WebSockets
Design the board state model (sticky notes + cursor positions) and pick a conflict-resolution approach (last-write-wins for v1, or operational-transform if scoping allows). Buil…
- Websockets
- React
- Nodejs
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.



















































































