List of Topics for Quiz 2 in CSE 341, Autumn 2002
Scheme closures
Scheme macros ("Lispish variety", defined using DEFINE-MACRO)
Currying and composition
Formal syntax defined using Backus-Naur and EBNF
Derivations and parse trees
Expression grammar example
Lazy vs eager evaluation
Polymorphism (polymorphic variables, polymorphic procedures)
sets, set membership, subsets
Russell's Paradox
cartesian Products
ML's primitive types, product types, and function types
ML's tuples and lists
ML's type inference
static vs dynamic typing
ML's type variables and polymorphism
List construction in ML
ML's let construct
overloaded operators
The object-oriented paradigm.
object-oriented terminology
(classes, instances, methods, members, invocation of methods,
inheritance, overriding, overloading, abstract methods and abstract
classes, parent classes and subclasses).
Class ("static") methods and data members
versus instance methods and data members.
Java's handling of inheritance:
extending a class;
implementing an interface.
Java's scoping qualifiers: public, private, package, protected.
Objects vs primitive types in Java.