Abstracts away from specific programming languages, describes sequential computations, has less syntactic noise than typical languages, indicates structure using indentation, often uses left arrow for assignment, avoids many of the finer details of a programming language, without sacrificing precision