IB Computer Science SL Complete
Terms in this set (231)
In OOP a special type of method which has the same name as the class and is used to create objects. This creation process is known as instantiation.
The creation of an instance or particular realisation of an abstraction or template such as a class. The product of this is an object of the class type. In OOP this is done by using a particular method called a constructor.
When a class is instantiated the product is one of these. In OOP it is normally what is returned from the constructor.
An extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).
A procedure associated with an object class. These procedures should be logical in terms of scope and function and written to encourage re-use.
A storage location paired with an associated symbolic name (an identifier), which contains some known or unknown data referred to as a value. In many computer languages the data type is defined and fixed.
A Java keyword. It can be applied to a variable, a method or an inner class. The variables, methods or classes defined by this keyword have a single instance for the whole class and all it's associated objects. It can be accessed when no Object has been instantiated.
A Java keyword. It can be applied to a variable, a method or class and indicates that it cannot be changed , derived from over ridden or extended.
An access modifier. A class, method, constructor or interface that is declared like this can be accessed from any other class.
All methods, and variables declared like this are inherited by subclasses.
An access modifier. Variables, methods and constructors that are declared like this can only be accessed from within the class.
It is the most restrictive access level. Classes cannot be declared like this.
It is the main way that an object encapsulates itself and hides data from outside the class.
An access modifier. Variables, methods and constructors that are declared like this can only be accessed by subclasses in other packages or from other classes within the same package.
A reference to one object or data type can be changed to a reference to another object or data type by this process. The objects in the class need to be related by inheritance or in the case of primitives have a defined way of changing available.
In this coding construct a class that is derived from another class is called a subclass (also a derived class, extended class, or child class). The class from which the subclass is derived is called a superclass (also a base class or a parent class).
Subclasses gain access to the public and protected members and methods of the superclass directly but not the private members and methods. Hence the Objects of the subclass become hybrids of the super and sub classes.
In simple terms it is the ability to define a method of the same name that operates differently depending on the class in which it is defined not the data type of the object from which it is referenced.
This is used to refer to one of two related but distinct notions, and sometimes to the combination thereof:
A language mechanism for restricting access to some of the object's components.
A language construct that facilitates the bundling of data with the methods (or other functions) operating on that data.
Something, such as a program, programming language, or protocol, that is designed so that users or developers can expand or add to its capabilities
A method that returns a member variable and helps to maintain it's encapsulation.
A method that can be used to limit or restrict the changes allowed for a member variable. This can maintain a limited amount of encapsulation.
An event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions. When an error occurs within a method, the method creates an object and hands it off to the runtime system.
Datatypes that are not derived from the Object class and are directly contained values. Java has 8 of these:
In Java, every variable has a type declared in the source code. There are two kinds of types: reference types and primitive types. Reference types are references to objects.
Object Oriented Programming
It provides a clear modular structure for programs which makes it good for defining classes and their associated objects. These classes can be implemented so as to keep details of the algorithms and data hidden through a clearly defined interface. This encourages encapsulation.
The classes may inherit from one another to promote reusability of code and methods can be over ridden in class hierarchies giving rise to the benefits of polymorphism.
Code that has a traditional start to finish flow and does not support classes, inheritance, polymorphism or encapsulation.
A process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer.
A special kind of assignment: the first, before, objects have null value and primitive types have default values such as 0 or false. Can be done in conjunction with declaration.
A relationship between two objects which may be either a dependency (uses) or aggregation (is made up of).
A way of defining the interface, methods, member variables of a class and how they relate to other classes in the system in a graphical form.
A relationship between two objects which indicates that one is made up of the other. For example a car has a relationship with it's wheels.
The breaking down of a complex problem into smaller parts that are easier to understand. In the case of OOP systems are broken down into smaller classes or objects.
The process of identifying the properties and behaviours of real things or ideas that need to be represented in code.
A relationship between two objects where one requires, but does not instantiate another
Objects or primitives passed into a method for use by it's internal algorithms.
The output of a Function and a keyword in Java.
A type of method that performs a task and does not return a value
A type of method that may performs a task but will always return a value
Methods within a class that have the same name and return the same data type but take different arguments.
Methods within an inheritance hierarchy that have the same signature ( return, name and arguments) but different implementations depending on the class they are defined in. This is the basis of polymorphism.
The ease with which changes and fixes can be made to a program.
Collections of related code that can be imported into a program to allow the developer to perform standard actions in a re-usable and easy way.
A variable defined in a class (i.e. a member variable), for which each instantiated object of the class has a separate copy, similar to a class variable. Static variable are not included in this definition.
Variables that are only visible within the block of code within which they are declared. These blocks may be method wide, or within a loop or if for example. The area of it's visibility is known as it's scope.
The method declaration. It is the combination of the method name, return type and the parameter list.
A keyword used to indicate that one class inherits from another.
A series of steps designed to solve a mathematical or other problem
A method of describing an algorithm using structured English close to programming langauge
A diagrammatic method of showing the structure and data flow to define a problem and its solution
Flowchart Symbol: Rectangle
A process to be completed
Flowchart Symbol: Rhombus
Flowchart Symbol: Oval
Start or End to an algorithm
Instructions in binary used by the CPU
A low-level programming language that uses more memorable mnemonic codes and labels to represent machine-level code. Each instruction corresponds to just one machine operation
A program to convert assembly-level commands into machine code
a programming language that requires little or no translation to produce machine code.
A programming language that resembles natural language. Each instruction translates to many machine instructions. It is problem based rather than machine based
A task that can be performed natively by a CPU
A task that requires a combination of many fundamental operations for a CPU to complete
The program written by the end user in a high-level language before it is converted to machine code
Translation software that converts high level source code into machine code by analysing whole blocks of source code
Translation software that converts source code into machine code by analysing only one source code instruction at a time.
Using a condition to decide on what instructions to execute next
A group of instructions is executed repeatedly until a condition is met
Whole number, positive or negative, with no decimal or fractional part
A value that can only be true or false
A single letter, number, or symbol
A series of letters, numbers, and/or symbols
A label referring to a location in memory containing a value that can be accessed or changed by a program
A label referring to a location in memory containing a value that can be accessed but not changed by a program
Identifying a variable or constant or array to a program so that memory space can be aollocated
Setting the value of a variable
A logical, arithmetic or comparison symbol
Comparing the values of two items and returning TRUE of FALSE depending on the results
The rules of a language are broken by the program
The program produces results that are different to what the programmer expected
The program encountered a value, condition, or state that was not executable.
Data used in testing that represents normal data that could be expected
A simple algorithm that repeatedly steps through the list to be sorted, compares each pair of adjacent items and swaps them if they are in the wrong order. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted
Repeatedly finds the next largest (or smallest) element in the array and moves it to its final position in the sorted array.
Start examining values of an array in the center and narrow down your search, halving the search area each time.
Examine the values of each element in an array one by one
A re-usable unit of code. When called, execution returns to the source of the call when the unit is complete
A method that does not return a value
A method that returns a value
a value passed to a method
A data structure containing a fixed-size list of values/objects of the same type
an integer that refers to the position of data in an Array
A data structure containing a variable-size list of values/objects of the same type
A unit containing data and/or methods
Computer network in which all the devices connect together through a common cable
Computer network in which all the devices are connected through a single hub
Computer Network in which each device is connected to two nearest neighbours
The accuracy of data after input, transmission, storage or processing
LAN (Local Area Network)
Computer network where all the connected computers are within a limited geographical area (e.g. a home, school etc); connection between the computers may be through cables and/or microwave transmission
microwave / radio transmission
Electronic communication without the need for cables.
Computer systems that are interconnected and can share resources and data.
A subset of bits from a larger set of data.
Network communication method and transmits small units of data, called packets, through a network, independently of the overall message
Error-detecting procedure that appends a binary digit to a group of binary digits. The sum of all the digits, including the appended binary digit, establishes the accuracy of the data after input, transmission, storage or processing.
International rules that ensure the transfer of data between systems. Standard protocol is protocol that is recognized as the standard for a specific form of communication.
WAN (Wide area network)
Computer network where all the connected computers are in a large geographic area.
VLAN (Virtual Local Area Network)
Every computer on the network is connected to the same physical system but is logically separated into units that cannot share network resources.
SAN (Storage area network)
Network created so that large storage devices can be accessible from servers in a convenient and easy way
WLAN (Wireless Local Area Network)
Links two or more computer systems within a limited area using radio, microwave, light, or other cable-free mediums
A global WAN that connects millions of smaller networks together. It is the largest WAN in the world.
An resource (such as a website) within an local network that is open to external entities (e.g. a retailer might allow access to certain systems for its suppliers.)
The collection of computers and resources on a local network that are only accessible within that local network.
PAN (Personal area network)
Network that interconnects devices that are created centered around an individual person's workspace
Peer-to-peer (P2P) is a decentralized communications model in which each party has the same capabilities and either party can initiate a communication session. All endpoints can act equally as client and server.
A computer system or software that requests a service from a server connected to the same network.
A computer program or a device that provides functionality for other programs or devices.
Standards for wireless mobile connectivity allowing access from mobile devices to the internet.
VPN (Virtual Private Network)
Makes an encrypted "tunnel" connection through the internet or any other public network to establishing a secure connection between private, remote networks
OSI (Open Systems Interconnection) model
A standard for data transmission to simplify the complex requirements across software and hardware
Physical Layer (OSI)
Transmits 0s and 1s over media between devices. Definition of media specification. Voltage levels. Example protocol: RS232-C (serial port).
Data Link Layer (OSI)
Error handling of physical transmission, builds frames and amends transmission rate according the buffer of the receiver
Network Layer (OSI)
This layer is responsible for packet forwarding including routing through intermediate routers, since it knows the address of neighbouring network nodes, and it also manages quality of service (QoS), and recognises and forwards local host domain messages to the transport layer.
Transport Layer (OSI)
End to end connections. Definition of data segments, assignment of numbers, data transfer, reassemblage of data at the destination. Breaks down file, assigns number to each segment, transfers data, reassembles file at destination.
Session Layer (OSI)
This layer provides the mechanism for opening, closing and managing a semi-permanent dialogue between end-user application processes.
Presentation Layer (OSI)
Provides data format information, data compression information and data encryption information to the application. Example protocol: Portable Network Graphics (PNG).
Application Layer (OSI)
Performs various services for the application used by the end users
A 4G network originally designedd as an alternative to DSL Cable and T1 lines. Intended to provide 30 to 40 mbps data rates for a great number of users.
A network protocol that determines whether the data received at the destination matches the data sent by the source
A network protocol that determines whether the stated source of data matches the actual source of data. (It is meant to prevent mimicking trusted sources)
A network protocol that allows a destination of data to request transmission rates that match its capabilities to process the data
A network protocol that allows network infrastructure to restrict transmission rates to and from clients and servers when the total network load is high.
A network protocol that prevents compound network errors from leaving both client and server in passive states waiting from a response from each other.
A network protocol that ensures both sender and receiver agree on protocols for transmission
Allows only authorised network traffic
NIC (Network Interface Card)
A circuit that connects a CPU to a network.
machine instruction cycle
The process by which a computer
1) retrieves program instructions (fetch) from memory
2) determines what actions the instruction requires (decode)
-- if necessary pulls data from memory
3) performs the instruction (execute)
-- if necessary stores results in memory
CPU (Central Processing Unit)
Component of a computer responsible for gathering data and instructions, interpreting and executing instructions, and sending data/results to storage.
ALU (Arithmetic Logic Unit)
Responsible for computing mathematic and boolean operations. A component of the CPU
CU (Control Unit)
Part of the CPU that implements the microprocessor instruction set; it extracts instructions from memory and decodes and executes them, and sends the necessary signals to the ALU to perform the operation needed.
A small, very fast, temporary, memory storage location.
memory address register
A register on the CPU that either stores the memory address from which data will be fetched to the CPU or the address to which memory will be sent and stored.
memory data register
A register on the CPU that contains the data read from or to be stored in main memory.
A Register of the CPU that stores the address of the next instruction that needs to be executed
A register of the CPU that stores the contents of the current instruction to be executed
A register of the CPU that stores the output of the ALU
The primary memory of a computer is made up of the Read-Only Memory (ROM) and the Random Access Memory (RAM), CPU registers and Cache Memory. These are the memory or storage locations directly accessible to the processor and are the fastest types of memory.
This is a non-volatile/persistent storage device used to store the operating system, applications and data in a computer system so that they are available the next time the system is started.
Form of memory that require a constant source of power to retain their state. eg: RAM, Cache
Form of memory that persists when a device is powered down. eg: Magnetic Storage, Flash, ROM, DVD
RAM (Random Access Memory)
Often referred to as Main Memory or simply Memory its the place in a computer where the operating system, application programs, and data in current use are kept so that they can be quickly reached by the computer's processor.
ROM (Read-Only Memory)
"Built-In" computer memory containing data that normally can only be read, not written to. It is accessed at start up and stores the Basic Input Output System (BIOS) or other low-level operating systems
Memory storage built on or very close to the CPU to allow super fast read/write access.
A connection between two or more components of a computer system used for transporting binary information.
A parallel bundle of metal traces used to electrically transfer data to and from the CPU and Main Memory.
A parallel bundle of metal traces used to electrically transfer the memory location to be read from/written to.
A collection of programs used to allow a computer system to be used.
Operating System Responsibility: memory management
The process of controlling and coordinating computer memory, assigning portions called blocks to various running programs to optimize overall system performance.
Operating System Responsibility: Peripheral Communication
Managing connections and data transfer to connected devices like mice, keyboards, and monitors
Operating System Responsibility: Storage Management
Protect files from unauthorised reading and writing. Defragment file systems
Operating System Responsibility: Networking
Open connections to networks, eg: wifi, ethernet, 4G
Operating System Responsibility: Multitasking
allowing a user to perform more than one task at a time.
Operating System Responsibility: Security
Separate individual user's data, programs, and settings and restrict access to unauthorized users.
a computer program that provides special capabilities beyond that of a text editor such as the WordPad program that comes as part of Microsoft Windows operating systems.
a computer application that simulates a physical spreadsheet by capturing, displaying, and manipulating data arranged in rows and columns
database management system
a program that lets one or more computer users create and access data in a database
software which allows users to send and recieve electronic messages, attach files and forward on to others.
an application program that provides a way to look at and interact with all the information on the World Wide Web
CAD (Computer-Aided Design)
software used by architects, engineers, drafters, artists, and others to create precision drawings or technical illustrations.
graphic processing software
software that allows the creation and manipulation of digital graphics e.g. photograph editing and manipulation
GUI (Graphical User Interface)
A way for users to interact with software by interpreting visual elements like toolbars, buttons, and other controls.
Bit (binary digit)
the smallest unit of data in a computer (0 or 1).
a unit of data that is eight binary digits (bits) long; can represent a letter, number, or typographic symbol.
a base 2 numbering scheme in which there are only two possible values for each digit: 0 and 1.
the base-10 number system, probably the most commonly used number system. (numbers 0-9)
a base-16 number system consisting of the symbols 0 through F.
A way to digitally represent colours using binary numbers to represent varying levels of red (R), green (G) and blue (B) light. The more bits used for each, the more colours can be represented but taking up more storage.
simple words (AND, OR, NOT, or AND NOT) used as conjunctions to combine or exclude keywords in a search, resulting in more focused and productive results
the output is true when both inputs are true; otherwise the output is false.
the output is true if either or both of the inputs are true; if both inputs are false then the output is false.
the output is true if either, but not both, of the inputs are true; the output is false if both inputs are false or if both inputs are true.
reverses the logic state.
operates as an AND gate followed by a NOT gate; the output is false if both inputs are true; otherwise the output is true.
operates as an OR gate followed by a NOT gate; output is true if both inputs are false; otherwise the output is false.
a breakdown of a logic function by listing all possible values the function can attain.
a building block of a digital circuit constructed with transistors
The complete set of components that work together to carry out a particular function. These include hardware, software, communications and people.
Allows outputs to be fed back into a system as inputs to allow for adjustment of a process.
Strategic Issues for a New System
Goals set by companies that a System will help them achieve
Data Security Issues for a New System
Data can be valuable (as an asset) or a liability (if lost).
Dependency Issues for a New System
Reliance on a single component in a System without backup
An approach to transitioning individuals, teams, and organisations to a desired future System.
Refers to outdated computer systems, programming languages or application software that are used instead of available upgraded versions.
These occur when elements in a System are not designed to work together and require extra elements to translate between them.
Software/Data runs on hardware operated by the owner
Remote (cloud) Installation
Software/Data runs on shared hardware operated by a third party
Software as a Service (SaaS)
A software delivery method that provides access to software remotely as a web-based service.
Direct Change Over
The old system is stopped completely, and the new system is started. All of the data that used to be input into the old system now goes into the new one.
The new system is started, but the old system is kept running in parallel for a while. All of the data that is input into the old system is also input into the new one. Eventually, the old system will be stopped, but only when the new system has been proven to work.
The new system is introduced in phases, gradually replacing parts of the old system until the new system takes over.
One department of the business is given full implementation of the new system, similar to a 'trial version' of the system.
The process of importing legacy data to a new system.
The process of ensuring that a program operates on clean, correct, and useful data.
User Acceptance Testing (UAT)
Actual software users test the software to make sure it can handle required tasks in real world scenarios, according to specifications.
A group of programmers within the organisation examine early versions to see how the system performs. It is conducted when the software may still be unstable or has incomplete data functionality.
A small subset of actual users adopt the new system for feedback purposes. Is conducted when the software is close to being ready for release and few errors are expected.
Automated Testing / Testbenches
Used when there are tests that can't be accomplished by manual testing because they would consume too much time and resources. It is when another software is used to check the performance of the software
Information included with software that delivers instructions on how to properly use a program for its intended purpose.
Users are guided through a process one step at a time. It is not always practical to create a complete one.
This is a file attached to the program which contains the documentation organised by topic. Its consistent availability is its main advantage.
This would require an internet connection in order to access the documentation. They can be updated in real time.
This cannot be directly accessed through a computer, and if the physical copy is lost, they would lose access to the documentation. Things cannot be automatically searched.
Many systems will now come with user documentation such as tooltips and dynamic page content within the system itself.
All the physical parts that make up a computer, such as the motherboard, CPU, RAM, and power supply.
External hardware components that exchange information and can be easily installed and swapped (eg, keyboard, monitor, mouse, external hard drive)
An organised collection of computer data and instructions, that can construct a computer to perform specific tasks.
A group of two or more computer systems linked together via a wired or wireless communication medium
A person, group, or organisation that is actively involved in a project, is affected by its outcome, or can influence its outcome.
In-depth data collection through consultation of different stakeholders.
A larger process of data collection from a wide range of stakeholders, though less flexibility and depth than an interview.
Used to compare the system requirements and functionality with other turn-key systems.
People working with the existing system to note its functionality and how end users interact with the system.
System Development Life-Cycle (SDLC)
Composed of a number of clearly defined and distinct work phases that are used by system developers to iteratively plan for, design, build, and test systems
Requirement Analysis Phase
Defining criteria for success.
Defining inputs and outputs.
Analysis and Design Phase
This is where data models, prototype designs and testing plans are developed.
The process of creating the system. This is the coding phase.
Testing and Installation
This is where the tests planned during the design phase are applied to check that the system works correctly.
Evolution and Maintenance Phase
Small changes like patches are applied. Larger changes caused by internal or external factors might redefine the requirements of a system.
A simple version of a system produced during the design stage. Its purpose is to show the user an interface and to give some indication of how the system is expected to work. It allows the user to propose changes at the design stage.
Is a measure of how easy it is to use a product to perform prescribed tasks. It focuses on the ease of use and learnability of human interactions with the system. The user, not the system, is put at the centre of the process. Comprised of Accessibility and Ergonomics.
The physical relationship between people and the system they interact with.
The availability of a system to all people, regardless of disability or severity of impairment.
the repetition of the design cycle in order to develop systems
identifying and removing errors from computer hardware and software
when an end user or administrator runs patches or reinstalls software on a local machine
when software collects and installs updates from a remote service without user interaction
help people interact with the computer system and manage how the hardware, programs and data interact
a computer accessing resources hosted by another computer/the server
a computer hosting resources to be shared across the network
YOU MIGHT ALSO LIKE...
Test Preparation TOEIC, SAT, TOEFL
DSST Management Information Systems
WGU C182 Introduction to IT
CS 1004 Final (May 16)
OTHER SETS BY THIS CREATOR
IB HL Physics Topics 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, D for the 2016 Syllabus
IB Computer Science Topic 6 - Resource Management
IB Computer Science Option D
IB Computer Science Topic 4: Algorithmic Thinking
THIS SET IS OFTEN IN FOLDERS WITH...
IB Computer Science - Topic 2 - Computer Organization
IB Computer Science - Topic 1
IB Computer Science - Topic 3 - Networks
Object Orientated Programming