The Basics
Functional Programs
Software Engineering
Databases
100

A finite sequence of well-defined, computer-implementable instructions, typically to solve a class of problems or to perform a computation. 

What is an Algorithm?

100

A functional programming language that sounds similar to a desert animal

What is OCaml?

100

The phase in software testing in which individual software modules are combined and tested as a group.

What is integration testing?

100

The SQL clause used to filter records.

What is the WHERE clause?

200

The concept of reusing code across different classes

What is inheritance

200

A representation, using graph notation, of all paths that might be traversed through a program during its execution

What is a Control-flow graph

200

A software metaphorically called an unpleasant person, self-describing itself as "the stupid content tracker".

What is Git?

200

A binary operator that is written as (R ⋈ S)

What is the natural join?

300

The interface class for a Stack in Java

What is a List?

300

A design pattern inspired by the definition from category theory, that allows for a generic type to apply a function inside without changing the structure of the generic type.

What is a functor?

300

The re-usable form of a solution to a design problem introduced by the architect Christopher Alexander.

What is a design pattern?

300

A key in a database model that may become the primary key.

What is a Candidate?

400

The smallest sequence of programmed instructions that can be managed independently by a scheduler

What is a thread?

400

Also known under the names natural semantics, relational semantics and evaluation semantics describing how final evaluation results of language constructs can be obtained by combining the evaluation results of their syntactic counterparts (subexpressions, substatements, etc.) in a divide-and-conquer manner

What are Big-Step semantics?

400

A process that approaches development requirements and solutions through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s).

What is agile software development?

400

A normal form used in database normalization. It is a slightly stronger version of the third normal form (3NF).

What is the Boyce–Codd normal form?

500

A method of solving a problem where the solution depends on solutions to smaller instances of the same problem

What is recursion?

500

A predicate Q for a Statement S and a postcondition R such that for any precondition P, {P}S{R} iff P => Q.

What is the weakest precondition?
500

A design pattern used in software engineering that is meant to "decouple an abstraction from its implementation so that the two can vary independently", introduced by the Gang of Four. It uses encapsulation, aggregation, and can use inheritance to separate responsibilities into different classes.

What is the Bridge Pattern

500

The name of the four conditions that are all required to be simultaneously true in a system to lead into a deadlock situation.

What are the Coffman conditions?