Software Engineering
Algorithms
Hardware & Low-Level
Languages
Theory
100

Methodology which sounds like it should be on X-games

Extreme Programming

100

Notation used to indicate time or space requirements of algorithms

Big O Notation

100

The acronym GPU stands for this

Graphics Processing Unit

100

if __name__ == "__main__":

    print("Hello World!")

Python

100

Programming language is this if it is theoretically capable of expressing all tasks accomplishable by computers

Turing Complete

200

Principle that two sets of eyes are better than one

Pair programming

200

Strategy whereby previously computed inputs are stored in a lookup table for reuse

Dynamic Programming

200

Type of code that virtual machines such as the Java Virtual Machine run on

Bytecode

200

Dennis Ritchie and Ken Thompson wrote it at Bell Labs in 1972

C

200

Type of machine which can be in exactly one state at any given time

FSA/FSM

300

Detecting duplicate or very similar portions of code which could be abstracted into reusable, more general components

Clone Detection

300

Original time complexity of dijktra's algorithm to find the shortest path in a graph

O(V2)

300

Core of a computer's operating system, with complete control over everything in the system

Kernel

300

factorial 0 = 1
factorial n = n * factorial (n - 1)

Haskell

300

Universal model of computation where currying is used to achieve multivariate functions

Lambda calculus

400

Testing components by comparing actual outputs to expected outputs, without worrying about the source code

Black Box Testing

400

Problem which asks whether all problems which are quickly verifiable are quickly solveable

P vs NP

400

Most popular family of instruction set architectures

x86

400

+[-[<<[+[--->]-[<<<]]]>>>-]>-.---.>..>.<<<<-.<+.>>>>>.>.<<.<-.

Brainfuck

400

Law which can be informally summarized as "the not of the ors is equivalent to the and of the nots"

De Morgan's Law

500

Sometimes facetiously referred to as the "Hollywood Principle: Don't call us, we'll call you".

Inversion of Control

500

Type of directed graph where following the path from node to node will never allow you to revisit the same node twice

Directed Acyclic Graph

500

Type of unit which performs operations on integer binary numbers

Arithmetic Logic Unit

500

PROGRAM helloworld
     PRINT *, "Hello world!"
END PROGRAM helloworld

FORTRAN

500

Consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules

Formal Grammar

M
e
n
u