Computer Science Theory Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Pre-defined data types

A

are data types which have already been defined by language in which you are coding. E.g. Bool and integer. Meaning there is a pre-defined range of possible values

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

User-defined data types

A

are data types whose nature is defined by the user (the programmer). Meaning that there is a specific range unique to that program

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

Composite data types

A

are user defined data types that are built on other datatypes, defined data types (such as strings and integers). Examples include sets, classes, arrays, etc. Think of the word composite (joint, more than one, i.e., composite function)

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

Non-composite data types

A

are user-defined data types that do not reference any other data types

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

Sets

A

are given lists of unordered elements that can use set theory operations such as intersection and union. These are defined in a similar way to arrays, they just have normal parentheses and can hold both strings and numbers.

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

Classes

A

are composite data types that include variables of given data types and methods (methods are code routines that can be run by an object in that class).

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

 Enumerated data type

A

 Enumerated data type: a user defined, non-composite, data type that is ordinal, meaning that they have an implied order of values. i.e., months, in the year

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

 Pointer data type

A

references memory location and needs to have information about the type of data that will be stored in the memory. These do not reference any data type though.

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

Text file

A

contains data stored according to a defined character code defined by ASCII or Unicode. This file can be created using a text editor

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

Binary file

A

is a file designed for storing data to be used by a computer program (1s and 0s). It stored data in its internal representation. It organizes the file based on records (a collection of fields containing data values). File – records- fields- values

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

Serial file organization

A

is a method used to organize record within a file. It does so by storing them in chronological order, meaning that files are stored in the order that they were added, with new records being appended to the end of the file.

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

Sequential file organization

A

stores records in an order that is usually based on the record’s unique key field, as the key field is essentially the record’s unique identifier. E.g. for a file containing data on the passwords of users.

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

Direct/Random-access method

A

Randomly ordered, where the record locations are determined by the product of a computation carried by the hashing algorithm.

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

Normalization

A

is the reduction in wasted bits by representing a number with the highest magnitude (there are no wasted leading zero bits). A normalized representation would mean that the two most significant bits are different. This reduction in wasted bits would mean greater precision and the elimination of ambiguity, especially regarding the sign of the number.

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

Rounding errors

A

difference between the result produced by an algo and the exact mathematical value. This can be attributed to the limited accuracy previously mentioned. This error becomes quite significant if calculations are repeated enough times. The only way to preventing this, is to increase the bits for the mantissa.

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

Overflow

A

occurs when the largest number that a register can hold is exceeded. This can often occur when an already large number in the mantissa is multiplied by another large number.

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

Underflow

A

occurs when the smallest number a register can represent is surpassed. This can often happen when an already small number is divided by a large number.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
  • Low-Level programming paradigm:
A

is programming instructions that use computer’s basic instruction set, such as assembly language.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  • Imperative programming paradigm
A

involves writing a program as a sequence of explicit steps that are executed by the processor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q
  • Object-Oriented programming paradigm
A

object-oriented paradigm is based on objects interacting with one another. These objects are data structures with associated methods

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q
  • Declarative programming paradigm
A

where a program describes what the desired result should be

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

Record

A

a collection of fields containing data values. These values can be predefined, and, therefore, a record is a composite data type.

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

Circuit switching

A

is a method of transmission in which data travels along a dedicated communication path (circuit/channel). This channel lasts throughout the duration of the communication, where unimpeded (unobstructed) transmission takes place.

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

Packet switching

A

is a method of transmission where no circuit is established. Rather, the data is broken down into equal sized packets, consisting of a header (which includes instructions for delivery) and the data body itself, of which is sent down independent routes. The routes chosen for each packet will be the most optimum one. This will largely depend on the traffic on each route.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q
  • Connectionless service (packet switching)
A

where packets are dispatched with no knowledge of whether the receiver is ready to accept the packet and has no way of finding out whether a transmission has succeeded.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q
  • Connection-oriented service (packet switching)
A

