For the midterm exam the students should:
- Know the definitions of the Imperative, Functional, and Declarative (Logic) programming styles
- Know various software and OO notions (object, class, interface, type)
- Be able to describe the 3 OO principles
- Be able to define simple functions in Scala using the functional programming style
- Know the material covered in class from the Scala textbook chapters 3 - 8 (lists, tuples, sets, maps; classes, objects; basic types; functional objects; built-in control structures; functions and closures)