Ocean is a simple imperative programming language with the flavor of the C programming language. This report describes the Ocean programming language, particularly as it compares with the C programming language. The Ocean programming language has two goals:
  1. to demonstrate by example that a language can be simpler and safer than the C programming language while still preserving the flavor and expressiveness of C; and
  2. to require a compiler that is simple enough for students to implement in a single course while still touching on most compilation issues.