Object Oriented Concepts (Easy)
Low-Level System & Hardware Interactions
Java Compilation and Execution Processes
Java Language Features & Data Structures
Object Oriented Concepts (Hard)
100

What is software design centered around reusable classes as opposed to primarily functions and logic

Object Oriented Programming Languages

100

What is the name for a computer’s memory that is able to be read or changed regardless of order

RAM (Random Access Memory)

100

What is the name of the tool that converts human readable Java code into byte code and class files

Java Compiler

100

What language syntax repeatedly executes a block of code while certain conditions are met

Loop

100

What concept allows children or sub-classed to inherit properties and attributes from a parent class, and children classes can be made using “extends” in Java

Inheritance

200

What is a user-defined blueprint of a data type, and what are instances of a class with specific data values called

Class & Object

200

What is the name of binary instructions, in 1s and 0s, that a CPU can directly execute

Machine Code

200

What is a generic name for a system or tool that carries out a set of instructions like running compiled code

Execution Engine

200

What are the names of primitive data types used to store decimal numbers with 64-bit precision AND primitive data types that can only hold two values, true or false, called?

Doubles and Booleans

200

When two separate classes have a link to each other through a variable object within one of the classes (e.g. student class relates to a teacher object)

Association

300

What is a word for functions within a class, that objects of that class can perform [e.g. character class can Attack()], and what are defined values and variables for a given object

Methods & Attributes

300

What is the name of requests that a program makes to the kernel to do things like accessing files, allocating memory, or input/output operations

O.S. Calls

300

What tool that converts human readable Java code into byte code and class files

Java Compiler

300

What is the name of a block of code that performs specific tasks and can be reused

Function

300

What concept allows the substitution child-classes to provide alternate functionality through method overloading and overriding, wherein a method of the same name can have different input parameters (overloading) or a method of a child class can differ from a method of the parent class with the same name (overriding)

Polymorphism

400

What is a concept defined on methods within a class only showing essential information (declaration in parent class), allowing sub-classes to extend and interpolate the method definition

Abstraction

400

What is the name of compiled files that are intermediary between programming languages and machine code (in C/C++)

Object Files

400

What is the name of the set of instructions generated in the Java compiler, and executed by the JVM

Bytecode

400

What is an basic object representing a series of characters (storing text)

Strings

400

A strong has-a relationship between two classes, where they are mutually dependent, and cannot exist without the other class (e.g. a house class needs room objects, and without a house class room objects cease to exist)

Composition

500

What is a feature useful to data security that allows certain attributes of an object to only be accessed indirectly

Encapsulation

500

What name of files contain the compiled output of Java code containing bytecode

Class Files

500

What are two examples of access modifiers (for classes) that determine visibility of methods and classes, examples are (1) accessible anywhere in program and (2) only accessible in same class

Private vs. Public Class

500

When two classes are defined by a ‘has-a’ relationship, where one class is a ‘container’ for the other classes parts, but both can exist independently (e.g. car class has wheel objects)

Aggregation