where the first packet is sent, including a request for an acknowledgement. If the acknowledgment is received, the sender transmits the rest of the packets; otherwise, the sender tries sending the first packet again.

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

The routing table

A

is a data table stored in a router that lists the routes to a particular network destination and the metrics associated with those routes. This information is necessary to forward a packet along the best path toward its destination.

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

Protocol

A

a set of rules, of which are agreed by both sender and recipient

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

Protocol suites

A

contain more than one individual protocol. This complexity of networking requires the use of more than one protocol.

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

hypertext transfer protocol: responsible for correct transfer of files that make up web pages on the WWW

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

simple mail transfer protocol: handles the sending of emails

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q
  • POP3/4
A

post office protocol: handles the receiving of emails

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

Domain name service: protocol used to find the IP address

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

file transfer protocol: used when transferring messages and attachments

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

TCP

A

stands for transmission control protocol. It receives the data from the application layer and splits them into equally sized packets. It also adds a header onto each packet, where if the packet is one of a sequence, a sequence number is included to ensure eventual correct reassembly of user data. Error checking information, for the receiver to use, is also added to the header. The packet is then transmitted to the network/internet layer.

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

Handshake

A

is a term used to describe the process of one computer establishing a connection with another computer or device. These steps included verifying the connection and authorization of a computer connection.

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

Ethernet

A

is a system that connects several computers together to form a LAN. It is a local protocol and doesn’t provide means to communicate with external devices. The Ethernet system uses protocols to control the movement of frames between devices and to avoid simultaneous transmission by two or more devices.

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

Wireless (WiFi) protocols

A

are wireless LANs that use a protocol called CSMA/CA (carrier sense multiple access with collision avoidance). This is not to be confused with CSMA/CD (carrier sense multiple access with collision detection). CSMA/CA is used to avoid collisions whilst CSMA/CD is used to resolve/handle collisions.

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

CSMA/CA

A

ensures that devices only transmit where there is a free channel available. The protocol uses a function to check on whether a channel is free, if the channel isn’t free, then it will hold off anything further transmission until the channel is free, and only once its free can the transmission can take place.

40
Q

BitTorrent

A

is a protocol used in peer-to-peer network/file sharing community. The main difference between the normal peer-to-peer file sharing protocol and BitTorrent protocol is that BitTorrent allows for MANY computers (acting as peers) to share files. Note that in peer-to-peer (including BitTorrent) files are shared directly with one another, not through the use of servers.

41
Q

Torrent

A

is the file being shared on the peer-to-peer network. This does not contain all the data you are looking for though; it just tells your computer what you’re looking for

42
Q

Tracker

A

is the central server that stores details about other computers that make up the swarm, such as the IP addresses of the peers, and what peer has what piece of the data.

43
Q

CISC

A

(Complex Instruction Set Computer) is a processor architecture/design with the main goal of carrying out a given task with as few lines of assembly code as possible. This ultimately makes the code comparatively shorter, and therefore, reduces the memory (RAM) requirements.

44
Q

RISC

A

(Reduced Instruction Set Computer) is a processor architecture/design with the main goal of using less complex/ more optimized sets of instructions. This is done by breaking up the assembly code instructions into several, simpler, single-cycle instructions. This ultimately leads to faster processor performance (processing time) of instructions, as less work must be done by the processor regarding breaking down the commands.

45
Q

Pipelining

A

is a form of computer organization that allows several instructions to be processed simultaneously without having to wait for previous instructions to finish.

46
Q

Interrupts

A

are signals emitted by hardware or software when a process or an event needs immediate attention. It alerts the processor to a high-priority process requiring interruption of the current working process.

47
Q

Parallel Processing

A

is an operation which allows a process to be split up and for each part to be executed by a different processor at the same time. Essentially, it is the simultaneous processing of data. There are many ways for parallel processing to be carried out

48
Q

Massively parallel computers

A

on the other hand, forms a genuine- parallel system. It is the linking of several computers effectively forming one machine with thousands of processors.

49
Q

bottleneck

A

