100 likes | 113 Views
Get ready for Test 2 with a comprehensive review of topics from Chapters 5, 6.1, 7.1-7.5, 12, 13, and 15.1. A detailed study guide is provided on the course web page.
E N D
Review for Test 2 Chapters 5 (start at 5.4), 6.1, 7.1-7.5, 12, 13, 15.1, Python
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!