GUIs
Design Patterns
Threading
The Development Process
Object-Oriented Programming
100
Code is traditionally executed as a sequence of steps. Programs that execute code on specific occurrences, like the user clicking a button, are instead said to use these.
What are events?
What are listeners?
What are observers?
What are signals?
What is event-driven programming?
100
Enums in most languages are effectively integers. In Java, however, they are objects that rely on this design pattern.
What is the singleton pattern?
What are singletons?
100
The more of these a device has, the more threads or processes it can run truly simultaneously.
What are processors?
What are CPUs?
What are cores?
100
When your program runs slowly or uses a lot of memory, this tool will help you figure out why.
What is a profiler?
100
This type of method or field is associated with an entire class rather than an individual object.
What is a static method/field?
What is the static modifier?
What is static?
200
A GUI made in JavaFX (and in most other GUI libraries) can be described using this data structure.
What is a tree?
What is a graph?
What is a scene graph?
200
This design pattern is used to sequentially retrieve information about an object regardless of how it represents its data; it is so widely-used that many languages have syntax for it.
What is the iterator pattern?
What are iterators?
What is iteration?
200
Moe is aiming a gun at Larry. Larry is aiming a gun at Curly. Curly is aiming a gun at Moe. Each of them will fire as soon as nobody is aiming at them. Such a situation is best described as this.
What is deadlock?
200
The purpose of this course was to teach you to write software that is more like this. (Give three answers)
What is maintainable?
What is robust?
What is modular?
What is extensible?
What is correct?
What is scalable?
What is well-designed?
What is reliable?
What is elegant?
What is reusable?
What is intuitive?
What is easy to use?
200
A function takes in an object and modifies one or more of its properties. When the function returns, the changes are not reflected in the object. The function parameters are passed by this.
What is pass-by-value?
300
In JavaFX, you can use these to automatically have some property reflect changes in a different property (both of which could even be on the same object).
What are binding properties?
What is property binding?
What is binding?
300
Some runtimes, including Java's, pool string constants into one section of memory map multiple occurrences of the same constants to one memory location. Such a technique, called "string interning", is said to be an implementation of this design pattern.
What is the flyweight pattern?
What are flyweights?
300
One thread is appending to the head of a list while another is removing a value from the head of a list at the same time. If the list is not designed with such situations in mind, it is likely to be in an inconsistent state due to this.
What are race conditions?
300
The first step in software development is best modeled by this type of UML diagram.
What is a use case diagram?
What is a use case chart?
What are use cases?
300
You are writing a set of classes that each contain certain functionality and are meant to be interchangeable. These classes are said to be doing this.
What is implementing an interface?
400
One of JavaFX's most prominent advantages over Swing is that it is designed to have GUI layouts specified as this.
What is XML?
What is FXML?
What is a file?
What is data?
400
A function that takes in an object and uses it to decide what instance of an interface to create exemplifies these two design patterns. (Several answers exist; give one)
What are the factory and strategy patterns?
What are the factory and command patterns?
What are the factory and state patterns?
400
This structure, whose implementation often varies by operating system, is used to guarantee that only one thread can run a given block of code at a time. Some languages also feature it in syntax.
What is a lock?
What is a semaphore?
What is a ReentrantLock?
What is a mutex?
What is a monitor?
What is a thread-safe data structure?
400
A math library is buggy and useless, with most of its functions returning incorrect results or throwing exceptions. This development process would greatly aid in identifying the exact problems.
What is unit testing?
400
This language feature is designed to eliminate redundant code, though in Java information about its use is not available at runtime.
What are generics?
What are type parameters?
What is generic programming?
500
Although JavaFX can use CSS for styling, styles must be written specifically for JavaFX applications due to a lack of this.
What is standardization?
What is standards-compliance?
What is W3C-compliance?
What is browser compatibility?
500
Even in languages that feature garbage collection, improper use of this very common design pattern can still result in memory leaks.
What is the observer pattern?
What are observers?
What are listeners?
What are subscribers?
What are event handlers?
500
Due to the nature of the thread scheduler, concurrency bugs cannot be described as this.
What is predictable?
What is reproducible?
What is repeatable?
What is easy to find?
What is deterministic?
500
This is the best tool you can possibly use to write optimized code.
What is a compiler?
500
Some languages, such as Python or JavaScript, let you add methods and properties to a class at runtime. These languages are said to be making heavy use of this feature.
What is reflection?
M
e
n
u