is a situation wherein too many demands on a physical CPU degrade system performance or make the system run slower.

50
Q

Core

A

is essentially a processing unit within the Core Processing Unit. Today, CPUs are made up of numerous processing units. This allows for more efficient and faster processing as instructions can be passed down to varying cores, allowing for numerous instructions to be processed simultaneously.

51
Q
  • Combination circuits
A

(where the outputs solely depend on the input values). All logic gate circuits we have looked at so far has been combination circuits

52
Q
  • Sequential circuits
A

(where the output depends on the input value produced from a previous output value). Examples of sequential circuits include flip-flops. We will be considering the SR flip-flop and JK flip-flop.

53
Q

Interpreters

A

translate code into machine code, line/instruction by line/instruction. The CPU executes each instruction before the interpreter moves on to translate the next instruction.

54
Q

Compilers

A

Compilers translate high-level language into machine code, outputting that machine/object code.It is important to note though that a compiler does not execute the code. The output is strictly the object code and/or all the error messages. These error messages would be reported at the end of the compilation.

55
Q

Syntax Analysis

A

is the process of double-checking the code for grammar mistakes (syntax errors). The syntax of some code is often set out in BNF notation. If any errors were found, they will be outputted. The code generation process will not begin until the errors are resolved,

56
Q

Code generation

A

is the process by which the object program or, at times, intermediate code is generated.

57
Q

Lexical analysis

A

is the process of converting a sequence of characters to a sequence of tokens (sequence of characters/strings).

58
Q

Optimization

A

is the final stage in the translation process and is where the code is edited to make improvements in efficiency. This allows for greater efficiency in time and memory allocation.

59
Q

Syntax diagram

A

is a graphical method of defining and showing the grammatical rules of a programming language.

60
Q

Backus-Naur form (BNF)

A

is a formal method for describing the syntax of programming language

61
Q

Eavesdropper

A

is a person who intercepts data being transmitted

62
Q

Encryption

A

is the process of converting the original representation of data known as plaintext into an alternate form known as ciphertext. Only the intended receipt can decipher ciphertext back to plaintext and therefore have access the original information.

63
Q

Symmetric encryption

A

is an encryption type in which the same key is used to both encrypt and decrypt messages. This key is called the secret key.

64
Q

Block cipher (symmetric encryption)

A

encrypts data in fix-sized blocks/groups (i.e., 128 bits) in one go rather than one bit at a time (what would otherwise be called stream cipher). Here, the plaintext is first passed down into a block cipher encryption, where it would use the secret key to encrypt the data. The product is ciphertext. The first block of ciphertext is then XOR-ed with the next block of plaintext to be encrypted, thus preventing identical plaintext blocks producing identical ciphertext. This process is known as block chaining.

65
Q

Stream cipher

A

is the encryption of bits in sequence as they arrive at the encryption algorithm. Although it also XOR-es the plaintext, you don’t need to know that and its specifics.

66
Q

Key distribution problem

A

is a security problem inherent in symmetric encryption due to the fact that there is a risk that the key can be intercepted by an eavesdropper/hacker when getting sent to the recipient

67
Q

asymmetric encryption

A

a form of encryption that uses two keys- a public key and a private key.

68
Q

Public key

A

is an encryption/decryption key known to all users (one way fucntion)

69
Q

Private key

A

is an encryption/decryption key which is known only to a single user/computer (one way function)

70
Q

Quantum Key Distribution (QKD)

A

is a protocol which uses quantum mechanics to securely send encryption keys over fiber optic cables.

71
Q

Cryptography

A

is the practice and study of techniques for secure communication

72
Q

Secure Sockets Layer

A

is a security protocol used when sending data over the internet.

73
Q

Transport Layer Security

A

is also a security protocol used when sending data over the internet; however, it is a more up to date version of the SSL.

74
Q

Public key infrastructure (PKI)

A

is a term used to refer to everything used to establish and manage public key encryption and identification. It is, therefore, a set of protocols, standards, and services that allow users to authenticate each other using digital certificates issued by a CA.

