Skip to contentSkip to content
Verified credentials. On-chain. Forever.Learn more
Ewance
Sign in
Cover image for Ship a Knapsack Battery Allocator for Farm Sensors
Code

Ship a Knapsack Battery Allocator for Farm Sensors

FreeVerified credential2 weeksAdvanced

Overview

What this challenge is about.

Build a knapsack battery allocator for farm sensors, port it to C under 32KB RAM, and earn a verifiable certificate.

The scenario

Greenstalk Sensorics operates about 8,000 battery-constrained agricultural sensors across Nordic farms, where every milliamp-hour spent sensing competes against the next day's uptime. Firmware runs on microcontrollers with only 32 kilobytes of RAM, so allocation logic must be provably small as well as correct.

CredentialBlockchain-anchored
ShareableLinkedIn-ready
LanguageEnglish
PaceSelf-paced

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.

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.

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

One more thing

You can put a credential on your CV by Friday.