programming languages and environments classes - practical exercises