Computer Science
Programming Fundamentals Challenges
Programming Fundamentals challenges put you inside the work of writing code that is correct, readable and fast. You'll build core skills in functions & data structures, object-oriented design and design patterns, work in Python or JavaScript, and learn to do code reading and refactoring the way teams expect.
From there you'll tackle the harder edges — algorithm analysis, complexity analysis, graph algorithms and generics & type systems — pushing into performance engineering, low-latency programming patterns and systems-language proficiency (Go, Rust, C++). Each challenge you solve earns a verified credential you can share with recruiters.
Recommended Challenges
· Systems-language proficiency (Go, Rust, C++) Clear- CodeIntermediateNew
Index a Reference Genome with a Suffix Array in Rust
Using the reference-genome FASTA in the provided materials, build an in-memory suffix array (DC3 or SA-IS construction) over the 4-letter DNA alphabet in Rust, then implement co…
- Suffix Arrays
- String Algorithms
- Rust
Open coursework - CodeSeniorNew
Build and Evaluate an LSM-Tree Storage Engine in Rust
Your analysis task is to complete the engine and produce an evidence-backed comparison of the two compaction strategies. Start from the 'starter-engine' Rust module and finish t…
- Lsm Tree
- Storage Engine
- Rust
Open coursework - 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 - DesignIntermediateNew
Design a UV-Preserving Mesh Simplification Pipeline for 3D-Scan-to-Web
Using the textured high-resolution meshes in the scan corpus (scan-corpus), the engineering constraints in the engineering brief (engineering-brief), the integration contract in…
- Geometry Processing
- Mesh Simplification
- 3d Rendering
Open coursework 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
Physically-Based Path Tracer for a Product Visualization Studio
Build a path tracer in C++ with: ray-triangle and ray-sphere intersection on a BVH (bounding volume hierarchy), Lambertian diffuse and Cook-Torrance GGX specular BRDFs, multiple…
- Physically Based Rendering
- Path Tracing
- Shading And Lighting
Advanced Computer Graphics - AnalysisSeniorNew
Tame the P99 Latency Tail of a Real-Time Ad-Auction Service
Working from the four provided materials only, isolate and fix the latency tail of the bidder. Start with the representative auction-handler module ('bidder-module') as the code…
- Performance Optimization
- Ebpf
- Go
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.
Related skill families
Browse all skillsIndustry 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.



















































































