next up previous


CISC 470/670: PROGRAMMING LANGUAGES
Fall 2000
Final Exam Study Guide
Final Exam Time and Date: 1-3 pm on Monday, December 11, 2000
Final Exam Review Session: 2 pm on Thursday, December 7, 2000
place to be announced

References

- Lectures notes from midterm through November 30, 2000.
- Textbook: Chapters 6,7.1-7.7, 8.3, 8.5, 11.1-11.2.3,11.2.5.
- Homework assignments (all of those due after the midterm exam date).
- Court case proceedings.

Topic Coverage

- expression evaluation : precedence, associativity, operand evaluation order, side effects, short circuit evaluation)
- control flow: structured versus unstructured programming, assignments, issues with various control mechanisms (conditionals, goto, case, iteration, recursion, applicative versus normal order evaluation, nondeterminacy).
- data types: typing, type systems, type equivalence, type compatibility, type checking, strong typing, static typing, name equivalence, structural equivalence, aliasing, type inference, specifying rules of inference, issues in memory layout and type checking for different data types: discrete, scalar, composite (arrays - contiguous, row pointers, records, pointers and arrays)
- subprograms and parameter passing modes: by value, by reference, by value-result (copy restore), by name (semantics, how implemented, how get different results, role of aliasing, expense, advantages and disadvantages)
- exception handling: motivation, examples, raising, catching, and handling exceptions, propagation of exceptions, case study of exception handling in Java, issues in design and implementation
- high level comparison of functional, procedural, and object-oriented language paradigms

Format of Exam

The exam is closed book, closed neighbor and you will have the full final exam period to work. The exam will have a heavy emphasis on applying the concepts we have discussed in class, with only some questions that are just knowledge feedback.




Example questions:

- Short answer questions (advantages/disadvantages, differences, similarities of different approaches.
- Write short code segments to illustrate a concept.
- Explain how a particular concept (eg, aliasing) is exhibited by a code segment.
- Trace code to give the output/variable values under different assumptions.
- Give the result of expression evaluation under a particular set of evaluation order rules.
- Give the result of calling a subprogram under different parameter passing mechanisms.
- Read a simple type inference rule and explain what it states.
- Convert from one simple control construct to one with equivalent semantics. (eg while to for or repeat, recursion to iteration)
- Draw pictures of memory layout for different data type situations.
- Draw or explain the flow of control under specific situations in exception handling.
- Indicate where a particular variable of a specific data type would most likely be stored: stack, heap, static store
- Given a segment of code, explain how it demonstrates a particular concept.




The questions are NOT true/false or multiple choice. Instead, partial credit will be given when possible on any question in the exam.

How to Study

Review your lecture notes, assignments, and textbook chapters. Actually do some problems of the form described above to determine whether you can apply your knowledge.

About this document ...

This document was generated using the LaTeX2HTML translator Version 98.1p1 release (March 2nd, 1998)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -split 0 final.rev.tex.

The translation was initiated by Lori Pollock on 2000-12-01


next up previous
Lori Pollock
2000-12-01