The content on this page is the work of Professor Glenn Blank.
Be advised that Professor Blank is no longer on the active faculty at Lehigh.
This content continues to be available as a courtesy, but it may not be maintained or current.

Post-Test for Object-Oriented Software Engineering (CS1), Fall 2000

Total Responses = 10

Mean:

13.5454545454545

St. Dev:

5.0470

Variance:

25.4727272727273

 

Question 1: Multiple Choice

 

Part of the reason the Java programming language is successful is:

%
Responses

It is highly efficient, executing optimized machine code.

0%

It is portable to any platform hosting a Java virtual machine.

100%

It has been optimized for Microsoft Windows.

0%

I don't know.

0%

 

Question 2: Multiple Choice

 

A "waterfall" model:

%
Responses

Encourages a predictable non-cyclical order of development.

70%

Encourages an iterative, incremental approach to development.

10%

Encourages rapid development of working code.

20%

I don't know.

0%

 

Question 3: Multiple Choice

 

A use case is:

%
Responses

A way of specifying the use of a system.

0%

A set of scenarios describing how actors interact with a system.

90%

A method that facilitates the design of classes.

10%

I don't know.

0%

 

Question 4: Multiple Choice

 

Dynamic binding:

%
Responses

Determines the type of a class at compile time.

0%

Determines which function to run at run time.

100%

Overrides a function or method at compile time.

0%

I don't know.

0%

Question 5: Multiple Choice

 

Abstract data types are:

%
Responses

Always built into C++ and other high level languages.

10%

The same thing as classes in C++.

0%

Formal descriptions that one can implement as classes in C++.

90%

I don't know.

0%

 

Question 6: Multiple Choice

 

Information hiding:

%
Responses

Hides implementation details from the supplier of a class.

10%

Keeps all functions or behaviors of a class private.

0%

Separates public interface from private implementation.

90%

I don't know.

0%

 

Question 7: Multiple Choice

 

Inheritance or class derivation:

%
Responses

Usually models subtype relationships.

90%

Usually models whole-part relationships.

10%

Usually models client-supplier relationships.

0%

I don't know.

0%

 

Question 8: Multiple Choice

 

Assertions:

%
Responses

Facilitate compile-time checking for program correctness.

20%

Facilitate run-time enforcement of client-supplier contracts.

70%

Facilitate documentation of user requirements during analysis.

0%

I don't know.

10%

 


 


Question 9: Multiple Choice

 

Object-oriented software engineering:

%
Responses

Relies on top-down decomposition.

0%

Requires the use of the Unified Modeling Language.

0%

Promotes continuity of representation from analysis to design to implementation.

100%

I don't know.

0%

 

Question 10: Multiple Choice

 

UML is usually associated with:

%
Responses

A waterfall life cycle.

0%

An spiral life cycle.

10%

An incremental and iterative life cycle.

90%

I don't know.

0%

 

Question 11: Multiple Choice

 

After creating a set of CRC cards, what is the next step?

%
Responses

You're done.

0%

Implement and test the program.

30%

Run simulations using the cards.

70%

I don't know.

0%

 

Question 12: Multiple Choice

 

The editor with undo/redo problem:

%
Responses

Can be modeled as a finite state machine with inheritance and dynamic binding.

20%

Can be solved using the Command design pattern and dynamic binding.

80%

Can be solved using the Command design pattern without inheritance.

0%

I don't know.

0%

 


 

Question 13: Multiple Choice

 

Virtual inheritance means that:

%
Responses

All the member functions of a class support dynamic binding.

10%

Subclasses share a common base class part for each inheritance path.

60%

Subclasses distinguish the base class part for each inheritance path.

20%

I don't know.

10%

 

Question 14: Multiple Choice

 

What does the signature Digit(N) -/-> D imply?

%
Responses

Given a number N, the constructor will sometimes produce a digit D.

90%

Given a number N, the constructor will always produce a digit D.

10%

The constructor Digit(N) has no preconditions.

0%

I don't know.

0%

 

Question 15: Multiple Choice

 

What does the postcondition front(q) = head(q)imply?

%
Responses

The front of q and the head of q are equal in value.

10%

The head of q gets assigned to the front of q.

40%

The meaning of front(q) is defined by head(q) of ADT List.

50%

I don't know.

0%

 

Question 16: Multiple Choice

 

The Standard Template Library:

%
Responses

Supports the Iterator design pattern.

40%

Supports function templates.

50%

Has been incorporated in the Java Development Kit.

10%

I don't know.

0%

 


 

Question 17: Multiple Choice

 

Casting from one type to another:

%
Responses

Works in C++ but not in Java.

0%

Works the same way in Java and C++.

0%

Works in both Java and C++, both differently.

100%

I don't know.

0%


Question 18: Multiple Choice

 

Down-casting:

%
Responses

Should be made explicit in C++ as a dynamic_cast.

40%

Should be made explicit in C++ as a static_cast.

0%

Is prohibited in Java since it violates strong typing.

50%

I don't know.

10%

           

Question 19: Multiple Choice

 

A Java Bean:

%
Responses

Models persistence by implementing a serializable interface.

30%

Can be implemented without Java programming.

10%

Requires the use of a bean box for implementation.

60%

I don't know.

0%

 

Question 20: Multiple Choice

 

In UML, an association:

%
Responses

Implies navigability from one class to another.

20%

Implies inheritance from one class to another.

30%

Implies a role if there is a label is next to a class at one end.

40%

I don't know.

10%