Assignment 1: Due November 28th
 
  1. Solve the following exercises in the operational semantics textbook: 2.7, 2.17, 2.20,  2.31, 2.34
  2. Show how to extend the natural and the structural operational semantics to handle side effects in expressions created by ++x and demonstrate the semantics on an extended While program
     x := 1 ; y := 1 ; while x < 6 do y := y * ++x
  3. Read Section 2.5 and answer questions 2.45
  4. Update the Prolog rules for SOS to handle parallelism and non-determinism and apply to interesting examples with loops