Structured Software Engineering Practice
Beyond
Code

Algorithms, data structures, design, and the engineering judgment that connects them.

// A specification before any code
Problem: Route a delivery robot through a city grid.

Given:
  grid      : Map[Cell, Passable]
  start     : Cell
  goal      : Cell

Find:
  path      : List[Cell]

Such that:
  path[0]  == start
  path[-1] == goal
  all(cell in grid and grid[cell] == Passable
      for cell in path)
  len(path) == minimum over all valid paths
problem model algorithm invariant contract refactor test
Vijay Mathew
Contents →