TSA Study Guide#1

abstraction

athe process of simplified depiction of a complex situation by hiding the irrelevant details and focusing only the main idea

adware

aagidvertising-supported software; software which
renders advertisements for the purpose of generating
revenue for its author

agile methodology

collaborative iterative software development process that involves: planning, requirement analysis, design, coding, unit testing, and acceptance testing; Each iterative process is called a sprint

algorithm

a step-by-step list of rules/instructions that specifies how to solve a given problem

alpha testing

an early testing stage

anti-virus

a computer software or program that detects
and destroys malwares on a computer

API

(Application Programming Interface) It is part of a server that receives requests and sends a response without the end user having to leave the application. For example: you schedule a hair appointment online with your stylist, the website offers you the opportunity to add that appointment directly to your Outlook calendar and you accept - the stylist's server communicates with the Outlook server and puts the appointment on your calendar as an API request)

append

to add or join data in an existing array or list

application

a computer program that gives computer
instructions

array

a list of objects that are the same data type, (an array of strings, integers, floats) each item in the array is called an array element

array element

a single item in an array

array index

the location of an array element, the first
index always starts with [0,1,2...]

ASCii

(American Standard Code for Information Interchange) Represents characters using numeric values, it uses a 7- bit system that gives it 128 possible combinations

backup

an extra copy of a file or directory stored in a separate storage device for future reference in case the original data is lost or corrupted

bandwidth

a measurement of transmission rate of the data in a networking device

beta testing

the secondary testing stage in the series of testing phase

Big-O Notation

a measure of the time and memory needed to complete an algorithm based on the problem size known as (n)

binary

a number system with the base 2, represented by a combination of 0's and 1's

Not studied (158)

You haven't studied these terms yet!

Select these 158

BIOS

(Basic Input/Output System) Pre-installed Windows programmed used to startup the computer; it checks the hardware connections and devices before launching the OS.

bit

a single and smallest unit of information stored in a computer and can be either a 0 or a 1

bluetooth

short range wireless connection that reaches 30 feet

Boolean

a binary value having two possible outcomes: true/false, yes/no, on/off

Boolean expression

a logical expression whose outcomes have two possible answers: True/False

branching

allows the computer to deviate from its normal algorithmic flow and continue reading through the code following another path (or branch)

browser

a computer application used to view html pages/websites through an internet connection

buffer

a part of memory used for temporary storage; helps to overcome the data transfer rate between two communicating devices

bug

denotes a fault or error in a computer program or a machine

byte

is equal to 8 bits, it is the the abbreviation of the two words binary term, it is a unit of storage for a single character

capacity

the size or amount of information/data that can be stored in a device usually denoted in KiloBytes/MegaBytes/GigaBytes

computer literacy

the in-depth knowledge of how computers operate and process data to solve problems

CPU (Central Processing Unit)

aso known as the brain of the computer; the part of computer that does most of the processing

class

a template or a blueprint that describes the state(variables) and behaviors(methods) of an object(s)

click

press the mouse button or the keys of the keyboard

clock

a remote server(s) that store data and can be retrieved online

code

a symbolic representation of a program or data in computer

command

an instruction to the computer; usually an elementary part of a computer program

compiler

a program or software for translating a computer program written in one language into code that can be executed by the computer

compiled code

translated source code (high-level language) to executable or assembly code

compression

used to reduce the size of a file/files to take up less memory space and to send a file(s) quickly online; compression can either be lossless or lossy

concatenation

joining two String values together using the '+' operator; e.g. "hello" + "World" will result in helloWorld

conditional operators

the mathematical symbols used to compare two values or variable for a decision making scenario in a computer program; greater than(>),greater than or equal to(>=), less than(<), less than or equal to(<=), not equal to(!=)

constant

in programming, this value cannot be changed by the program; unlike a variable

copyright

the ownership of someone's work and their right to sell or advertise the work

CyberCrime

an illegal crime or offence done through the internet and computers; e.g. credit card fraud

data sanitization

the process of permanently and irreversibly removing or destroying the data stored on a memory device for security purposes

