Overview
What this challenge is about.
Ship a Knapsack Battery Allocator for Farm Sensors. Advanced challenge in code. Writing production code that solves real engineering problems, earn a blockch...
The Brief
What you'll do, and what you'll demonstrate.
Formulate and ship a knapsack-style dynamic programming battery allocator that fits in 32 kilobytes of RAM and outperforms the existing greedy heuristic on farmer-value per milliamp-hour across the simulated farm days.
This is not a coding exercise. It is the work a software engineer does between a Jira ticket and a merged PR. That distinction matters to every hiring manager who has seen candidates solve LeetCode problems and none who have shipped production code under real constraints.
When you finish, you will have something most graduates do not: a real-world deliverable, verified by Ewance, that you can show to a hiring manager and say "I did this. Here is the proof."
Earning criteria — what you'll demonstrate
- Model a resource-constrained allocation problem as a 0/1 knapsack dynamic programming variant with side constraints.
- Extend a standard recurrence to handle mandatory items and state-dependent value functions.
- Translate a Python algorithm into memory-bounded C that respects a hard RAM ceiling.
- Validate cross-implementation equivalence between a prototype and a production port.
- Benchmark an optimization against a heuristic baseline using a defensible value metric.
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Aligned coursework coming soon.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Dynamic Programming
Apply dynamic programming to solve real industry problems and demonstrate production-level capability.
- Algorithm Analysis
Apply algorithm analysis to solve real industry problems and demonstrate production-level capability.
- C Programming
Apply c programming to solve real industry problems and demonstrate production-level capability.
- Python
Write clean, efficient Python for data processing, automation, and backend services.
- Embedded Systems
Apply embedded systems to solve real industry problems and demonstrate production-level capability.
- Benchmarking
Apply benchmarking to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles:
Embedded Software Engineer
This challenge mirrors real firmware work: fitting a correct algorithm inside a hard RAM ceiling, porting from a prototype to constrained C, and proving the memory bound. It bridges directly to roles building logic for battery- and memory-limited devices.
This challenge sharpens
- c-programming
- embedded-systems
- dynamic-programming
Algorithms Engineer
You formulate a non-trivial knapsack variant with side constraints and a state-dependent value function, then validate it empirically. That is the core loop of algorithms engineering: model a problem precisely, implement it, and prove it beats the incumbent.
This challenge sharpens
- dynamic-programming
- algorithm-analysis
- benchmarking
Backend Engineer (Optimization)
Resource allocation under hard budgets and benchmarking against a baseline are everyday backend optimization tasks. The discipline of equivalence testing and measurable wins transfers to scheduling, capacity, and cost-optimization services.
This challenge sharpens
- python
- algorithm-analysis
- benchmarking