Oral Exam Questions in Programming Paradigms - Fall 2003.

Final version

The oral exam questions take the starting point in an exercise, which has been discussed during the course.

At the beginning of the exam you will be asked a number of questions relative to an exercise, as reflected by one of the exam questions listed below. At the end of the exam you should be prepared to answer more general questions covered by the course syllabus, and as hinted by the keywords which are associated with each of the exam questions. You are not supposed to present your own solution in great details during the exam, but you should be prepared to explain selected aspect of both the problem and the solutions.

  1. List processing - recursion and iteration
    Exercise 3.5
    Keywords: The list concept. Recursive functions. Iteration by means of tail recursive functions. Representation of tables.

  2. Higher-order functions
    Exercise 4.4
    Keywords: The list and vector concepts. Generalization with higher-order functions. Classical higher-order functions on lists (ala map, filter, and reduce).

  3. Object-oriented programming in Scheme
    Exercise 8.1
    Keywords: Functions and lambda expressions. Closures. Simulation of classes, objects, inheritance, messages, and methods in Scheme.

  4. First Order Predicate Logic
    Exercise 6.1, 6.2, 6.3, 6.6, and 6.7
    Keywords: terms and formulae, substitution, unification, resolution

  5. Recursive Programming in Prolog
    Exercise 7.1, 7.2, and 7.4
    Keywords: recursive rules, lists, accumulator attributes

  6. Procedural Prolog
    Exercise 9.1 and 9.2
    Keywords: prolog interpreter, search trees, cut, negation as failure

  7. Inheritance and prototypes in SELF
    Exercise 11.2, 12.1, and 12.2
    Keywords: slots, parents, message lookup, multiple inheritance

  8. Dynamic crosscutting in AspectJ
    Exercise 13.2, 14.1, 14.3, and 14.5
    Keywords: join point model, advice, aspects, name-based crosscutting

  9. Property-based crosscutting and instantiation of aspects
    Exercise 14.2, 14.3, 14.4, and 15.1
    Keywords: join point control flow, wildcards in pointcuts, aspect instantiations

Ole Guttorm Jensen
Kurt Nørmark