wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

IS204 - Finals

Total questions: 100

Worksheet time: 33mins

Name
Class
Date
1.
What is a graph in computer science?
a)
A linear data structure
b)
A non-linear data structure
c)
A type of programming language
d)
A sorting algorithm
2.
What are the building blocks of a graph?
a)
Nodes and edges
b)
Variables and functions
c)
Classes and objects
d)
Arrays and stacks
3.
What is the main characteristic of a stack data structure?
a)
First-In-First-Out (FIFO) principle
b)
Last-In-First-Out (LIFO) principle
c)
Random access of elements
d)
Unordered elements
4.
Which programming language is commonly used in GameMaker Studio for game development?
a)
C++
b)
GML
c)
Python
d)
JavaScript
5.
What is the purpose of documentation in software development?
a)
To write code
b)
To design graphics
c)
To create and maintain written records
d)
To test software
6.
Which type of documentation helps users understand how to use software?
a)
Developer documentation
b)
Test documentation
c)
Deployment documentation
d)
User manuals
7.
What is the Interface Segregation Principle in object-oriented programming?
a)
Objects should be segregated into different classes
b)
Clients should not be forced to depend on interfaces they don't use
c)
Interfaces should have as many methods as possible
d)
Classes should implement as many interfaces as possible
8.
What does the Dependency Inversion Principle suggest in object-oriented programming?
a)
High-level modules should depend on low-level modules
b)
Low-level modules should depend on high-level modules
c)
Both high-level and low-level modules should not depend on abstractions
d)
High-level modules should not depend on low-level modules, but both should depend on abstractions
9.
What is the primary purpose of the Singleton design pattern?
a)
To allow multiple instances of a class
b)
To restrict a class to have only one instance
c)
To create complex objects step by step
d)
To provide a simplified interface to a complex system
10.
What is memoization in programming?
a)
A technique for caching function results to improve performance
b)
A method for creating objects without specifying the exact class
c)
A way to interpret languages or grammars
d)
A principle of code reusability
11.
What is the purpose of the Factory Method design pattern?
a)
To restrict a class to have only one instance
b)
To allow multiple instances of a class
c)
To create objects without specifying the exact class of object that will be created
d)
To interpret languages or grammars
12.
What does the Interface design pattern define?
a)
A set of methods that a class must implement
b)
A method for creating objects without specifying the exact class
c)
A way to interpret languages or grammars
d)
A technique for caching function results to improve performance
13.
What is the primary role of a mediator in the Mediator design pattern?
a)
To encapsulate a request as an object
b)
To provide a simplified interface to a complex system of classes
c)
To reduce direct connections between objects by introducing a mediator object
d)
To allow incompatible interfaces to work together
14.
What is the purpose of the Command design pattern?
a)
To create complex objects step by step
b)
To encapsulate a request as an object, allowing for parameterization of clients with different requests
c)
To create a family of algorithms and make them interchangeable
d)
To build tree structures to represent part-whole hierarchies
15.
What is the key advantage of the Flyweight design pattern?
a)
Minimizes memory usage by sharing data among multiple objects
b)
Provides a simplified interface to a complex system of classes
c)
Encapsulates a request as an object, allowing for parameterization of clients with different requests
d)
Allows incompatible interfaces to work together
16.
What is the purpose of currying in functional programming?
a)
Caching function results to improve performance
b)
Transforming a function that takes multiple arguments into a series of functions that take one argument each
c)
Creating objects without specifying the exact class
d)
Replacing a method in a derived class with a new implementation
17.
In software development, what is the term for the division of a software system into separate modules to enhance maintainability and reusability?
a)
Modularity
b)
Encapsulation
c)
Abstraction
d)
Inheritance
18.
What is the main goal of unit testing in software development?
a)
To test how different units of code interact with each other
b)
To verify that the code meets its requirements
c)
To test the entire software system
d)
To create a rough version of the software to test concepts and mechanics
19.
What is the purpose of the Composite design pattern?
a)
To allow incompatible interfaces to work together
b)
To pass a request along a chain of handlers
c)
To compose objects into tree structures to represent part-whole hierarchies
d)
To dynamically add behavior to an object without modifying its code
20.
What does the term "garbage collection" refer to in programming?
a)
The allocation and deallocation of memory during program execution
b)
The process of testing software components individually
c)
The process of passing a request along a chain of handlers
d)
The division of a software system into separate modules to enhance maintainability
21.
What is the purpose of the Singleton design pattern?
a)
To create objects without specifying the exact class of object that will be created
b)
To ensure a class has only one instance and provide a global point of access to it
c)
To pass a request along a chain of handlers
d)
To interpret languages or grammars
22.
What does the term "Callback" refer to in programming?
a)
A method for creating objects without specifying the exact class of object
b)
A function passed as an argument to another function, which is executed later
c)
A design pattern that allows incompatible interfaces to work together
d)
A way to interpret languages or grammars
23.
The degree of dependency between classes
a)
The degree of dependency between classes
b)
The division of a software system into separate modules
c)
The process of creating the final game
d)
The process of testing individual units of code
24.
What is the purpose of the Template Method design pattern?
a)
To interpret languages or grammars
b)
To define the structure of an algorithm but allow subclasses to provide specific implementations
c)
To create objects without specifying the exact class of object
d)
To dynamically add behavior to an object without modifying its code
25.
What is the role of the Command design pattern in software development?
a)
To create complex objects step by step
b)
To encapsulate a request as an object, allowing for parameterization of clients with different requests
c)
To allow incompatible interfaces to work together
d)
To build tree structures to represent part-whole hierarchies
26.
What is the key advantage of using the Composite design pattern?
a)
Allows incompatible interfaces to work together
b)
Provides a simplified interface to a complex system of classes
c)
Composes objects into tree structures to represent part-whole hierarchies
d)
Encapsulates a request as an object, allowing for parameterization of clients with different requests
27.
What is the main purpose of currying in functional programming?
a)
Caching function results to improve performance
b)
Transforming a function that takes multiple arguments into a series of functions that take one argument each
c)
Replacing a method in a derived class with a new implementation
d)
Creating objects without specifying the exact class
28.
What is the purpose of the Bridge design pattern?
a)
Separates an abstraction from its implementation
b)
Provides a simplified interface to a complex system of classes
c)
Composes objects into tree structures to represent part-whole hierarchies
d)
Allows incompatible interfaces to work together
29.
What does the term "Dependency Injection" mean in software development?
a)
Caching the result of function calls to improve performance
b)
Providing the dependencies an object requires rather than letting it create them
c)
Building complex objects by combining simpler objects
d)
A method for creating objects without specifying the exact class of object
30.
In the context of software development, what does "Resource Leaks" refer to?
a)
Situations where resources (memory, files, network connections) are not properly released, leading to inefficient use of resources
b)
The process of testing the entire software system
c)
The allocation and deallocation of memory during program execution
d)
The process of automatically reclaiming memory that is no longer used by the program
31.
What is the purpose of the Interface Segregation Principle in object-oriented programming?
a)
Objects of a superclass should be replaceable with objects of a subclass without affecting the correctness of the program
b)
Clients should not be forced to depend on interfaces they don't use
c)
High-level modules should not depend on low-level modules, but both should depend on abstractions
d)
A class should have only one reason to change, meaning it should have only one responsibility
32.
What does the term "Inversion of Control (IoC)" mean in software development?
a)
A design principle suggesting that software entities should be open for extension and closed for modification
b)
Providing the dependencies an object requires rather than letting it create them
c)
A design pattern that defines a family of algorithms and makes them interchangeable
d)
A design pattern where control over object creation and behavior is handed over to a framework
33.
What does the term "Closure" refer to in programming?
a)
A function passed as an argument to another function, which is executed later
b)
A design pattern that provides a simplified interface to a complex system of classes
c)
A variable that holds data unique to each instance of a class
d)
A design pattern that dynamically adds behavior to an object without modifying its code
34.
In the context of object-oriented programming, what is an "Abstract Class"?
a)
A class that cannot be instantiated and may contain abstract methods
b)
A method for creating objects without specifying the exact class of object
c)
A variable shared among all instances of a class
d)
A contract that defines a set of methods a class must implement
35.
What does the term "Namespace" mean in programming?
a)
A container for a set of identifiers to avoid naming conflicts
b)
A specific form of association where one class contains another class as a part
c)
A method that retrieves the value of a private instance variable
d)
A specific instance created from a class, encapsulating data and behavior
36.
What is the purpose of the Builder design pattern?
a)
To interpret languages or grammars
b)
To separate the construction of a complex object from its representation
c)
To allow incompatible interfaces to work together
d)
To create objects without specifying the exact class of object
37.
What is the role of the Flyweight design pattern in software development?
a)
Minimizes memory usage by sharing data among multiple objects
b)
Encapsulates a request as an object, allowing for parameterization of clients with different requests
c)
Defines a family of algorithms and makes them interchangeable
d)
Provides a simplified interface to a complex system of classes
38.
What does the term "Command" refer to in the Command design pattern?
a)
Replacing a method in a derived class with a new implementation
b)
Encapsulating a request as an object, allowing for parameterization of clients with different requests
c)
Defining the structure of an algorithm but allowing subclasses to provide specific implementations
d)
Passing a request along a chain of handlers
39.
What is the purpose of the State design pattern?
a)
To allow an object to change its behavior when its internal state changes
b)
To create complex objects step by step
c)
To define a family of algorithms and makes them interchangeable
d)
To interpret languages or grammars
40.
What is the primary purpose of the Proxy design pattern?
a)
Acts as an intermediary, controlling access to another object
b)
Separates an abstraction from its implementation
c)
Allows incompatible interfaces to work together
d)
Dynamically adds behavior to an object without modifying its code
41.
What is the primary purpose of the Command design pattern in software development?
a)
To allow an object to change its behavior when its internal state changes
b)
To encapsulate a request as an object, allowing for parameterization of clients with different requests
c)
To define the structure of an algorithm but allow subclasses to provide specific implementations
d)
To interpret languages or grammars
42.
What does the term "Memento" refer to in the Memento design pattern?
a)
Caching the result of function calls to improve performance
b)
Allows capturing and restoring an object's internal state
c)
A technique in which a function is transformed into a series of nested functions that take a single argument each
d)
The combination of a function's name, parameters, and return type
43.
In the context of object-oriented programming, what does "Static Binding" mean?
a)
Determining which method to call at runtime based on the actual object's type
b)
Determining which method to call at compile time based on the reference type
c)
The process of automatically reclaiming memory that is no longer used by the program
d)
The process of creating a new interface that inherits the properties and methods of an existing interface
44.
What is the primary purpose of the Singleton design pattern?
a)
To separate the construction of a complex object from its representation
b)
To ensure a class has only one instance and provides a global point of access to it
c)
To create objects without specifying the exact class of object
d)
To pass a request along a chain of handlers
45.
What does the term "Resource Leaks" refer to in software development?
a)
Ensuring that a class has only one instance and providing a global point of access to it
b)
The allocation and deallocation of memory during program execution
c)
Situations where resources (memory, files, network connections) are not properly released, leading to inefficient use of resources
d)
A design pattern for creating objects without specifying the exact class of object
46.
What is the primary purpose of "Composition" in programming?
a)
Caching the result of function calls to improve performance
b)
Combining multiple functions to create more complex behaviors
c)
Dynamically adding behavior to an object without modifying its code
d)
Providing the dependencies an object requires rather than letting it create them
47.
What is the role of "Dependency Injection" in software development?
a)
Providing the dependencies an object requires rather than letting it create them
b)
Dynamically adding behavior to an object without modifying its code
c)
Building complex objects by combining simpler objects
d)
Allowing incompatible interfaces to work together
48.
What is the primary purpose of "Currying" in functional programming?
a)
Transforming a function that takes multiple arguments into a series of functions that take one argument each
b)
Building complex objects by combining simpler objects
c)
Caching the result of function calls to improve performance
d)
The ability of different objects to respond to the same method call in distinct ways
49.
In the context of software development, what does "Aggregation" refer to?
a)
A container for a set of identifiers to avoid naming conflicts
b)
A specific form of association where one class contains another class as a part
c)
The degree of dependency between classes
d)
A design pattern that acts as an intermediary, controlling access to another object
50.
What does the term "Facade" mean in software development?
a)
A design pattern that acts as an intermediary, controlling access to another object
b)
A method that retrieves the value of a private instance variable
c)
Building complex objects by combining simpler objects
d)
A specific instance created from a class, encapsulating data and behavior
51.
What is the purpose of the "Observer" design pattern in software development?
a)
To allow an object to change its behavior when its internal state changes
b)
To provide a simplified interface to a complex system of classes
c)
To maintain a list of its dependents and notify them of changes
d)
To interpret languages or grammars
52.
What does the term "Composite" refer to in software development?
a)
A design pattern that provides a way to access elements of a collection without exposing its underlying structure
b)
A design pattern that composes objects into tree structures to represent part-whole hierarchies
c)
A design pattern that minimizes memory usage by sharing data among multiple objects
d)
A design pattern for constructing complex objects step by step
53.
In the context of object-oriented programming, what is the purpose of the "Abstract Class"?
a)
A class that cannot be instantiated and may contain abstract methods
b)
A class that allows creating multiple instances
c)
A class that can be inherited but not overridden
d)
A class that serves as a blueprint for other classes without any specific implementation
54.
What is the primary benefit of using "Inversion of Control (IoC)" in software development?
a)
To ensure a class has only one instance
b)
To allow control over object creation and behavior to be handed over to a framework
c)
To provide a simplified interface to a complex system of classes
d)
To dynamically add behavior to an object
55.
What does the term "Currying" refer to in functional programming?
a)
Transforming a function that takes multiple arguments into a series of functions that take one argument each
b)
Combining multiple functions to create more complex behaviors
c)
Caching the result of function calls to improve performance
d)
Allowing incompatible interfaces to work together
56.
What is the primary purpose of "Inversion of Control Container" in software development?
a)
To separate the construction of a complex object from its representation
b)
To manage object creation, wiring, and lifecycle
c)
To interpret languages or grammars
d)
To encapsulate a request as an object, allowing for parameterization of clients with different requests
57.
What does the term "Garbage Collection" refer to in programming?
a)
The allocation and deallocation of memory during program execution
b)
The process of automatically reclaiming memory that is no longer used by the program
c)
A design pattern for creating objects without specifying the exact class of object
d)
Determining which method to call at compile time based on the reference type
58.
What is the primary purpose of the "Builder" design pattern in software development?
a)
To interpret languages or grammars
b)
To separate the construction of a complex object from its representation
c)
To build complex objects step by step
d)
To pass a request along a chain of handlers
59.
In the context of software development, what is the "Open/Closed Principle"?
a)
Objects of a superclass should be replaceable with objects of a subclass without affecting the correctness of the program
b)
Software entities should be open for extension but closed for modification
c)
Clients should not be forced to depend on interfaces they don't use
d)
A class should have only one reason to change, meaning it should have only one responsibility
60.
What is the role of "Dependency Inversion Principle" in software development?
a)
High-level modules should not depend on low-level modules, but both should depend on abstractions
b)
A class should have only one reason to change, meaning it should have only one responsibility
c)
Objects of a superclass should be replaceable with objects of a subclass without affecting the correctness of the program
d)
Clients should not be forced to depend on interfaces they don't use
61.
Graphs are a linear data structure used to store data in a network-like structure.
a)
True
b)
False
62.
Stacks follow the First-In-First-Out (FIFO) principle.
a)
True
b)
False
63.
Linked lists are a hierarchical data structure.
a)
True
b)
False
64.
GameMaker Studio supports only the GML scripting language.
a)
True
b)
False
65.
Python is mainly used for web development and not suitable for game development.
a)
True
b)
False
66.
Testing and debugging are unrelated activities in software engineering.
a)
True
b)
False
67.
Game development involves only coding; artists and sound engineers are not part of the process.
a)
True
b)
False
68.
User documentation is essential for developers but not for end-users.
a)
True
b)
False
69.
Inheritance is a fundamental concept in object-oriented programming where a class can inherit properties and methods from another class.
a)
True
b)
False
70.
The Adapter design pattern allows incompatible interfaces to work together.
a)
True
b)
False
71.
Inversion of Control (IoC) is a design principle where objects are responsible for creating instances of classes they depend on.
a)
True
b)
False
72.
The Singleton pattern ensures that a class has only one instance and provides a global point of access to it.
a)
True
b)
False
73.
Encapsulation is a fundamental principle of object-oriented programming where the internal state of an object is hidden from the outside world.
a)
True
b)
False
74.
The Open/Closed Principle states that software entities should be open for modification but closed for extension.
a)
True
b)
False
75.
The Interface Segregation Principle states that clients should be forced to depend on interfaces they don't use.
a)
True
b)
False
76.
Abstraction in OOP hides the complex implementation details and shows only essential features of an object.
a)
True
b)
False
77.
The Composite pattern allows objects to be composed into tree structures to represent part-whole hierarchies.
a)
True
b)
False
78.
GameMaker Studio only allows the creation of 3D games.
a)
True
b)
False
79.
Queues follow the Last-In-First-Out (LIFO) principle.
a)
True
b)
False
80.
Trees are a linear data structure.
a)
True
b)
False
81.
Debuggers are tools used for logging information about program execution.
a)
True
b)
False
82.
The Bridge pattern separates an abstraction from its implementation.
a)
True
b)
False
83.
GameMaker Studio supports a drag-and-drop interface for game development.
a)
True
b)
False
84.
The Command pattern encapsulates a request as an object, allowing parameterization of clients with different requests.
a)
True
b)
False
85.
Python is a compiled programming language.
a)
True
b)
False
86.
The State pattern allows an object to change its behavior when its internal state changes.
a)
True
b)
False
87.
GameMaker Studio was first released in 2002.
a)
True
b)
False
88.
Composition is a design principle where high-level modules should not depend on low-level modules.
a)
True
b)
False
89.
GameMaker Studio supports only Windows operating system.
a)
True
b)
False
90.
The Proxy pattern acts as an intermediary, controlling access to another object.
a)
True
b)
False
91.
Inheritance in OOP promotes code readability and maintainability.
a)
True
b)
False
92.
GameMaker Language (GML) is based on the Java programming language.
a)
True
b)
False
93.
GML stands for GameMaker Language.
a)
True
b)
False
94.
The Mediator pattern reduces direct connections between objects by introducing a mediator object.
a)
True
b)
False
95.
GameMaker Studio includes a built-in 3D physics engine.
a)
True
b)
False
96.
GameMaker Studio supports only the C++ programming language.
a)
True
b)
False
97.
The Flyweight pattern minimizes memory usage by sharing data among multiple objects.
a)
True
b)
False
98.
The Observer pattern is used for interpreting languages or grammars.
a)
True
b)
False
99.
The Memento pattern allows capturing and restoring an object's internal state.
a)
True
b)
False
100.
GameMaker Studio is primarily used for creating text-based games.
a)
True
b)
False