Exam Flashcards

1
Q

Define the term Hardware

A

The physical components of a computer system. Includes:
* Internal hardware (e.g., Motherboard, Ventilation Fans)
* External hardware (e.g., Monitor, Keyboard)

Internal hardware refers to components inside the computer, while external hardware refers to peripherals that connect to the computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define the term Software

A

The ‘virtual’, non-physical part of a computer system. It describes applications, scripts, programs that run a device. It is a compilation of lines of code that create a computer program.

Software can be categorized into system software (like operating systems) and application software (like word processors).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define the term Peripheral

A

A physical external device that provides input or output for a computer, also called I/O devices. Examples include:
* Mouse
* Monitor
* Keyboard

Peripherals can be categorized as input devices (e.g., keyboard, mouse) and output devices (e.g., monitor, printer).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Define the term Network

A

A collection of devices connected for the purpose of sharing data and information. A network can be as small as two devices. The most common types are:
* Local Area Network (LAN)
* Wide Area Network (WAN)

Networks can be wired or wireless and can vary in complexity and size.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define the term Human resources

A

The end user of the computer system or the department responsible for managing resources related to computer systems.

Human resources can also refer to the management of people within an organization.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is computational thinking used for?

A

Provides tools to devise algorithms to solve problems.

Computational thinking involves problem-solving skills that can be applied across various disciplines.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define algorithm and the ways it can be represented

A

A series of unambiguous instructions designed to solve a problem and achieve a certain goal in a finite number of steps. Can be represented through:
* Pseudocode
* Flow charts
* Programming language

Algorithms are foundational in computer science and can be visualized in various formats for clarity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does thinking procedurally involve?

A

It’s a procedure that involves:
1. Step by step
2. The steps matter
3. Might have a sub-procedure called using its identifier
4. Like a recipe

Procedural thinking is essential in programming and algorithm design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define thinking abstractly

A

A mental model where abstraction is the process of taking away or removing characteristics from something to reduce it to a set of essential characteristics.

Abstraction helps in simplifying complex systems by focusing on the essential aspects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Give a real-world example of abstraction

A

Examples include:
* Abstract Art
* A Map

These examples illustrate how abstraction simplifies representation while retaining essential information.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Distinguish between real-world entity and its abstraction

A

A real-world entity is the actual object, while its abstraction is a simplified representation used to solve a specific problem or design an algorithm.

Understanding this distinction is crucial in fields like software design and modeling.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the need for a higher-level language?

A

Easier to understand, less errors, easier to debug, easier to maintain compared to lower-level languages.

Higher-level languages allow developers to write code more efficiently and with greater clarity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

List features of a higher-level language

A

Features include:
* Mimics natural language
* Easy to use
* Simpler program development
* Faster and more understandable

These features make higher-level languages more accessible to programmers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Define machine language

A

Made of 0s and 1s, the only language a computer can process. It is hard to write and difficult to debug and maintain.

All programs written in machine language are specific to a computer architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is assembly language?

A

Binary code replaced by instructions and references to address locations with symbols called mnemonics. An assembler translates mnemonics to machine language.

Assembly language is still specific to a particular computer architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How does a compiler work?

A

Executes translation only once. Syntax errors are communicated to the programmer at the end after checking the entire program. It is much faster than interpreters.

Compilers generate a machine code file that can be executed multiple times without recompilation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

How does an interpreter work?

A

Runs slowly, starts straight away, and lets you see results immediately.

Interpreters are useful for scripting and debugging because they execute code line by line.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Define variable

A

A storage location that can be used to store a value. Each variable has a name (identifier) used to refer to the stored value, which can change during program execution.

Variables are fundamental in programming for data manipulation.

19
Q

Define operator

A

Used to manipulate operands. For example, in 2 + 3, + is the operator and 2 & 3 are the operands. Operators can be:
* Arithmetic
* Relational
* Logical

Operators are essential for performing computations and comparisons.

20
Q

What is an object?

A

An abstract entity that describes the data it has and the actions it can perform.

Objects are foundational to object-oriented programming.

21
Q

Define instantiation

A

The process of creating a specific object from a class, which serves as a blueprint.

Instantiation is a core concept in object-oriented programming.

22
Q

What is a class?

A

Describes the kind of object. It is a blueprint that defines all the attributes and methods needed to create the object. A class is always public.

Classes encapsulate data and behavior in object-oriented programming.

23
Q

Define identifier

A

The name that identifies an entity.

Identifiers are used for naming variables, functions, classes, and other entities in programming.

24
Q

What is a parameter variable?

A

Additional information that a method needs to complete performing the task.

Parameter variables allow methods to operate on different data inputs.

25
Q

Define method

A

Implements the behavior of the object and gives it its function. A method is always public.

Methods are essential for defining the actions that objects can perform.

26
Q

What is UML?

A

Provides a way to visualize the design of any software system and has evolved into the standard for modeling OOP.

UML stands for Unified Modeling Language.

27
Q

What is a UML diagram?

A

They depict classes and how classes interact.

UML diagrams are used for visualizing and documenting the structure and behavior of a system.

28
Q

Define aggregation in UML.

A

A ‘has a’ relationship where one object belongs to another object and none other. Represented by a hollow diamond followed by a line.

Aggregation indicates a whole-part relationship.

29
Q

Define dependency in UML.

A

A ‘uses’ relationship where one object is dependent on one or more objects to function. Represented with a dashed arrow.

Dependency highlights how objects interact and rely on each other.

30
Q

Define inheritance in UML.

A

An ‘is a’ relationship where one object (child) is a specialized form of another object (parent). Represented by a hollow triangle followed by a line.

Inheritance allows for code reuse and the creation of hierarchical relationships.

31
Q

What are parameter variables?

A

The additional information a method requires to execute.

Parameter variables enhance the flexibility and functionality of methods.

32
Q

Define constructor method.

A

A method that initializes an object when created.

Constructors are crucial for setting up an object’s initial state.

33
Q

What is an accessor method?

A

Gives information about the object’s state to whoever calls the method.

Accessors are commonly known as getter methods.

34
Q

What is a mutator method?

A

Changes the state of their object.

Mutators are often referred to as setter methods.

35
Q

Define signature in programming.

A

The method’s name and its parameter types.

The signature uniquely identifies a method within its class.

36
Q

Define instance variables.

A

Defined in a class, represent the object’s properties, and exist as long as the object exists.

Instance variables store the state of an object.

37
Q

Define constructor.

A

A special method that sets up an object when first created, mainly to set up the instance variables.

Constructors can have parameters to allow for different initialization scenarios.

38
Q

Define Array.

A

A collection of items of the same type, each accessed by its position called an index.

Arrays are fundamental data structures used to store multiple values.

39
Q

List characteristics of a linear array.

A

Characteristics include:
* It has a name
* Its size is fixed and cannot be changed while the program runs
* It has a data type that specifies the kind of data it can hold

Linear arrays are commonly used in programming for sequential data storage.

40
Q

Define parallel arrays.

A

a group of multiple arrays used to represent a single array

Parallel arrays are often used when multiple attributes of an object need to be kept together.

41
Q

What are the two types of arrays in Java?

A

Types include:
* Classic static array - size fixed at declaration
* ArrayLists - dynamically resizable construct (used when the array size is not known in advance)

ArrayLists provide flexibility over traditional arrays.

42
Q

Inner part of the class

A

instance variables : store data persistently within an object
Constructors: ensure that an object is set up properly when its first created. Ensure that the object is ready for use immediately following its creation. This process is also called initialization
Methods: implement the behaviour of the object; provide its functionality