75
Q
  • Handshake protocol (layer of the TLS)
A

permits the web server and client to authenticate one another and make use of encryption algorithms (it establishes a secure session between client and server)

76
Q
  • Record protocols (layer of the TLS)
A

contains the data being transmitted over the network (this can be used with or without encryption)

77
Q

Digital signature

A

is an electronic way of validating the authenticity of digital documents [that is, making sure they have not been tampered with during transmission] and proof that a document was sent by a known user.

78
Q

hashing algorithm

A

a one-way function which converts data strings into a numeric string which is used in cryptography. This numeric string is called a digest.

79
Q

Digest

A

is a fixed-size numeric representation of the contents of a message produced from a hashing algorithm. This can often be encrypted to form a digital signature.

80
Q

Digital certificate

A

is an electronic document used to prove the identity of a website or individual. It contains a public key and information identifying the website owner or individual. The certificate is issued by a CA (Certificate Authority) who independently validate the identity of the certificate owner.

81
Q

Artificial Intelligence

A

can be thought of as a machine with cognitive abilities such as problem solving and learning from examples. It is the ability of a computer to perform tasks commonly associated with human intelligence

82
Q
  • Narrow AI
A

is when a machine has superior performance to a human when doing one specific task (such as the Chess engine)

83
Q
  • General AI
A

is when a machine is similar in its performance to a human in any intellectual task

84
Q
  • Strong AI
A

is when a machine has superior performance to a human in many tasks

85
Q

Machine learning

A

is a branch of AI and refers to algorithms that enable software to improve its performance overtime as the software obtains more data. This is programming by input output examples rather than just coding – basically systems that learn without being programmed to learn

86
Q

Labeled data

A

is data that comes with a tag, such as a name, type, or a number. Basically input data that has already been supplied with the target answer/output of what it is.

87
Q

Unlabeled data

A

is data that does not have a tag. It is the raw form of data. It is data where objects are undefined and need to be manually recognized.

88
Q

Supervised learning

A

is a learning approach in which the computer algorithm is trained on labelled input data. The model is trained until it can detect the underlying patters and relationships between the input data and the output labels, enabling it to yield accurate output results when presented with, never seen before, unlabeled data.

89
Q

Unsupervised learning

A

is a system which can identify hidden patterns, similarities, and anomalies from input data by making data more readable and organized through the use of density estimations and k-mean clustering (you do not need to know how those analytical methods work, just that machine learning makes use of it)

90
Q

Reinforcement learning

A

is a learning method where agents are trained on a reward and punishment mechanism. The agent is rewarded for correct moves and punished for the wrong ones. In doing so, the agent tries to minimize wrong moves and maximize the right ones, in a particular environment (In other words, it uses trial and error in algorithms to determine which action gives the highest/ optimal outcome).

91
Q

Semi-supervised (action) learning

A

is a learning method utilized in machine learning that makes use of both labelled and unlabeled data to train algorithms. Essentially, the labeled data establishes base labels and categories that are used as a starting point for the algorithm to process related unlabeled data. This approach is often necessary when it is considered too time-consuming and expensive to collect large amounts of labeled data.

92
Q

Deep learning

A

is a type of machine learning that is inspired by the structure of the human brain, allowing them to handle huge amounts of data and think in a way similar to the human brain. The machine adopts a structure called the artificial neural networks.

93
Q

Artificial neural networks

A

are networks of interconnected nodes (connection point in a communication network) based on the interconnections between neurons in the human brain. The system is able to think like a human thanks to the neural network, and its performance improves with more data.

94
Q

Hidden layer

A

is located between the input and output of layers. The Hidden Layer identifies features from the input data and uses them to correlate between a given input and a correct output, i.e., in facial recognition or in the example previously given: if 35°C, not raining, and is a Friday then number of swimmers is 80% going to be 66.

95
Q

Regression

A

is a statistical measure used to make predictions from data by finding relationships between the inputs and the outputs. It is basically a line of best fit that minimizes the disparities.