CSCI 316: Quiz 10 - Abstract Data Types and Object-Oriented Programming
Sign in to Google
to save your progress.
Learn more
* Indicates required question
Email
*
Your email
Last Name
*
Your answer
First Name
*
Your answer
Student Id
*
Your answer
Which statement best describes data abstraction?
*
1 point
Binding names to storage locations
Separating compilation from execution
Hiding implementation details while exposing behavior
Restricting access to variables using scope rules
Delaying type checking until run time
An abstract data type (ADT) is primarily defined by
*
1 point
Its implementation language
Its concrete data representation
Its performance characteristics
Its operations and their semantics
Its memory layout
Which is a key design issue for ADTs?
*
1 point
Encapsulation mechanisms
Instruction pipelining
Garbage collection strategies
Parameter-passing by name
Operator precedence
Which construct typically provides access control for ADTs?
*
1 point
Packages
Iterators
Closures
Templates
Coroutines
Parameterized ADTs are primarily intended to support
*
1 point
Late binding of methods
Dynamic typing
Code reuse across types
Run-time reflection
Multiple inheritance
Which problem do parameterized ADTs help to avoid?
*
1 point
Name clashes
Aliasing
Memory leaks
Dangling references
Code duplication
Which of the following is not necessarily an advantage of data abstraction?
*
1 point
Reduced coupling
Improved readability
Improved reliability
Improved maintainability
Faster execution
Which language construct is most commonly used to name an encapsulation?
*
1 point
Statement
Function
Expression
Class
Block
Which of the following best characterizes object-oriented programming?
*
1 point
Programs are composed primarily of procedures
Programs avoid abstraction
Programs rely on global data and functions
Programs are composed primarily of objects with state and behavior
Programs emphasize recursion over iteration
In object-oriented programming, an object is
*
1 point
A package of subprograms
A generic type
A function with local variables
An instance of a class
A parameterized ADT definition
Which OOP concept allows a class to acquire properties of another class?
*
1 point
Encapsulation
Aggregation
Reflection
Polymorphism
Inheritance
Which mechanism supports run-time method selection?
*
1 point
Inlining
Generic instantiation
Overloading
Static binding
Dynamic binding
Which term describes using the same operation name with different meanings?
*
1 point
Encapsulation
Aliasing
Delegation
Aggregation
Polymorphism
Which form of polymorphism is typically resolved at compile time?
*
1 point
Late binding
Parametric polymorphism
Dynamic dispatch
Ad-hoc polymorphism via overloading
Subtype polymorphism
Which OOP design issue concerns whether methods can be overridden?
*
1 point
Inheritance semantics
Constructor binding
Garbage collection
Visibility rules
Memory management
Which problem is most closely associated with multiple inheritance?
*
1 point
Name ambiguity
Absence of polymorphism
Lack of abstraction
Lack of encapsulation
Code duplication
Which language feature helps resolve ambiguity in multiple inheritance?
*
1 point
Closures
Reflection
Interfaces
Dynamic typing
Coroutines
Which relationship best describes has-a rather than is-a?
*
1 point
Inheritance
Composition
Polymorphism
Dynamic binding
Subtyping
Which construct typically enforces method access restrictions?
*
1 point
Overloading rules
Virtual tables
Visibility modifiers
Garbage collection
Dynamic binding
Which is a key design issue for object-oriented languages?
*
1 point
Expression evaluation order
Loop unrolling
Instruction scheduling
Method dispatch strategy
Register allocation
Which implementation structure supports dynamic dispatch?
*
1 point
Activation record
Parse tree
Symbol table
Static link
Virtual method table
Which is a disadvantage sometimes associated with heavy use of inheritance?
*
1 point
Elimination of polymorphism
Increased coupling
Reduced readability
Compile-time binding only
Loss of abstraction
Which OOP mechanism supports late binding?
*
1 point
Inlining
Templates
Final methods
Static methods
Dynamic dispatch
Which language feature enables programs to examine and modify their own structure at run time?
*
1 point
Inheritance
Reflection
Dynamic scoping
Generic programming
Encapsulation
Reflection is most commonly associated with which trade-off?
*
1 point
Compilation versus interpretation
Efficiency versus safety
Simplicity versus orthogonality
Static typing versus dynamic typing
Flexibility versus performance
Which is not a core principle of object-oriented programming?
*
1 point
Encapsulation
Polymorphism
Inheritance
Static scoping
Data abstraction
Which design choice affects whether objects are allocated on the heap?
*
1 point
Object lifetime rules
Method overloading
Garbage collection strategy
Parameter passing
Operator precedence
Which feature most directly supports software maintenance in OOP?
*
1 point
Manual memory management
Inlining
Encapsulation
Global variables
Static binding
Which OOP feature is most closely related to message passing?
*
1 point
Garbage collection
Encapsulation
Static binding
Method invocation
Inheritance
Which trade-off is emphasized in the discussion of OOP implementation?
*
1 point
Flexibility versus efficiency
Readability versus writability
Portability versus reliability
Simplicity versus expressivity
Compilation versus linking
A copy of your responses will be emailed to the address you provided.
Submit
Clear form
Never submit passwords through Google Forms.
reCAPTCHA
Privacy
Terms
This content is neither created nor endorsed by Google. -
Terms of Service
-
Privacy Policy
Does this form look suspicious?
Report
Forms
Help and feedback