A first course in computer science, covering the principles of programming languages and their connection to actual computers, supported by examples of algorithms. Presentation relies on the PROSA programming language (which is very similar to Pascal but incorporates changes that simplify and make clear some concepts not found in Pascal). The very accessible development employs attribute grammars to describe the syntax, and an operational approach...