data type

defines what kind of value a variable can hold such as number or string

database

an organized collection of data, files and services to access them in a variety of ways relevant to the data

debugging

the process of identifying errors or bugs in a program and fixing them

decompose

to break down a complex problem into smaller, simpler blocks

decryption

the process of decoding an encrypted data or text into a format or language that you can understand

decimal

the number system with the base ten, represented by a combination of ten digits ranging from 0 to 9

DeMorgan's Law

1) When the NOT operator is applied to the AND of two variables, it is equal to the NOT applied to each of the variables with an OR in between; 2) When the NOT operator is applied to the OR of two variables, it is equal to the NOT applied to each of the two variables with an AND in between

double

the numeric data type that contains positive or negative decimal numbers such as 12.3864 or -2.876

encapsulation

the feature of a programming language which enables the bundling of relevant data and methods of an object together; also provides for the security of object's data

encryption

the process of encoding a text or data into a format that only the authorised parties can understand or access; an important process to ensure cyber data safety

exception

an error that occurs during runtime or compile time due to an incorrect syntax, command or invalid user input

exception-handling

the process of rectifying the exceptions that occur in a computer code or program

fair use doctrine

United States law that permits limited use of copyrighted material without having to first acquire
permission from the copyright holder

float

an integer variable type that has numbers on the right of the decimal point (fractional values)

for loop

