Review for Test 2 Chapters 5 (start at 5.4), 6.1, , 12, 13, 15.1, Python
Detailed study guide is available from the course web page.
Chapter 5 - Types Array design & implementation issues; e.g., bounds checking – yes or no?, access functions for one and two-d arrays Parametric polymorphism
Chapter 6 – Type Systems A type system is the set of rules that defines the binding between a type, its values, and the operations that can be performed on the values. A type map is a function that binds the variables declared in a program to their type. Six type rules – be able to recognize them but you do not have to memorize them. You should be able to state a simple type rule.
Chapter 7 – Semantics Define semantics Be able to express infix expressions in other formats. Side effects Various “special” features – short circuit eval, assignment semantics, etc. Definition of Turing complete languages
Chapter 12 – Imperative Characteristics; relation to von Neumann computers Procedural abstractions and top-down refinement
OO Paradigm Three characteristics of OO programming languages –Be sure to understand the difference between “pure” polymorphism and parametric polymorphism OO terminology Python’s OO characteristics
Python Know the features that you needed for your program (especially for, range statement, lists, dictionaries) –No need to memorize I/O syntax Know basic characteristics of scripting languages Compare Python to C, C++, Java syntax.
Chapter 15 – Logic Programming Differences between logic programming paradigm and imperative/OO paradigm. –Program as facts and rules; Prolog provides the logic Be able to identify terms such as Horn clause, resolution, …
Format Same type questions as Test 1 GOOD LUCK!