OO Programming Lecture Notes - Flashcards

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/66

flashcard set

Earn XP

Description and Tags

Vocabulary-style flashcards covering key terms and definitions from the OO Programming course notes.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

67 Terms

1
New cards

Object-Oriented Programming (OOP)

A programming paradigm focusing on objects, classes, and encapsulation; used in the course to teach OO concepts.

2
New cards

Java

The primary teaching language used to illustrate OO concepts; used in practicals and discussions.

3
New cards

Virtual Machine (JVM)

A software layer that runs Java bytecode by translating it to the host machine's instructions, enabling platform independence.

4
New cards

Bytecode

Java's intermediate, platform-independent instructions produced by compiling Java source.

5
New cards

Write Once, Run Anywhere

Java's slogan describing its ability to run on different platforms via the JVM.

6
New cards

Platform

The hardware/OS environment on which software runs; Java aims for platform independence.

7
New cards

High-Level Language

A language that abstracts away hardware details (e.g., Java, C++) and is compiled to lower-level code.

8
New cards

Compiler

Tool that translates high-level source code into lower-level code (bytecode or machine code).

9
New cards

Binary Executable

Machine code file that runs directly on a specific CPU architecture.

10
New cards

Imperative Programming

Programming that uses mutable state and step-by-step commands to change data.

11
New cards

Functional Programming

Programming based on mathematical functions and often immutability of data.

12
New cards

Lambda Calculus

A formal mathematical framework of function abstraction used as the theoretical basis for functional programming.

13
New cards

Von Neumann Architecture

Architecture with shared memory for code and data; a basis for imperative programming.

14
New cards

Turing Machine

An abstract computational model used to study computability.

15
New cards

Computability Problem

Question of which problems can be solved algorithmically given unlimited resources.

16
New cards

Computer Architecture

The set of processor instructions and organization defining how software runs on hardware.

17
New cards

x86

A widely used instruction set architecture for PCs, originally from Intel.

18
New cards

ARM

A processor architecture used in many devices, including mobile and embedded systems.

19
New cards

MIPS

A RISC architecture used in academic and some commercial contexts.

20
New cards

SPARC

Another processor architecture used in various systems.

21
New cards

Java Platform

The runtime environment (JVM plus libraries) that enables Java programs to run across platforms.

22
New cards

Memory (RAM)

Large, volatile storage used to hold programs and data during execution.

23
New cards

Registers

Small, fast storage locations inside the CPU used for immediate calculations.

24
New cards

Program Counter (P)

The CPU register that points to the address of the next instruction to fetch.

25
New cards

Fetch-Execute Cycle

The sequence of fetching, decoding, and executing instructions in a CPU.

26
New cards

Memory Slot (Byte)

A memory location that stores one byte (8 bits) and is addressable.

27
New cards

Address

A unique identifier for a memory slot in RAM.

28
New cards

Byte

An 8-bit memory unit; the fundamental addressable storage unit.

29
New cards

32-bit Register

A CPU register that stores 32 bits of data.

30
New cards

64-bit Register

A CPU register that stores 64 bits of data.

31
New cards

8-bit Byte

The basic 8-bit unit of memory storage (a byte).

32
New cards

128-bit Big Numbers

Data larger than a single register, requiring chunking across multiple slots.

33
New cards

High-Level Source Code

Code written in a high-level language before compilation into bytecode or machine code.

34
New cards

Binary Executable for CPU

The machine code program produced to run on a specific CPU architecture.

35
New cards

Primitive Types

Built-in data types provided by a language as the basic data building blocks.

36
New cards

boolean

Primitive type representing true/false values.

37
New cards

char

Java’s 16-bit Unicode character type.

38
New cards

byte

8-bit signed integer in Java (-128 to 127).

39
New cards

short

16-bit signed integer.

40
New cards

int

32-bit signed integer.

41
New cards

long

64-bit signed integer.

42
New cards

float

32-bit floating-point number.

43
New cards

double

64-bit floating-point number.

44
New cards

Unicode

Character encoding used by Java; char uses 16-bit Unicode.

45
New cards

Signed Integer

Integer representation that can be positive or negative.

46
New cards

Memory Address Width

The number of bits used to address memory (e.g., 8, 32, 64).

47
New cards

ML (Meta Language)

A functional programming language discussed in notes; includes some imperative features.

48
New cards

The Java Tutorials (Sun)

Official Java tutorials and resources provided by Sun Microsystems.

49
New cards

Design Patterns (Gamma et al.)

A classic book detailing reusable object-oriented design patterns.

50
New cards

Tripos Questions

Past exam questions used for practice in coursework and exams.

51
New cards

Course Web Page

Source of updated notes, code from lectures, and sample questions.

52
New cards

Practical Workbooks

Course notebooks containing practicals; several workbooks are used.

53
New cards

7 Workbooks

Total number of practical workbooks to complete in the course.

54
New cards

CST/NST Ticks

Course-specific points: CST and NST students must collect ticks as required.

55
New cards

Practical Work

Hands-on programming sessions complementing theoretical lectures.

56
New cards

Abstraction Levels

Idea of layering concepts from hardware up to high-level programming.

57
New cards

Encapsulation

A fundamental OO concept where data and behavior are bundled in objects.

58
New cards

Java Platform Independence

The ability of Java programs to run on different platforms via JVM.

59
New cards

Object

A data structure that bundles state and behavior in OO programming.

60
New cards

Class

Blueprint for creating objects in OO programming.

61
New cards

Inheritance

OO mechanism where a new class inherits properties from an existing one.

62
New cards

Polymorphism

OO feature allowing objects to be treated as instances of their base class.

63
New cards

Encapsulation

OO principle of hiding internal state and requiring interaction through methods.

64
New cards

Method

A function defined inside a class that operates on objects.

65
New cards

Variable

A named storage location used to hold data.

66
New cards

Type

A classification of data (e.g., int, boolean, char) that determines allowed operations.

67
New cards

Practical vs Theory

Balance between hands-on programming and abstract concept discussion in the course.