Name and describe no more than four(4) program domains. For each name the
high level computer language (if it exists) that was designed for that
domain and/or grew to dominate that domain.
Give no more than 5 reasons (1 paragraph each) for learning about
programming languages other than the ones that you use in your current job.
Explain the differences between a compiling and an interpretating a
language. Give examples of (1) a compiled language, (2) an interpreted
language, and (3) a hybrid (compiled+interpreted) language.
Draw diagrams that show the differences between the compilation of a C++
program and the interpretation of an javascript program. ( or any other pair of
compiled and interpreted languages)
Note: In the final you will be expected to use the UML (covered later).
In a group of 5 or 6 people prepare a demonstration
that shows the difference between a compiler and an interpreter. Hint: Each
program must be played by a different person. Note: the final exam will not
require you to do this:-)
What Criteria can you use for evaluating languages? (a) Name and briefly
describe the three (3) criteria in Sebesta. (b) Explain why each is
important.
Characteristics of languages: (1) Name and describe at least seven (7)
characteristics of programming languages in Sebesta. Explain how one
characteristic effects the three criteria used to evaluate languages.
Criteria: You are about to design a new programming languages. (a) What
criteria are going to be most important to you? (b) Can you achieve all
them at once? If not which are most important to you? (c) Give a couple
examples of language characteristics and how they effect your criteria.
Note: In the final I may ask similar questions about the new language
that you design as a project in this class.
a. List 3 or 4 things in the languages you know that really do not like.
b. Why?
Think back over this class and grade your personal performance in terms
of how much work you need to do on this topic before the final.