Object Oriented Programming Lecture Notes

0.0(0)
studied byStudied by 0 people
full-widthTalk with Kai (chat & voice learning)
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/22

flashcard set

Earn XP

Description and Tags

Flashcards for reviewing Object Oriented Programming lecture notes.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

23 Terms

1
New cards

Object Oriented Programming Course

A new course that absorbs what was 'Programming Methods' and provides a more formal look at Object Oriented programming with an emphasis on Java.

2
New cards

Importance of Understanding OOP Principles

Understanding the underlying principles of OOP allows you to transition quickly to a new OOP language.

3
New cards

Java Ticks Course

Meant to complement your practicals in Java, with some material appearing only here, only in the practicals, or in both.

4
New cards

OOP Concepts Books

Books for those learning to first program in an OOP language (Java, C++, Python).

5
New cards

Course Web Page Resources

Updated notes, code from the lectures, and sample tripos questions can be found on the course web page.

6
New cards

Computability Problem

The computability problem involves determining what can be done with infinite computing power and how to do it.

7
New cards

Abstract Mathematical Programming Approach

An approach to understanding computers using functions and leading to Functional Programming (e.g., ML).

8
New cards

Building a Computer Approach

An approach to understanding computers by building a computer and extrapolating what it can do from how it works, leading to imperative programming.

9
New cards

Functional Languages

Languages that are mathematically oriented and have the notion of functions as building blocks of computation.

10
New cards

Imperative or Procedural Languages

Languages that have variables (state) and procedures as the main building blocks, including object-oriented languages such as C++ and Java.

11
New cards

Procedure

A function-like chunk of code that takes inputs and gives outputs but can have side effects.

12
New cards

System Memory vs. Registers

System memory provides a very large pool of memory, while registers are fast but small chunks of memory built into the CPU.

13
New cards

Program Counter

A special register that tells the computer where to look to get its next instruction.

14
New cards

Memory Organization

Memory is viewed as a series of slots, each with a set size (1 byte or 8 bits) and a unique address.

15
New cards

High-Level Languages

High-level languages are human-readable and are translated into binary executables by compilers.

16
New cards

State (in Imperative Programming)

Represents data using explicit chunks of memory used to store data values.

17
New cards

Imperative Program Execution

A program is viewed as running a series of commands that alter ('mutate') state to give the final result.

18
New cards

Machine Architecture

Each set of processors that support a given set of instructions is a different architecture.

19
New cards

Compilation Process

Compiling source code specifically for each family of processors.

20
New cards

Virtual Machine

Sun came up with a Virtual Machine – a sort of idealized computer.

21
New cards

Bytecode

A set of instructions for a Virtual Machine.

22
New cards

Primitive Types

High-level language has a series of primitive (built-in) types that we use to signify what’s in the memory

23
New cards

Variable

A name used in the code to refer to a specific instance of a type