an iterative loop that executes a set of instructions repeatedly with a predefined beginning, terminating and incrementing condition; e.g. for(int i = 1; i<10;i++){ //instructions }

function

a procedure or a module that has a block of code or instructions that can be reused through the function call wherever required in a program

garbage collection

the process of identifying objects or data variables that are no more needed and delete them to free memory

gigabyte

equals to a billion bytes (10!)

GPS

Global Positioning System, is a navigation system used to track or find the physical location of an object or place of interest

GUI

(Graphical User Interface) the user interface that includes icons, toolbars, windows and other buttons to enable the end user to comfortably interact with a program

hacking

the process of gaining an unauthorised access
or control of a computing device or a program

hacker

a person who gains an unauthorised access to
a computer or any other network device like a server

hardware

the physical components of a computer; includes the input, output devices and the processing units; e.g. CPU, Monitor, Printer, Keyboard

hashmap

an imported Java Utility that is used for storing key and value pairs: HashMap<key,value>; this class permits null values and the null key

hexadecimal

the number system with the base 16, represented by a combination of sixteen digits ranging from 0 through 9 and A through F; e.g. 23F9A

hierarchy

a structured system of ranking and placing the components in a particular order generally by the order of their importance

high-level language

language or code that is readily able to be written and read by humans; this language must be compiled or interpreted in order to be understood by the computer

HTTP

(Hypertext Transfer Protocol) A set of rules that transfers files (graphics, sound, text) on the World Wide Web, it runs on top of TCP/IP

HTTPS

(Hypertext Transfer Protocol Secure) Like HTTP but adds a secure layer (SSL) in the data transfer protocol

IDE

(Integrated Development Environment) Used to develop software by providing an editor, automation and debugging tools for the programmer

I/O

input and output

IP

(Internet Protocol) the rules/standards used to send
and receive information over the Internet

IP address

a unique identifier for each device on the Internet or local network; Current standard is IvP4 and now IvP6

IvP4

32 bit addresses; this allows for 4,294,967,296 (232) unique IP addresses; because of the number of IoT and other devices this is being update to IvP6

Image: IvP4

IvP6

128 bit addresses; this allows for 340,000,000,000,000,000,000,000,000,000,000,000,000
(264) unique IP addresses

if

a conditional statement that runs if the data set is proven true

if-else

compares two or more data sets; IF the statement is true, the instructions continue if not the program continues the ELSE instructions

infinite loop

a set of instructions that run repeatedly for an infinite number of times and are often caused due to a missing termination condition for the loop to exit

inheritance

alllows new objects to take the properties of existing objects; the class used for inheritance is called the superclass(or a parent class) and the class that inherits is a subclass(or a child class)

initialize

assigning a variable a beginning value (int a = 3)

instantiate

to create an object of a particular class is referred to as instantiating that class

integer

a numeric data type which represents whole numbers; can be positive, negative or a zero

internet

the network of all the computers and other devices that are connected through the world wide web and communicate through a set of established rules and protocols

interpreted codde

computer language that does not need to be compiled into machine language (or translated) first, instead the language (such as Java) is interpreted and compiled at the time of execution; the code is read line by line; Java is an interpreted language

IoT

(Internet of Things) Interrelated computing devices that have unique identifiers and can exchange information over a network without human intervention

IP address

the identification for a device that is connected to the internet; can be permanent or temporary based on the protocol or the network; e.g. 129.45.67.09

iteration

the repetition of a certain process to reach a desired goal; helps avoid rewriting the same instructions

Java

object-oriented, class-based, interpreted
programming language

kilobyte

equal to 1,000 bytes or 103; used to measure the size of files

library

a collection of routines/modules/functions already created that can be called and used by the programmer; (examples might be: message templates, configuration data, subroutines, classes)

loop

part of a program that repeats a set of instructions for a specified number of of times

lossless compression

compression of a file without losing any quality; rewrites data in more efficient manner; still a larger compression type than lossy compression

lossy compression

compression of a file in which their is loss of quality; used with audio and graphics, this compression method degrades the original and can be visible and audible loss

low-level language

machine language or code that the machine can read

machine language

language consisting of binary and/or hexadecimals that allows the computer to reply directly

malware

a software program intentionally designed to cause harm to a computing device or server

McCarthy Evaluation

a type of short-circuit evaluation in which semantics of some Boolean operators where the second argument is executed or evaluated if the first argument is insufficient in determining the value of the expression

megabyte

equal to 1,000,000 bytes or 106; used to measure the size of files

modifier method

determines whether other classes can a specific field or use a particular method

motherboard

the main circuit board of the computer which connects major components of a computer such as CPU, memory, I/O devices

network

a set of computing and electronic devices connected through a wired or wireless medium for interaction; e.g. a network of computers, cell phone, router and printer

nested loops

a loop within a loop used for repeating an inner loop through the outer loop

object

an instance of a class in an object oriented programming approach such as Dog is an instance of the class Animal

object oriented programming

a programming style in which data and behavior are associated with an object modelling the real world scenario

operating system

that software of the computer that instructs the hardware components to work and interact with other software/hardware components;e.g. Mac, Windows, Unix

paradigm

a group of ideas that represent how
something should be developed or made

parameter

a special kind of variable used in a method or a function and has the data provided as input to the that method(function) call

piracy

Illegal production and distribution of a media(audio, video, images,art, computer software)

pixel

the smallest distinct part of an image in digital format

plagiarism

the process of stealing somebody else's work and posting it as yours

polymorphism

the process of using same modules to provide different behaviors usually through the use of varying parameters(count and data types)

port

a socket on a computing device for attaching them to external devices such as keyboard or a printer

procedure

a block of code or instructions that can run independently; also known as method or function

processor

the hardware component that executes the computer programs and software applications; also referred as the Central Processing Unit

program editor

a program designed to edit programming; may or may not be part of an IDE

programming

(Or program) set of instructions used by a computer to solve a purpose or problem

protected

a variable/method that can only be accessed by the class that belong to or its subclass

protocol

the rules and regulations that establish the grounds of communication between two or more devices or program; e.g. HTTP, TCP/IP

prototype

a working or non-working model of a project or object which is made for demonstration purposes; provides an approximate idea of how the end product would look and function like

private

a variable/method that can be accessed only by the class they belong

pseudocode

a well explained set of instructions about how a computer program or an algorithm will work but written in a rather non-programming language

public

may be referred to as "Global"; a variable/method that can be accessed by any other program or part of the program

pull

when the client initiates a request and the server responds

push

when the server initiates a request and the client responds

python

high-level, interpreted programming language; this language was created by Guido van Rossum and released in 1991

QR code

stands for Quick Response Code; barcode variety with a matrix of dots which can be scanned with a QR scanner

query

a question that is asked of a computer program that is answered by the program

ransomware

an advanced type of malware that restricts access to the computer system until the user pays a fee

RAM

also known as Random Access Memory, temporary working memory storage

RGB

stands for "Red, Green, Blue"; specifies color by giving the amount of each of three primary colors to make the desired color

reboot

to restart a computer or other device usually as a part of troubleshooting

repository

used by version control systems as a central storage system for multiple versions of data; usually accessible by multiple users

ROM

also known as Read Only Memory, stores the boot up instructions called BIOS; permanent storage

router

a network device that establishes the path for a data packet to transfer through the network medium

SDLC

(System Development Life Cycle; Software
Development Life Cycle)

server

a computer that provides a specific service and is accessible over the internet

simulation

modeling the behaviors and conditions of the real world situation or problem in a virtual form

software

a computer component that includes at least one or many programs and data files and are used with a specific goal in mind such as image processing software(Adobe Photoshop)

spam

an unwanted email or message

spyware

a malicious software that spies on a user, tracks their internet activities

SSL

(Secure Sockets Layer) A standard security that uses an encrypted link to transfer data between the server and its client

string

a combination of symbols, characters, numbers and letters; can be a name or an addressbind

subclass

can also be called "child class"; this class inherits behavior and states from its superclass (or parent)

substring

takes characters from a list between the two quantified indices

superclass

can also be called "parent class"; the class or computer program that has data and methods which can be inherited or reused by a subclass(child)

switch

a device that receives incoming data packets and redirects them to their destination on a local area network

switch case

the conditional block of instructions where decision is made based on comparison of defined cases

syntax

the grammar to define how a statement or command should be written in a certain language

TCP

(Transmission Control Protocol) A transport layer protocol that enables systems to communicate over the Web

terabyte

equals to a trillion bytes (𝟏0!")

thread

a small unit of execution of a process that can run in parallel with other threads in the process; helps multiple parts of a process run simultaneously

topology

the physical or the logical configuration of a network; the arrangement of a network, including its devices and connecting links

Trojan horse

a computer program that misrepresents itself as a regular program in order to persuade an unsuspecting victim to install it

troubleshooting

a systematic approach to solve a problem, error, or fault within software or a computer system

two-dimensional array

an array of arrays which has set of rows and columns usually represented as a table

UserName

a name that a user defines to register themselves for a website or a user group; also known as screen name

URL

(Uniform Resource Locator) The address of a specific website, page or file

variable

a user defined name that represents a data value to be stored and changed during a computer program run; can have numbers, strings, true or false values

virtual machine

a software implementation of a hardware component that executes programs like a physical machine

virus

a malicious program that has the capability to replicate itself and corrupt the device it is hosted on

version control system

system used to track changes to a files enabling the user to go back to prior file creations; examples of version control systems are (GitHub, Mercurial)

waterfall

A SDLC model developed by Winston W Royce in 1970, this development methodology uses five steps: requirements (planning and analysis), design (logical and physical), implementation (programming), verification (customer roll-out), and maintenance

word processor

an application that provides the user with tools needed to write and edit and format text files such as Google docs, Microsoft Word

worm

a malicious program that replicates itself to
corrupt the files and data on the victim device

website

a collection of interlinked web pages on the World Wide Web

while loop

a loop that repeats while a condition is true

WI-FI

a wireless method used to send information that
uses radio waves

workspace

the white/blank area usually on the right side of a learning system where you are able drag and drop commands in a blocky program

XML

(Extensible Markup Language) Not a markup language, but a "metalanguage", it can be used by HTML; it is used to create a markup language for a particular application such as a database of information used on a website without having to use a specific database program

YACC

(Yet Another Compiler Compiler) ; a Unix system
tool program for generating C or C++ code for a parser;
a command-line tool that accepts a grammar description
(in a text file) as input and generates the code for a
parser for that grammar as output

Image: YACC

zip file

the file format that compresses a data file for less storage issues and quicker online transfer of material; the file extension ends in .zip