Computer Science HL IB Mock Exam Study Guide

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

The need for pre-conditions

Frequently a programmer must communicate precisely what a function accomplishes, without any indication of how the function does its work. Ex: You are the head if a programming team and you want one of your programmers to write a function for part of a project.

Different Transmission Media

Twisted Pair, Coaxial Cable, Fiber Optic Cable

Input to Output Devices (sensors + actuators)

sensors: physical parameter->electrical output actuator: electrical input->physical output ex: piezo electric - force->voltage, volage-> Force

Concurrency

the fact of two or more events or circumstances happening or existing at the same time

Storage devices as limiting factors

- CPU performance 60% every year or two - Storage devices have improved 10% every year or two - Mechanical limitations limit storage drives - Storage devices' bottleneck limits Computer performance - "Only as strong as your weakest link"

Iterative Design

A design methodology based on a cyclic process of prototyping, testing, analyzing, and refining a product or process until a desirable solution is reached

Operator

A symbol that represents an action or process

Transducer

A transducer is a device, which converts one type of physical property, quantity or condition into another easily usable form. Common examples include microphones, speakers, thermometers, position and pressure sensors, and antenna.

Using Transducers

A transducer is more than a sensor. It consists of a sensor/actuator along with signal conditioning circuits. - A sensor may or may not have a conversion and it only sense. - A transducer always involves a conversion and also has signal conditioning involved

OR operator

Makes so where the answer is only false if both statements are false

ALU (Arithmetic Logic Unit)

ALU is a digital circuit that performs arithmetic and logic operations within the CPU. It is often referred to as a "Core". "Dual core" systems contain two ALUs to process simultaneously

Array to ArrayList Algorithm

Collection <int> DATA; for(int i=0, i<myArray.length, i++) { DATA.addItem(myArray[i]) }

XOR operator

Makes so where the answer is only true if only one of the statements is true, if both are true or both are false it is false

Binary System

Computers use binary--the digits 0 and 1--to store data. Because it only has 2 symbols it is also called BASE-2 numbering. Binary also refers to the format in which numbers are transmitted and calculated in a computer system.

Bandwidth

Bandwidth, also known as bit rate, is a measurement of how much data can be sent at any given point in time - hence, bandwidth is measured in bits per second (bps). Bandwidth needs to be managed because of the detrimental effects that occur if the bandwidth is too limited. A limited bandwidth means that any data that is sent from a device will take a longer amount of time to reach its destination, making activities like streaming extremely difficult.

Binary to Denary

Binary numbers go from 2 to the power of 0 starting from the rightmost number. Ex: 01 = 1, 101 = 5

Centralized System

Computing done at a central location, using terminals that are attached to central computer - The computer itself may control all the peripherals directly (if they are physically connected to the central computer) - Or they may be attached via a terminal

Multi-Processing Systems

Concurrent Processing

Describing a colour with hex numbers

Color is usually represented in an 8 long hex number where 2 places are given to red, 2 places are given to green and 2 places are given to blue. alpha or opaqueness is also represented by 2 places and can go before or after the ordered numbers of RGB.

Roles computer can take in a networked world

Client, Server, DNS, Web Server, Email Server, Firewall, Router

Technologies Required to Provide a Virtual Private Network (VPN)

Encryption, VPN Tunnel, Software Client, Dedicated Hardware,

Role of OS in managing memory

OS allocates memory into certain spaces then keeps track of it. Each program that is run has its own allocated memory space. If the memory spaces of these programs interfered with each other, it would cause security and corruption issues. Fragmentation represents when the memory is used inefficiently. Internal fragmentation is when there is space in a memory allocation not used by the allocated process and is not available to other processes. External fragmentation occurs when free memory is separated into smaller blocks and added to other memory allocations. Another feature that OS does with management of memory is virtual memory. This is when pages of data are temporarily transferred from RAM to the disk storage.

Security

OS prevents unauthorized access. It ensures security of the system through usernames and passwords. The OS protects the files from others reading or writing files.

Dequeue method outline

Removes and returns the item at the front of the queue

Primary Memory

The internal working memory of a computer, and it includes RAM, ROM, and the cache.

Analog Devices

Works with continuous data

Operations of Collections (IB requirement)

addItem(), getNext(), resetNext(), hasNext(), isEmpty()

Algorithm

an ordered set of (orderliness) unambiguous (definiteness), executable steps (effectiveness) that defines a terminating process (finiteness)

Compound Operations

(All but fundamental) Ex - Find the largest...

Queue

- A FIFO (First In First Out) data structure - the first element added to the queue will be the first one to be removed - a new element is added to the back of the queue, much like a waiting line - Queue methods for IB exams: enqueue, dequeue, isEmpty - Can be implemented linear or circular - Can't add or take out from the middle - Collection so there is no fragmentation Queue Static variables: public static final int MAX_SIZE = 100; public static int[] queue = new int[MAX_SIZE]; public static int pointer = 0; public static int front = 0; public static int back = -1;

Advantages of Transducers

- Ease of convertibility from analog to digital and vise versa - Ease of amplification - Ease of integration - Ease of data transmission capability - Compatibility with microprocessors and computers

Explain the essential features of a computer language

- Fixed Vocabulary - Unambiguous meaning - Consistent grammar and syntax - Consistency in: High or low level language, interpreter v.s. Compiler, Fixed Vocab, OOP

Autonomous Agents as Embodied AI

- Self Driving Cars - Hoover Bots An autonomous agent is a system situated within and a part of an environment that sense that environment and acts on it over time, in pursuit of its own agenda and so as to effect what it senses in the future. - Every autonomous agent must be provided with built-in (or evolved-in) sources of motivation (drives) for its actions - Drives give rise to goals that act to satisfy the drives - Each agent must come equipped with some mechanism for choosing among its possible actions in pursuit of some goal on its agenda - Autonomous agent must act so as to effect its possible future sensing

Characteristics of Embedded Systems

- Single-functioned - Tightly constrained, such as its cost, size, power, and performance. - Reactive and Real Time, must continually react to changes in the system's environment and must compute certain results in real time. - Microprocessors based - Memory, its software (firmware) usually embeds in ROM - Connected, to connect input and output devices - HW-SW systems: Software for more features and flexibility. Hardware is used for performance and security.

Steps for Problem solving:

1) Understand the problem 2) Get an idea of how an algorithmic procedure might solve the problem 3) Formulate the algorithm and represent it as a program 4) Evaluate the program for accuracy and for its potential as a tool for solving other problems

Outline change management considerations

1) before a change needs to be put into place the employees of the company need the necessary training to be able to implement it properly 2) When changing a system it is important to make sure that the past data is saved somewhere so it can still be used in the new system 3) When changing a new system it is also important to make sure that the switch goes fluidly, so it is important to slowly transfer between the new systems to make sure no data is lost and that the new system does not fail at some point. 4) However, the old system should never be deleted in case the new system fails and a backup is needed. 5) Even after the switch is finished there should always be a way for employees to seek help about how to use or follow the system 6) When finished it is also important to take into account if the company will need further changes in order to fix or advance to the level of the new system in place.

Hex to Binary

16 bit system represented by 4 numbers that can be 0123456789ABCDEF. Each symbol represents a 4 bit binary digit. To convert from binary to hex first figure out the number associated with the symbol, than convert the number to binary. than arrange the four hex codes in groupings of 4 bits.

ASCII

8 bit representation of characters (non-variable) where the left most digit is always zero. Not used anymore because it did not provide sufficient

LAN (Local Area Network)

A LAN is a network that supports private connections more often than not. LANs have the connected devices relatively close together, but still farther apart than the range of a PAN. The range of a LAN is typically a building, or at times, a campus.

P2P Model

A P2P Model, which stands for Peer To Peer, is a model where two computers (or in this case, "peers") can communicate with each other without going through a central server. This setup is similar to the ring network topology, except this model only has 2 computers included. As such, a closed connection is created where these two devices can communicate and pass information between each other.

SAN (Storage Area Network)

A SAN is essentially a network that connects a series of storage devices together. While these devices utilize their own networks to operate, the SAN allows them to communicate directly with each other very quickly. The SAN also connects these storage devices to servers, meaning that they can communicate with each other without interruptions, but they also have direct access to the central servers. Finally, with the high speeds of communication that SAN offers, copying and transferring data can be done with ease without intervention from the server.

WAN (Wide Area Network)

A WAN follows a similar progression - just as a LAN networks a larger area than a PAN, a WAN covers a greater area than a LAN, typically covering entire nations. (A WAN is actually made up of a combination of LANs)

GAN (Global Area Network)

A WAN that includes sites and networks around the world.

Control System

A control system is a device, or set of devices, that manages, commands, directs, or regulates the behavior of an environment, other devices, systems, or achieve some set of objectives. This is achieved through a control loop. Control System Ex: - Maintaining healthy conditions in a fish tank - Automatic Shop doors - Automatic Street or security light - Burglar Alarms - Automated Greenhouses - Heating and Cooling Systems

Network

A network is a group of computers linked together whose purpose is to exchange data and information between each other

Application Software

A program for performing tasks particular to the computer's utilization. E.g. word processors, spreadsheets, games, database systems, accounting systems

Objects

A variable, a data structure, or a function, with location in memory, having a value, and referenced by an identifier

Fundamental Operations of a computer

Add, Compare, Retrieve, Store

Enqueue method outline

Adds an element that contains the argument, whether it is a value, String, object, etc. to the end of the queue

push() method outline

Adds an element that contains the argument, whether it is a value, String, object, etc. to the top of the stack

Centralized vs Distributed System

Advantages of Central System: - Easier to administrate - More control Advantages of distributed system: - Quicker access - Shared Load - Response more specific to environment

Advantages and Disadvantages of Wireless Networks

Advantages: - Communication Efficiency - Increased Access - Flexibility - Cost Efficiency - Increased Opportunities Disadvantages: - Security - Speed of Transmission - Consistent Coverage - Interference

Secondary Memory

Also called external memory, and it includes the computer's hard drive. It is a permanent storage.

Autonomous Agent

An entity that makes its own choices about how to act in its environment without any influence from a leader or global plan - An autonomous agent has a limited ability to perceive the environment - An autonomous agent processes the information from its environment and calculates an action - An autonomous agent has no leader

Microprocessor

An integrated circuit that contains all the functions of a central processing unit of a computer

VPN Tunnel

Another important element in any connection between devices is the actual path that the data follows during transfers. As such, in order to keep data private and secure, VPNs create their own "tunnels" through which data is transferred. Devices connected to a VPN establish a network connection between each other through this tunnel, and proceed to communicate with each other through the tunnel as well.

Terminal Devices (Wireless Network Component)

Are the devices that end up connecting to the wireless network to receive and transmit data. Examples include: PC computers, laptops, smartphones, tablets, and print servers.

social impacts and ethical impacts in tagging surveillance

Arguments for surveillance is that it can provide increased security and can be used as evidence in court. This also serves as a way to not need interpersonal interactions to get information. On the other hand, this can be a big infraction of one's privacy as the data can be used in various different situations without permission. If not completely reliable, surveillance could be hacked and used for unintended purposes, and could be another infraction of privacy on others through being used to spy on people.

VPN Encrypts data transfer (Evaluation)

As discussed before, a VPN will encrypt any data being sent from your computer in a way that only the computer receiving your information knows how to decrypt, and this data will be sent through a VPN tunnel. This is a huge benefit for users, as any data transfers containing extremely sensitive information can be protected from hackers and online attackers. Business transactions, bank account transfers, and inter-organization interactions automatically become far more secure through the use of a VPN. But as stated before, a major disadvantage to VPNs are the fact that authorities would have a much harder time tracking criminal activity if criminals were executing data transfers through VPNs.

4 Types of secondary memory

Cloud, HDD, SSD, and Removable media

Identify installation processes

Direct, Parallel, Phase, Pilot

Solve a recursion problem

Done

Machine Instruction Cycle

Done by the CU: Fetch - reading, Decode - interpreting, Execute - executing the code, Store - storing the data

Pre and Post condition Ex: Square Root

Ex: void write_sqrt(double x) - Precondition: x >= 0 - Postcondition: The square root of x has been written to the standard output

Constant (ALL_CAPS)

Final Type identifier = initial value, used to declare a primitive data or class but is a value that cannot be changed

Common features of applications

GUIs, Toolbars, Menus, Dialogue Boxes

Network

Group of computers linked together to exchange data

Memory data register

Holds the data that needs to be stored

Protocol Rules

How the data is split and reassembled, the data handshake, error checking.

Draw a diagram for deleting the node carrying value 109 from a single and double linked list with nodes: 101, 105, 107, 108, 109, 112 (Show moving of position)

Image Drawn with the garbage dump taking away the proper detached node

Identify the relevant stakeholders when planning a new system

Internal Stakeholders: Board of Directors, Owners, Employees, Manager External Stakeholders: Suppliers, Society, Government, Creditors, Shareholders, Customers

Complete Binary Tree

Is a binary tree, which is completely filled, with the possible exception of the bottom level which is filled left to right

Toolbar

Is a horizontal row or vertical column of selectable image "buttons", such as saving or printing a document. Most operating systems come with a toolbar. In addition, many application programs, such as word processors or spreadsheets, come with one or more toolbars as a part of their user interface.

Systems in organizations

It includes all layers of systems within an organization - from the physical hardware to the computer networks, operating systems, applications, databases, storage, servers and more Examples of systems within organizations: - Banks - customer record systems, systems for ATM machines, systems for approving or rejecting mortgage applications - Hospitals - pharmacy systems for keeping track of drugs and creating printed prescriptions, appointment systems for outpatients - Government - online tax payment system, online census information - Supermarkets - stock control systems, payroll system

Resources Available in Mainframes

Mainframes have processors made up of thousands of cores/ALUs, and also hold exceedingly large amounts of both primary and secondary storage.

Sound

Measure the presence of sound. Ex: Burglar alarm systems, leak detection system

Pressure

Measures pressure. Ex: Burglar alarm systems, traffic light controls, chemical processes, liquid through pipes

Memory Management

Memory manager coordinates the machine's use of main memory. - It allocates and deallocates the protected memory space for each process - Keeps track of the status of each memory location, either allocated or free - It protects the memory space of each process by preventing other processes accessing each others memory spaces In single environment, the program performing the current task is placed at a predetermined location in main memory, executed, and then replaced by the program for performing the next task by the memory manager. In multi-user environment, the duties of the memory manager are extensive.

Merge Sort Algorithm Outline

Merge sort is a recursive algorithm that keeps on splitting a list in half until there are 0 or 1 members in each half, at which point the two halves are merged back in natural order until the entire list has been merged and sorted.

Moisture/Humidity

Moisture sensors measures the amount of moisture in a certain material whilst humidity sensors measure the amount of moisture in the air, along with its temperature. Ex: Clothes dryer, Environmental control/greenhouse, air-con,

Single-Processing Systems

Multi-Access Environment, Multiprogramming Environment, Single-User System

NOT operator

NOT operator negates the statement. Its output is the opposite of the input. It differs from AND, OR, and XOR because it only has one input.

NAND operator

Negates the AND operation. EX: I am a male NAND I am a teacher --> NOT(I am a male and I am a teacher)

NOR operation

Negates the OR operation. EX: I am a male NOR I am a teacher --> NOT(I am a male or I am a teacher)

MAN (Metropolitan Area Network)

Network of intermediate Size, such as one spanning a local community.

Advantages of a dedicated operating system for a device

One advantages is that the OS will be smaller since it only carries functions necessary to its dedicated purpose. Another advantage is that the speed of the OS will be much faster due to its smaller size and less intricacies. Having a dedicated OS means that it can be customized for a certain devices to tailor to its needs.

Resources Available in PCs

PCs have a single processor, oftentimes with multiple cores that range from speeds of 1 to 4 gigahertz. PCs' primary memory ranges from 2 to 16 gigabytes, whereas their secondary memory ranges from 256 gigabytes to 4 terabytes.

Address bus

Pathway from memory to processing unit that carries the address in memory to and from which data is transferred.

Identify different methods of delivering user training

Physical Classroom, Online/Remote Classroom, Self-Teaching

Identify a range of causes of data loss

Power surge that is caused during a storm, Natural disaster (ex: flooding), Human Error, Malicious Behavior, Hardware malfunction, System Crashes

Traversal Order (all 3 types)

Pre-Order (starts with root): - Visit - Left - Right In Order (sorts a binary search tree) - Left - Visit - Right Post Order (ends with root) - Left - Right - Visit

Use all three types of Traversal on the picture and show the numbers gotten

Pre-Order: 6, 5, 2, 9, 8, 10 In-Order: 2, 5, 6, 8, 9, 10 Post-Order: 2, 5, 8, 10, 9, 6

Identify different methods of providing user documentation

Printed Manual, Online Help, Help File

Social and Ethical Issues Associated With a Networked World

Privacy, Ownership, Reliability, Accountability, Lifestyle, Economic Impact, Human Rights

computer-aided design (CAD)

Programs that use computer systems to assist in the creation, modification, analysis, or optimization of a design.

Why Protocols are Necessary

Protocols are necessary because they govern data transmissions and ensure that data reaches its final location in a secure and timely fashion. Protocols do so by: - Providing data integrity - Managing flow control - Preventing deadlock - Managing congestion - Providing error checking & handling

Registers

Provides temporary storage for the CPU to access and store information quickly. Very expensive and therefore small size storage. Partitioned into smaller units: - MAR (memory address register) - MDR (memory data register) - *Other

10 Resources That Need To Be Managed Within a Computer System

RAM, Secondary Storage (+disk storage), Processor Speed, Bandwidth, Screen Resolution, Sound Processor, Graphic Processor, Cache, Network Connectivity

pop() method outline

Removes and returns the item on the top of the stack

Flowchart

Represents steps in a diagram form. A series of shapes connected by arrows

isEmpty()

Returns TRUE if the stack or queue does not contain any elements

Network Topologies

Ring, Bus, Star, Tree

OS Resource Management Techniques

Scheduling, Mechanism & Policies, Multitasking, Virtual Memory & Paging, Time-Slicing, Interrupt Handling, Polling

Screen Resolution

Screen resolution is a measurement of the amount of pixels that can be displayed across the height and width of a screen. A limited screen resolution would lead to a lower number of pixels that can be displayed on screen. While lower screen resolutions lead to smaller file sizes, they also drastically reduce image quality.

Embedded System Layout

Sensor - It measure the physical quantity and converts it to an electrical signal which can be read by an observer or by an electronic instrument like an A2D converter. A sensor stores the measured quantity to the memory. A-D converter - An analog-to-digital converter converts the analog signal sent by the sensor into a digital signal. Processors & ASICs (Application Specific Integrated Circuit) - Processors process the data to measure the output and store it to the memory. D-A Converter - A digital-to-analog converter converts the digital data fed by the processor to analog data Actuator - An actuator compares the output given by the D-A Converter to the actual (expected) output stored in it and stores the approved output.

Resources Available in Servers

Servers' processors have a processing power equivalent to that of multiple powerful PCs running in parallel. The specific processor speed is typically around 3 to 4 gigahertz. In terms of primary memory, servers have large amounts with a typical minimum of 32 gigabytes per machine. In contrast, each machine's secondary storage usually ranges in the terabytes.

The need for persistent storage

Since the processing is done in the CPU it has little to no storage. Furthermore, the RAM is volatile meaning that the storage is temporary (loses content when power is lost). Therefore, the information needs to be stored in persistent storage (SSD/HDD) so that is not lost.

Sound Processor

Sound processors are separate processors that handle sound reproduction. This takes the process of sound reproduction off the CPU's plate, freeing the CPU up to execute other calculations. Sound processors need to be managed because of the detrimental effects that occur if sound processors are too limited. If the CPU is forced to handle sound reproduction, the entire system is slowed down. Furthermore, the overall sound quality in a system is lowered without a sound processor (or with a very poor sound processor as well).

Importance of Standards in the Construction of Networks

Standards are very important in the construction of networks as these standards make sure that products generated by different parties can still interact and work together in a network. Standards enable compatibility between these products by enacting a "common" international language. Standards are also important in constructing networks since different vendors typically only trust a network that has some form of standardization - this ensures that their product (including hardware and software) will be able to interact with others. Overall, standards are important because they allow products to interact with each other and they inspire trust within vendors.

Adding values stored in memory (CPU and Main Memory)

Step 1: Get one of the values to be added from the memory and place it in a register Step 2: Get the other value to be added from memory and place it in another register Step 3: Activate the addition circuitry with the registers used in Step 1 and 2 as

VPN allows for telecommuting (Evaluation)

Telecommuting itself has multiple advantages (such as increased productivity, reduced turnover rates, increased morale, reduced stress, and saved energy), but one of the major advantages of a VPN itself is enabling telecommuting. This shows a sort of domino effect - the advantages of a VPN and the opportunities that VPNs create lead to even more advantages in different aspects of life. So with every new advancement in VPN technology, there is another industry throughout the world that is bolstered and another aspect of life that is bettered.

CPU (Central Processing Unit)

The CPU is the key component of the computer where most calculations take place. Contains necessary components to interpret and execute program instructions. The major components of a CPU are the Arithmetic Logic Unit (ALU), Control Unit (CU), and Registers

Peripheral Management

The OS coordinates the Basic Input-Output system (BIOS). Keyboard, mouse, monitor, and printers are controlled through the device drivers. A device driver is a software program which allows hardware devices to be used by the OS. They act as translators between the devices and the computer system.

Process Management

The OS coordinates the working of different programs by scheduling the CPU time between different programs based on time and priority of the software application. Each task running is given a slice of time, or a turn on the CPU Each task has to wait its turn unless it is given a higher priority by the OS in which case it gets more or longer time slices.

Role of OS in managing file system

The OS manages the secondary storage by introducing a specific file system which provides structures and access methods to these structures. It is commonly known as folder structure but can also be referenced as directory structure. The OS also manages the security of these folders.

Role of OS in providing user interface

The OS provides a user interface which is used to interact with the computer and perform various tasks. For this process the user inputs commands and data into the computer, the OS translates the input or output, and then sends it to the correct folder or memory address to be processed. There are two types of user interface operating systems: Graphical User Interface Operating System (Windows) and Command Line Operating System (Linux Terminal).

Data bus

The lines on the system bus that the CPU uses to send and receive data.

Define the term usability

The measure of the quality of a user's experience when interacting with a product or system. The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction in a specified context of use. Comprehensive definition: - Effectiveness - Efficiency - Satisfaction (Ergonomics a sub of this) - Accessibility

Describe the purpose of prototypes to demonstrate the proposed system to the client

The purpose in using prototypes to demonstrate the proposed system to the client is that they showcase all the important factors that will be presented in the system that will be implemented in the future. Upon easily looking at all these factors that will be present in the new system, the client will be able to give feedback that will now be easily implemented in another prototype or put into the final product. Instead of needing to redevelop a main system these prototype systems provide an easy way to devlop fixes.

Efficiency

The speed (with accuracy) in which users can complete the tasks for which they use the products.

Wireless Router (Wireless Network Component)

This a device which is used to forward data packets across a network. Usually, routers are connected to at least two networks which can include two LANS or WANS or a LAN and an ISP. Routers are also known as a gateway so that two or more networks can congregate.

Process Controls

This describes the implementation of control systems in chemical plants in order to establish a level of consistency. Usually it deals with a sensor that is placed in the chemical mixture that sends information to the control system which then makes adjustments to the chemicals.

Access Point (Wireless Network Component)

This is a device that receives data through wired internet and emits it as wireless data. This device is what nearby devices connect to in order to make wireless connections and send back and forth transmissions. This device is different from the router as it has no firewall protection and does not protect from internet threats. This devices is usually standalone and is connected to the wire, however, this device can also be constructed so that it is a part of the router.

Evaluate Self-Teaching as a Method of Teaching

This is a method of teaching that can be done by utilizing information surrounding the system to familiarize oneself with how it works. Examples of information that can be used to teach oneself are manuals, tutorials or even playing around the system yourself. An advantage of using this method is that you can do it your way by yourself and focus by being isolated from outside distractions or the clutter of people surrounding you. However, one needs to have good computer skills in order to be comfertable using a new system. This means the user should have some experience of dealing with a system beforehand so that they can quickly catch on.

Motion (infra-red)

This is a sensor that detects movement or heat from an object. It is used in devices such as automatic doors, burglar alarm systems, gaming systems (accelerometer) and counting (people or cars).

4G

This is short for 4th generation and is a ITU specification that was developed for broadband mobile capacities. This is a direct improvement on 3G as it is IP-based and is a packet-switched evolution over its predecessor. 4G' allows for IP-based voice, data, and streaming multimedia at much higher speeds like 100mbps.

Time-Slicing

This is where a certain amount of time is set for each process (for multi-user systems) or program (single-user system). These slices of time can be processed alternately which gives the illusion that multitasking is occurring. An example of how this algorithm would work is that process A is executed for 1 ms, process B is executed for 1 ms, process C is executed for 1 ms and then the cycle repeats.

Transport Layer

This layer handles the end to end connections within the network. It oversees the splitting of data into data packets, the transfer of the data itself, and the reassembling of data at its final location. Example: TCP

Session Layer

This layer manages the sessions between users and the network. Example: Windows core system protocol, retransmission of data if it is not received by its final destination

Application Layer

This layer performs functions that are specific to the application that the user is using. Example: HTTP, Email

Magnetic Field

This sensor is one that detects changes in magnetic fields. It also measures the strength and direction of the magnetic field. This sensor is used in devices such as mobile phones, anti-lock breaking, detection of cars at traffic lights, and reading magnetic ink characters on cheques.

Identify a range of usability problems that can occur in a system such as Ticketing and online payroll.

Ticketing (Airline Tickets): - When buying tickets the process is very long and complicated in order to get the outcome that you want. (efficiency) - Since a large amount of people use the customer service calls in order to fix the many problems and questions they might have, the wait for your own call is very long as you have to wait behind everyone else in line (efficiency) - The layout of the online ticketing may have a very complicated layout and therefore might not be very pleasurable and simple to use (ergonomics) - Since this process is so convoluted, by the end of the process, the user's desired seat might already be taken and he might be forced into taken a seat that is not to his/her standard and therefore leaving the user dissatisfied (ergonomics) Online Payroll: - Some of these online payrolls are very complicated to used and if not used properly there can be many system miscalculations (effectiveness) - Many of the different managing and organizing tasks that the payroll do take quite a long period of time (efficiency) - Since the payroll system is very difficult to use to manage different items, it might be unpleasant to go through these systems in order to accomplish its task (ergonomics)

Why the Speed of Data Transmission Across a Network Can Vary

Time of Day, Distance, Access Provider, Type of Connection, Quality of cable

Variable (camelCase)

Type identifier = initial value, Used to declare a primitive data type or class and can be changed and manipulated or assigned a value to

When a circular Linked List is used in preference to a linear linked list.

Used to allow multiple applications to run in a PC; The operating system cycles through each one in time giving each a slice of time to execute; Used for the implementation of a (circular) queue; The end of the queue points to the beginning, eliminating the need to maintain both front and rear pointers; Used in multiplayer gaming environment; The OS cycles through one player at a time using time slicing; A media playlist that repeats (endlessly); The last song (node) points to the first song;

Functions of the Operating System

User Interfaces, File Management, Peripheral Management, Security, Memory Management, Process Management, Applications Software Execution and Services

User Interface

User interface handles the communication with users. Types of user interfaces: - Graphical User Interfaces (GUIs) that have menus and icons - Command Line Interfaces (CLIs) where the user types in codes - Natural Language Interfaces (NLIs) where the user speaks to the interface

Digital Devices

Uses discrete data (1's and 0's), On and off switches (computers only understand this, binary system is made up of only 1's and 0's)

Bubble sort Algorithm

Void bubbleSort( pass-by-reference int [] list) Boolean done = false //this step gets you into the while loop while (NOT done) done = true //assume list is sorted for (int k = 0; k < list.length - 1; k++) //look of "out of order" neighbors If (list[k+1] < list[k] //if value of next-door neighbor is less than current value swap (list, k, k+1) //swap two values done = false //set done to false End if End for //end k loop End while End bubbleSort //three step swap process Void swap (pass-by-reference int [] list, int i, int j) Int temp = list[i] list[i] = list[j] list[j] = temp End swap

Data Packet

When data needs to be sent between two computers, the data is almost always too large to be transmitted in one package. Because of this, before any data is sent between two devices, the data is broken down into smaller pieces known as "data packets." These packets are then re-assembled once they reach the device that was originally intended to receive the data. Data packets hold multiple pieces of information. They have the actual piece of the original data that they are carrying, but they also have information on their final destination (the computer which is receiving the original data) stored, along with instructions on how to reassemble the data.

Hardware and Software Components of a Wireless Network

Wireless Router, Access Point, Wireless NIC (Network Information Card), Terminal Devices, Other hardware, Wireless Software

Sensor

a device which detects or measures a physical property and records, indicates, or otherwise responds to it. - Sensors send data to a microprocessor and do not make judgements, decisions, or control any output devices. - There are many types of sensors used in a variety of households, commercial and industrial applications. - Sensors are reliable, accurate, and don't get tired; working well in places where humans would rather not be.

Firmware

a permanent software programmed into a read-only memory.

Dialogue Box

a small window that communicates information to the user and prompts them for action

Web Browser

a software application for retrieving, presenting and traversing information resources on the World Wide Web.

compiler

a special program that processes statements written in a particular programming language and turns them into machine language or "code" that a computer's processor uses.

Network

a telecommunications network linking a group of computers to exchange data

Ragged Array

a two-dimensional array in which each row may have a different length

pop method

check if list is empty before accessing: public static int pop(int[] stack) { pointer--; int index = pointer; int element = stack[index]; stack[index] = 0; return element; }

Outline the need for a transition process from a higher level language to machine executable code

compiler, interpreter, virtual machine

List the stages of System Life Cycle

definition, analysis, design, implementation, testing, installation, documentation, evaluation, maintenance

Denary to Binary

for with quotient and register remainder from right to left (dividing by two until one reaches 0 as an answer {1/2}) Ex: 13 in binary: 13/2 is 6 remainder 1, 6/2 is 3, 3/2 is 1 remainder 1, 1/2 is 0 remainder 1. Then take the first remainder and keep on going to the left to get the full binary number: 13 = 1101

Ex of analog input sensors in control systems

force, button, light, motion, magnet, touch, turn

Hardware

hardware is the physical aspect of computers, telecommunications and other devices

UserID

his is a network security method which points a user to a different set of groups such as guest or admin which each have their different authorization privileges. Usually this process is enforced through the use of a firewall. Here is a step to step process indicating how it works: 1. Groups are selected to define the security policies 2. Maps those groups to the defined security policies 3. Assigns the users to those groups 4. Maps the user IP addresses to the users

Memory address register

holds the address where data needs to be stored

Collection

is an object that groups multiple elements into a single unit. Are used to store, retrieve manipulate, and communicate aggregate data. Typically, they represent data items that form a natural group, such as a set of students

stack and queue isEmpty method

public static boolean isEmpty() { if(pointer==0) { return true; } else { return false; } }

stack and queue isFull method

public static boolean isFull() { if(pointer >= list.length) { return true; } else { return false; } }

Add Diagonals in 2D Array

public static int addDiagonals(int[][] numberArray) { int firstDiagonalTotal = 0; int secondDiagonalTotal = 0; final int LAST_INDEX = numberArray.length-1; int diagonalTotal; for(int i = 0; i < numberArray.length; i++) { firstDiagonalTotal = firstDiagonalTotal + numberArray[i][i]; } for(int i = 0; i < numberArray.length; i++) { secondDiagonalTotal = secondDiagonalTotal + numberArray[LAST_INDEX-i][i]; } diagonalTotal = firstDiagonalTotal + secondDiagonalTotal; return diagonalTotal; }

Merge Sort Algorithm

void mergeSort(int[] list) { int n = list.length; int[] temp = new int[n]; mergeSortHelper(list, 0, n - 1, temp); } void mergeSortHelper(int[] list, int front, int back, int[] temp) { if(front < back) { int mid = (front + back)/2; mergeSortHelper(list, front, mid, temp); mergeSortHelper(list, mid + 1, back, temp); merge(list, front, mid, back, temp); } } void merge(int[] list, int front, int mid, int back, int[] temp) { int i = front; int j = mid + 1; int k = front; while(i <= mid && j <=back) { if(list[i] < list[j]) { temp[k] = list[i]; i++; } else { temp[k] = list[j]; j++; } k++; } while(i <= mid) { temp[k] = list[i]; k++; i++; } while(j <= back) { temp[k] = list[j]; j++; k++; } for(int x = front; x <= back; x++) { list[x] = temp[x]; } }

Distance (Variance in Speed of Data Transmission)

A device's distance from the network's central access point can also affect data transmission speed. The farther data has to travel in order to reach a device, the slower the overall transmission of the data itself will be.

Computer as Firewall

A firewall is a network security system that can be configured through software, hardware, and at times, a combination of both. Firewalls are essential to absolutely any network, as they are the main force that prevent unauthorized access to private networks and keep users' data safe. Unlike encryption, which aims to prevent attackers from reading any intercepted data, a firewall's aim is to prevent attackers from getting access to data at all in the first place. Firewalls can also prevent data from being sent through them if certain data packets do not meet the firewall's security requirements. This prevents malicious data from entering a system, but also prevents it from leaving a system to attack other devices.

Dynamic Data Structure

- A dynamic data structure (DDS) refers to an organization or collection of data in memory that has the flexibility to grow or shrink in size. - Enables a programmer to control exactly how much memory is utilized. - Dynamic data structures change in size by having unused memory allocated or deallocated as needed.

Examples of using feedback

- A missile tracking a moving target - A heating system in a house - A life-support system on a spacecraft - Any situation that changes constantly that needs the system to react according to the new input

Menu

A menu is a set of options presented to the user of a computer application to help the user find information or execute a program function

Kernel

- The internal part of an operating system - contains those software components to perform OS functions

Advantages of Binary Tree

- Trees reflect structural relationships in the data - Trees are used to represent hierarchies - Trees provide an efficient insertion and searching - Trees are very flexible data, allowing to move subtrees around with minimum effort

Explain the possible consequences of failing to involve the end-user in the design process

- With out consulting the end-user, the person creating the system has no information on what to base off the entire system. This means that the system that would be created would be according to only the opinion and insight of its creators and will probably not provide the service it was intended to, since the creators had no knowledge of what the service was in the first place. - If the developers of the system do not consult the end-users at all during the development process, when told later by the supervisors that the system is not at all what is needed for the establishment, it can be very frustrating for the developers who spent such a long period of time working on something that is now considered meaningless or of little use. - Without contacting the end-users, the final system will obviously be different from their expectations and only result in annoying them instead of providing the help it was created for. If the end-users are not involved in the process to create the new system, it will not be tailored to the specific needs of the users and actually end up hindering their perfomance through its lack of tools for them to use .

Computer as Router

A router helps transfer data between devices by boosting the signal as a data packet passes through it. Recalling the ring network topology, just as each computer keeps the signal strong by passing data between each other in a circular fashion, a router will keep the signal strong and forward data packets through a network. Routers are typically located at the area where two or more networks intersect - through this, the network can help transfer data between networks as well. Since routers are located at these intersections between networks, the routers themselves are connected to at least two networks.

Twisted Pair

A twisted pair being used as transmission media can come in two different forms: a shielded twisted pair - aluminum covering which changes the speed as it does not allow interference and holds signal inside much better (STP) and an unshielded twisted pair - no covering (UTP). A twister pair is made up of two copper wires that are twisted around one another throughout the cable. The twisting of the wires comes with two main benefits: it reduces crosstalk between different media and reduces electromagnetic induction. While this form of transmission media is older than others, it is still commonly found in most networks at some point during the transmission. Twisted pairs are also the cheapest form of LAN cable.

Big O Notation

- A notation system used to classify algorithms - Big O is a set of values that help us understand how many steps it will take a particular algorithm to process N pieces of data - In computer science, big O notation is used to classify algorithms according to how their running time or space requirements grow as the input size grows - It measures the growth ratio according to input size growth N. - The primary notation levels are: O(1), O(N), O(N^2), O(log N), and O(N log N)

Stack

- A stack is an abstract data type that serves as a collection of elements - A stack is LIFO (Last In First Out) - IB principal operations: push, pop, isEmpty. - stack is a collection so there is no fragementation - can't add or delete from the middle of the stack Stack Static Variables: public static final int MAX_SIZE = 100; public static int[] stack = new int[MAX_SIZE]; public static int pointer = 0;

Tree

- A type of data structure in which each element is attached to one or more elements directly beneath it - The connections between elements are called branches - Trees are often called inverted trees because they are normally drawn with the root on top. - The elements at the very bottom of an inverted tree (that is, those that have no elements below them) are called leaves - Inverted trees are the data structures used to represent hierarchal file structures - In this case, the leaves are files and thee other elements above the leaves are directories

Full Binary Tree

A binary tree in which each node has exactly zero or two children

Coaxial Cable

A coaxial cable is a copper cable that is insulated and shielded. Unlike a twisted pair, a coaxial cable only has a single wire in the cable. This type of transmission media is more expensive than others, but the higher price translates to less interference and the ability to carry more data through the cable. This cable is used for computer networks and cable television.

Embedded Systems Advantages and Disadvantages

Advantages: - Easily Customizable, Low power consumption, Low cost, Enhanced Performance Disadvantages: - Higher development effort - Longer time to market

Local vs Remote

When deciding whether to use local hardware or utilize the cloud there are several considerations that must be made. There are four main models of computing that can be offered in the cloud: - Infrastructure as a Service (IaaS) - Platform as a Service (PaaS) - Software as a Service (SaaS) - Network as a Service (NaaS) Each of these have their pros and cons

Characteristics of Wireless Networks

WiFi, WiMAX (Worldwide Interoperability for Microwave Access), 3G, 4G

Suggest various types of testing

- Black Box Testing - This method of testing is where the software is omitted as if it were separated in a black box. This method of testing focuses on the the functionality of of the entire system without paying attention to what is implemented internally. Tests the input-output. - White Box Testing - Instead of being blocked out like black box testing, the software is the focus of White Box Testing. This method of testing analyzes the functionality of the logic and processes of the system code. Tests the input-output. - Alpha Testing - After the initial development has reached a finished product, the developers will conduct a test to see if there are any problems with this new system. This type of testing is Alpha testing and if problems are found, minor design changes can be made before moving into the next step of testing. - Beta Testing - This method of testing is usually used to test the new system on a small group of people who are usually a select group of end-users. This testing is the final one before the complete new system is put out to the entire public and is what allows the company to make minor changes based on the outsider's viewpoint. - User Acceptance Testing - This testing is basically to see whether the system meets the specified requirements for the user. This testing is done directly by the user and he/she choses whether or not to approve the application. This testing is a method to test whether this new system is acceptable or not. - Automated Testing - This method of testing is done through programs that check various parts of the system using a certain algorithm. Using these programs to test the system can greatly reduce the cost of the testing process.

Embedded Systems

- Computer-based systems that do not appear to be computers - Embedded means the complexity of the computing system is hidden (from the user). - May or may not have user interface - If it has internet connectivity, it becomes "Internet of things". An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. Industrial machines, agricultural and process industry devices, automobiles, medical equipment, cameras, household appliances, airplanes, vending machines and toys are all possible locations for an embedded system.

Benefits of a control system

- Computers are quick to respond to change and can process data very quickly - Can run all day every day, without wages or needing a break - Can operate in places dangerous to humans - Consistent and (expected to be) error free or fault tolerant

Describe appropriate techniques for gathering the information needed to arrive at a workable solution

- Examining current systems - In order to gather information to create a new solution, one first has to look at all the mistakes present in the old system so that they can be repared inside of the new system. It is also important to take note of the things that went well in the old system so that they can be applied in the new system. - Examining current products - When creating a new solution, you need to take into account what products you already have and whether it is enough to implement this new solution. If it is not, one needs to make sure the cost of the new products are not going over the budget. - Investigating organizational capabilities - When creating a new solution like this, it is important to see if there is enough place for it to fit so that it does not overwhelm other important parts of the company or establishment. - Literature Search - In order to certify or gather research for a new solution, literature is always a good option to retrieve a vast amount of information over a specific topic in question.

Two-Dimensional Arrays

- Have rows and columns - Use two subscripts - Are often called a matrix or table ex: int[][] someNumbers = new int[3][4] where for the declaration it is: int[row][column]

Outline the consequences of data loss for a hospital

- If the hospital were to lose its data, it would not be able to pull up patient records. Because of this, the doctors will not be able to see which medicines are needed to be given to each patient. - If the hospital were to lose its data, it would also not be able to pull up information that could be used in coordination with machines or other treatment methods. Without this information, doctors will not be able to treat the patients properly and promptly. - If the hospital were to lose its data, it would also lose all its schedules and timing. So, any patient that when in for an appointment, the hospital staff would not be able to figure out when to call them for the Doctor's visit, much less what room to put them in and what the patient is visiting for.

Identify a range of usability problems with commonly used digital devices such as mobile phone and digital camera.

- If the screen of the camera or mobile phone is two small it can become a problem for those who are visually impaired since it will strain their eyesight (accessibility) - If the buttons and screen size on the camera or phone are to small for someone with bigger fingers, they will probably find great discomfort (ergonomics) - Storage size - based on the extent of the phone's or camera's storage there is a limit to the amount of data it can process (effectiveness) - Battery life - How long the device will be operating is based on the battery life of the device. Without power, the device is pretty much useless (effectiveness) - Processing power - based on whether the phone has a lower or higher processing power, the phone will be quicker at doing certain things such as downloading or using data services (efficiency) - Low Durability/bad structure - if the phone or camera constantly breaks easily leading to an uncomfortable shape or dangerous positioning the user can be hurt or just have their satisfaction in using the electronic greatly lowered (ergonomics)

Discuss problems that may arise as a part of data migration

- Incompatible file formats - When creating a new system it might be a more modern and up to date of the old system and uses different file formats that are much more efficient and useful. Because of this, there will be a large problem that needs to be fixed of converting the data from the old files to the new files. - Data structures - When creating a new system, the data structure could change in order for the system to be as efficient as possible. The problem this poses is that the data will now need to be reorganized completely in its movement from the old to the new system. - Validation - When upgrading to a new system, there might be preferences on the new system that will only allow a certain type of data to be passed on. The leftover data that is not validated can pose a big problem as it is probably necessary to the system's function and will need to be adjusted so that it fits the preferences. - Incomplete data transfer - If the data is not transferred completely to the new system, the new system will not be able to function properly as it is needs all parts to become one whole. - International convention on dates, currencies, character sets - when migrating data over to a new system, it may pose a problem in organizing some of the data by these conventions as they are different around the world. So, it might need to be adjusted in the new program to conform to one convention

Interrupts in Control Systems

- Interrupts are mostly hardware mechanisms that instruct the program that an event has occurred - They may occur at any time, and are therefore asynchronous to the program flow. - They require special handling by the processor, and are ultimately handled by a corresponding Interrupt Service Routine (ISR) - Interrupts need to be handled quickly > If you take too much time servicing an interrupt, then you may miss another interrupt. - Example: Automatic Door > Interrupt occurs when approaches a closing door - Polling in control systems > Elevator box and elevator door

Similarities in Pre and Post conditions

- Pre and Post conditions provide a set of conditions (a contract) for the programmer - Pre and Post conditions also help the reader and user to know what they can expect as a result of the operation upon the data structure - Pre and Post conditions for public interface operations do not include implementation details

Moral, Ethical, & Social Issues

- Privacy - Ownership - Reliability - Accountability - Life Style - Economic Impact - Human Rights

Describe suitable representations to illustrate system requirements

- System Flow Chart - This representation demonstrates the multiple relationships and connections between the different parts of the system and their function that depends on a certain action. The connection of the symbols in a flow chart shows how the flow of data occurs inside of the system and how its different paths are chosen through the yes or no sections. - Data Flow Diagram - This diagram is one that strictly demonstrate the movement of information throughout the different parts of the system. This movement includes the location of the inputs and outputs, and how each of the paths that the information follow bind together and separate. In short, this demonstrates the path data will undergo when put into the system. - Structure Chart - This diagram is one that has a hierarchal structure where the important functions at the top are broken down into the smaller sub-functions. Similar to the data flow diagram, the structure chart represents the movement of data by displaying layers of modules which each have a specific task that is executed and manipulates data.

Dynamic linked list vs Static Array

- efficiently uses memory as needed (nonfixed size) vs uses a fixed amount of memory which is inefficient (fixed size) - only sequential access vs direct accessing using an index - amount of elements only limited by the amount of memory available vs overflow is a problem as there is a fixed amount of elements allowed - rearranging is easily done by changing pointers vs rearranging often includes shifting elements.

Storage Magnetic Systems

- information is recorded on a magnetic coating - information is recorded by the read/write head - information is retrieved by the read/write head - the head traverses a circle called track - Head accesses different tracks using the access arm - each track is divided into small arcs called sectors

RAM (Random Access Memory)

- is volatile; loses its contents when power is lost - is available to applications and programs to load data and instructions - links to CPU for processing and data instructions - is a temporary storage since it is volatile

Outline the steps in change management

1) Analysis - to begin change management, the company needs to search to see if there are any problems with the company and see whether changes are necessary to fix them 2) Decision - this is the stage where what ever change is necessary to fix the problem is approved 3) Agreement - in this stage everyone in the company needs to be convinced that this change is beneficial and will solve the problem 4) Planning - After agreeing on the change, one needs to plan out the steps needed to be taken in order to implement the change properly. 5) Implementation - This is the step when the change is finally acted upon. 6) Assessment - However, even if the change is put into place the company needs to observe to see if the change is actually beneficial and made a notable difference.

Operator order of evaluation

1. Parentheses 2. NOT 3. AND 4. XOR 5. OR

PAN (Personal Area Network)

A PAN is most suitably used for short term communication - Bluetooth is one of the most common implementations when it comes to PAN, thereby giving the network a roughly 10 meter operating space.

VLAN (Virtual Local Area Network)

A VLAN is a network configured through software that is meant to simulate a situation in which all devices connected to the network are connected to the same main cable. In reality, with a VLAN, the devices can be spread out over the entire geographical area that the LAN covers while still remaining connected. Furthermore, the VLAN also sectionizes the network into smaller subsections.

WLAN (Wireless Local Area Network)

A WLAN is closer to a LAN in actuality - in this network, all the connected devices are kept closer together, thereby simulating a LAN. However, the major difference is that there are no wires in this network setup. So while the devices may be situated (geographically) similar to a LAN, there are no physical wire connections between them.

Binary Search Tree (construct one from 6, 3, 1, 2, 9, 8, 10)

A binary tree in which nodes are inserted systematically in natural order, with the final property of each ;eft child being less than (or equal) to its parent, and each right child being greater than its parent

Computer as Email Server

A computer that acts as an email server essentially serves as a virtual post office. The computer would become a massive storage system, holding information like the actual emails that are sent and received and email accounts. While the computer would store the actual emails to display to users on the local machine, the computer may store email accounts to identify important contacts and also identify malicious accounts and spam emails. On top of storing static information, a computer acting as an email server would also have communication modules. These modules handle the communication between the local device and the mail servers. This communication is how emails are actually sent - by sending the messages from the local machine to the mail server, the server can then forward the email to the proper recipient, where their computer acting as an email server can store the email and display it to the user.

Binary Tree (construct one from 6, 3, 1, 2, 9, 8, 10)

A data structure that consists of nodes, with one root node at the base of the tree, and two nodes (left child and right child) extending from the root, and from each child node Terms: - Root: node with no parents - Parents: nodes that have at least one child - Child: nodes that have a parent - Leaves: nodes all the way at the bottom that have no elements below them

DCS vs CCS

A distributed control system is a computerized control system, - Autonomous PLCs are distributed throughout the system - DCS is supervised by a central operator Centralized control systems use centralized controllers

Drive Letter

A drive letter is a single alphabetic character A through Z that has been assigned to a physical drive or drive partition in a computer. All computers with a hard drive will always have that default hard drive assigned to a C: drive letter

Linked List

A linked list is a linear collection of data elements, whose order is not given by their physical placement in memory. Instead, each element points to the next. It is a data structure consisting of a collection of nodes which together represent a sequence. A linked list is a dynamic data structure - can be circular by connecting first to last - A linked list is better for storage as it only has one pointer when it is a single linked list - Ex: music program: replays set of songs again and again

Linear Search Outline

A loop based search process that looks at each element of the array, starting at zero, by adding one to a variable until its value stops being less than the length of the array. This algorithm then checks if the specific element is equal to the target number. If it matches the target value, a value is returned indicating the target value has been found. If nothing is found in all of the elements searched through the loop, then a value is returned indicating the target value has not been found.

Linear Search Description

A loop based search process using an array of values that starts looking at the first of the list and continues towards the end of the list until the target is found, or until the end of the array is reached.

Multi-Access Environment

A multi-access environment operates with a star network topology (or a modified configuration of one at times). Typically, it involves one central processor which is directly connected to multiple terminal devices. Other times, there are multiple processors that are connected to each other and terminal devices, which is similar to each processor having its own star topology and then being connected to one another. In a multi-access environment, multiple resources are made available to multiple terminal devices simultaneously. The primary purpose of this system is to share resources such as database information, processing and computational capabilities, and more.

Multiprogramming Environment

A multiprogramming environment implements parallel processing. This means that there are multiple processes in the computer's main memory that are ready to be executed at any given point in time. While there are multiple processes ready to be executed, only one at a time will get access to the CPU for execution while the other processes remain on standby. The primary purpose of this environment is to optimize CPU time.

Mechanism & Policies

A policy is what specifies what has to be done while a mechanism specifies how it needs to be done. An example of this idea is that length of a timer used for a specific user is a policy decision while the timer construct which limits the time a process can use the CPU (ensure CPU protection) is a mechanism. Mechanisms are the implementations which enforce policies. By having a separation between these two things, flexibility is provided as one can be edited without disabling the other. Another example of this is that a process may be granted at a first come first serve policy which could be implemented using a queue fo requests. The kernel usually provides the mechanisms that are used to implement the policies in the server.

O(N)

A process with this running time (often called "linear") will take roughly the same number of steps as there are items in the list: - Outputting all the values in a list - Searching through a list one item at a time and finally finding the target item in the final step - It is most commonly characterized by the use of a loop that starts at the first item and goes one step at a time all the way to the last item in the list

O(N^2)

A process with this running time (often called "quadratic") is characterized by the use of two loops, one inside the other, often referred to as "nested loops" - This simply means that it will take roughly N times N steps to process a collection of data N times. - For example, if the list contains 10 items, it will take approximately 100 steps to complete the process. This is generally considered a very inefficient process, and should not be used with significantly large values of N.

O(log N)

A process with this running time is very efficient because it uses a "divide and conquer" process, characterized by a division of 2 as an integral part of the code. - For example, for a data set of 128 items, the number of times required for a log N algorithm is 7 steps, The value 7 is the log base 2, of 128, hence the term "O(log N)" - This running time is less efficient than O(1), but much more efficient than O(N)

Spreadsheets

A program in which data is organized in rows and columns of a grid as a cell, and can be manipulated and used in calculations. Each data can have predefined relationships to other data. The relationships between cells are called formulas, and the names of the cells are called labels.

Word Processors

A program that works with formulating user inputted text so that a user can edit, display and store information. (google docs)

Protocol

A protocol is an agreed-upon set of rules that outline how two computers can transmit data between each other. Protocols essentially look over the entire transmission of data and ensure that data is kept secure and reaches its location in a timely manner.

Ring Network Topology

A ring topology creates a closed loop in a ring of computers, where each device is connected to 2 others (in the ring format, one on the computer's left, and the other on the computer's right). Since the computers are set up as a ring, there is no central server used in the network. Data travels between the computers in one direction, and each computer serves as a repeater to keep the signal strong when passing data. This also means that if one computer is damaged, the entire network can be put in danger as data will no longer pass correctly and the signal will grow weaker.

Bubble sort Description

A simple (and relatively slow) sorting algorithm that repeatedly loops through a list of values, comparing adjacent values and swapping them if they are in the wrong order

Single-User System

A single-user system handles one user a time while running only one user application at a time. This type of system is normally found in cellphones since they operate with one user at a time running (typically) one application at a time.

Selection Sort Description

A sorting routine that uses a nested loop process to systematically select the best value among the unsorted elements of the array for the next position in the array, starting with position zero all the way to the end

Distributed Control System (DCS)

A type of automated control system that is distributed throughout a system to provide instructions to different parts of the system Instead of having a centrally located device controlling the system, each section of a machine has its own computer that controls the operation. A DCS is commonly used in manufacturing equipment and utilizes input and output protocols to control the machine Ex: One machine with a section that controls dry elements of cake frosting and another section controlling the liquid elements , but each section is individually managed by a DCS. A programmable logic controller (PLC) is an industrial computer control system that continuously monitors the state of input devices and makes decisions based upon a custom program to control the state of output devices. Almost any production line, machine function, or process can be greatly enhanced using this type of control system. The biggest benefit in using a PLC is the ability to change and replicate the operation or process while collecting and communicating vital information. The CPU contains an internal program that tells the PLC how to perform the following functions: - Execute the control instructions contained in the user's programs. This program is stored in "nonvolatile" memory so the program will not be lost if power is removed - Communicate with other devices, which can include I/O devices, programming devices, networks, and even other PLCs. - Perform Housekeeping activities such as communications, Internal Diagnostics, etc. - Check

Cache Memory

A type of small, high-speed memory used to hold frequently used data, so that the CPU needs to access the much slower RAM less frequently. There are 3 levels of cache. The greater the level, the farther away from the CPU and the larger the memory allocated (Cache L1 is in the CPU and small size). The relationship between RAM, Cache and the CPU is a dotted horizontal bidirectional arrow between the RAM and processor/CPU and solid bidirectional arrows from both pointing down to the cache The Relationship between RAM, Cache and the CPU explained is that the CPU first looks for the data in the cache. If the data is in the cache, it is sent to the GPU and the process stops. If the data is not in the cache, it is fetched from the RAM. The data is then sent from RAM, written in the cache, and then sent to the CPU.

SSD (solid state drive)

A type of storage based on NAND flash, which works with a NAND gate that lets out or takes in electrons. When it takes in electrons it registers as a 0, when it lets electrons out it registers as a 1. It gets its name from not having any moving parts. I Advantages: - has zero seek time (no moving parts) - very fast read and write speeds - no moving parts: is silent and has low power consumption - shock resistant. Disadvantages: - it is very expensive per Gigabyte - has a limited write cycle before it starts to wear out.

Virtual Machine

A virtual machine is a computer file that behaves like an actual computer. - The software machine is sandboxed from the rest of the system, meaning that the software inside a virtual machine can't escape or tamper with the computer itself. - This produces an ideal environment for testing other operating systems including: - Beta releases - Accessing virus infected data - Creating operating system backups - Running software or applications on operating systems they weren't originally intended for (Java Virtual Machine, platform independent). - Multiple virtual machines can run simultaneously on the same physical computer. - Each virtual machine provides its own virtual hardware, including CPUs, memory, hard drives, network interfaces, and other devices. - The virtual hardware is then mapped to the real hardware on the physical machine which saves costs by reducing the need for physical hardware systems along with the associated maintenance costs that go with it, plus reduces power and cooling demand.

Virtual Machine

A virtual machine is a computer file that behaves like an actual computer. The virtual machine is sandboxed from the rest of the system, meaning that the software inside a virtual machine can't escape or tamper with the computer itself. This produces an ideal environment for testing other operating systems including > beta releases, > accessing virus-infected data, > creating operating system backups, > and running software or applications on operating systems they weren't originally intended for (Java Virtual Machine, platform independent). Multiple virtual machines can run simultaneously on the same physical computer. Each virtual machine provides its own virtual hardware, including CPUs, memory, hard drives, network interfaces, and other devices. The virtual hardware is then then mapped to the real hardware on the physical machine which saves costs by reducing the need for physical hardware systems; along with the associated maintenance costs that go with it, plus reduces power and cooling demand. A Java virtual machine interprets compiled Java binary code (called byte code) for a computer's processor (or "hardware platform") so that it can perform a Java program's instructions. Each platform gets its own JVM so that Java code can run on any platform.

VPN (Virtual Private Network)

A virtual private network is a connection method used to add security and privacy to private and public networks like WiFi Hotspots and internet. Virtual Private Networks are most used by corporations to protect sensitive data. Is a network that is constructed using public wires -- usually the internet -- to connect to a private network, such as a company's internal network Is designed to provide a secure, encrypted tunnel in which to transmit the data between the remote user and the company network.

Accessibility input devices

A wide range of input devices can be used to allow people with a range of disabilities operating computer hardware and software - Joystick and switch: combinations enable an individual lacking sufficient mobility to use a full keyboard access a computer through an on-screen keyboard or other "virtual" substitute - keyboard alternatives: allows individuals unable to use a standard keyboard to input keystrokes with a specialized mouse, head mount, or other specialized device.

Abstraction lead to simplicity

Abstraction in computer science is the art of hiding details to reduce complexity. By abstraction, users and applications do not see the hardware directly but view it through the OS. This is used to hide certain hardware details from users and applications. Examples of Abstractions by OS are: - Drive Letters - Java Virtual Machines - Input Devices - Virtual Memory

Outline the advantages and disadvantages of Software As A Service, SAAS.

Advantages: - Since the software can be taken by itself as a service, meaning that the software manufacturers maintain the software, there is no need for the company to spend any money on employees to maintain this software. - Since the software is provided by the manufacturers, they have great knowledge on what to do in case of an error, so they can come and fix the problems with the software. - All the small maintenance that needs to be done on the software can be done effectively by the manufacturers of the software since they have a great knowledge and data over the software as well as have specialized staff who are in full understanding of all parts of this system. - With the client not needing to worry about the problems related with the system, they are comfortable with the prowess of the software manufacturer in being able to mend all those problems. Disadvantages: - Since this is a service, that means that the company that is using this service is entrusting its data to a third-party company and that there might be security issues relating to the data that is being passed on to someone else. The company no longer has direct control over how their data is manipulated. - Since the services are not part of the company, the location could be in a different country and have a different time zone. This means that the service could be completed at a time that is uncomfortable and at an akward time for the company that is recieving the service. - Since the company does not have direct control of the service, they are not able to easily measure feedback whithin the company itself and have to go through the trouble of contacting the outside manufacturers.

Actuator

An actuator is a device that moves or controls some mechanism. An actuator turns a control signal into mechanical actions such as an electric motor. Actuators may be based on hydraulic, pneumatic, electric, thermal, or mechanical means, but are increasingly being driven by software. An actuator ties a control system to its environment

Extranet

An extranet is essentially an intranet that still allows outside users without the proper authentication to access the intranet (or at least certain parts of it) without being considered intrusive by the firewall. Depending on the username and password (or general login credentials) received from the outside user, the extranet can determine what level of access the user is given, thus adjusting what parts of the intranet different users are allowed to access. Extranets offer organizations the opportunity to collaborate more heavily with other businesses or to communicate and interact with random samples of outside users.

Intranet

An intranet could be viewed as a subsection of the internet reserved for a specific business or organization. Within the entire internet, the intranet is a private network that can only be accessed with the correct authentication by members of the community that the intranet belongs to (with unauthorized access to a business' intranet being fought against by the system's firewall). Intranets offer organizations the possibility to have their own private, secure network on which they can conduct business and store sensitive information.

Operating system

An operating system, or "OS," is software that controls the overall operation and security of a computer. E.g. Unix, Windows 10, OS X El Capitan

Type of Connection (Variance in Speed of Data Transmission)

Another condition which affects the speed is the type of connection that is used. These types of connections can be split into LAN and WAN connections (with WAN usually being slower). LAN connections can have different speeds based on what type is used: - UTP Copper Cable (100 Mbps) - Fibre Optic Cable (5-100 Gbps) - WiFi (10-150 Mb) WAN (or broadband) connections can have different speeds based on what type is used: - DSL (2-16 Mbps) - Fibre Optic (20-100 Mbps) - 3G (0.5-1.5 Mbps) - 4G (±20 Mbps)

social impacts and ethical impacts in tagging prisoners

Arguments for could be the ability for change in prisoner lifestyle as they can now move outside of prison. Furthermore, this removes a large amount of people from prisons which could be an economic benefit as well (not needing as much money to sustain the prison). This tagging serves as a way for accountability and reliability as it constantly reports the location of the prisoner. On the negative side of things, this tagging can result in a loss of freedom of movement, could be hacked to track innocent people, and this device could be sold off as a way to make money.

VPN gives access to blocked online content (Evaluation)

As outlined in the previous point, a user's location could be spoofed through the use of a VPN. This means that when in one country, a user could access a VPN and any data sent to online websites and applications would make it seem as though the user is located on the other side of the world. This enables another advantage for users: access to blocked online content. Oftentimes, governments ban certain sites from being accessed due to security concerns or other reasons. If a user still wants to access this site, they can change their location through a VPN and access it. While this would be advantageous to the user, it may pose risks to the network if the site was banned for legitimate security concerns.

VPN Masks location (Evaluation)

As previously mentioned, VPNs allow their users' IP addresses to either be hidden or changed entirely. IP addresses can be used to determine a device's location, meaning that changing a user's IP address would mean that any attempt to track the device's location would result in a spoofed location. While the user's real IP address would lead to their device's location, the new IP address that the VPN provides would keep the user's location secure. This would be a massive boost to privacy if any individual needed to hide their location for some reason, but once again, may also enable more criminal activity.

Range of Control Systems

Automatic Doors, Heating Systems, Taxi Meters, Elevators, Washing Machines, Process Control, Device Drivers, Domestic Robots, GPS systems, Traffic Lights

Describe Automatic Updates as a strategy for managing releases and updates

Automatic Updates - This is a sort of system that checks the internet for when it needs an update and what it finds out it does, the updates are installed and updated directly. Advantages: - Since the updates are installed automatically, novice users who are unfamiliar on how to update their different software will not have to worry about how to install the updates as this will be done for them. - With the updates being automatic, the user does not need to wait for the contact of the company that owns the system to tell the user that there is an update, as it will be done immediately after the update is available. Disadvantages: - Since the updates that are automatically provided are installed through the internet, if the user is not connected to the internet there is no way for him to receive these updates and may miss out on important updates that directly affect the functionality of the user's system. - Since there is not really any notice for the update, these updates might bring unwanted changes to the system without the users being informed about it at all.

Peripheral

Auxiliary device that connects to a computer system to add functionality such as input/output. (Some examples: mouse, flash drive, keyboard, monitor, printer, scanner, etc.)

Interrupt vs Polling

Basic: - Interrupt: Device notify CPU that it needs CPU attention. - Polling: CPU constantly checks device status whether it needs CPU's attention. Mechanism: - Interrupt: An interrupt is a hardware mechanism. - Polling: Polling is a Protocol. Servicing: - Interrupt: Interrupt handler services the Device. - Polling: CPU services the device. Indication: - Interrupt: Interrupt-request line indicates that device needs servicing. - Command-ready bit indicates the device needs servicing. CPU: - Interrupt: CPU is disturbed only when a device needs servicing, which saves CPU device cycles. - Polling: CPU has to wait and check whether a device needs servicing which wastes lots of CPU cycles. Occurrence: - Interrupt: An interrupt can occur at any time. - Polling: CPU polls the devices at regular interval. Efficiency: - Interrupt: Interrupt becomes inefficient when devices keep on interrupting the CPU repeatedly. Polling: Polling becomes inefficient when CPU rarely finds a device ready for service Example: - Interrupt: Let the bell ring then open the door to check who has come. - Polling: Constantly keep on opening the door to check whether anybody has come.

Increased Access (Wireless Network Advantage)

Because of the fact that a wireless network is, as the name states, wireless, users have the freedom to move around to different geographical areas while still remaining connected to a network. This not only means that users can move around in a certain area while still remaining connected to a network, but it also means that people are rarely in a certain geographical location where they have access to no networks at all.

Bits (patterns)

Binary digit (smallest unit of data in computing). 8 bits form up a byte. Converting bits to patterns is 2 to the n power with n representing the number of bits. Ex: With 1 bit there is two patterns (0, 1). With 2 bits there are 4 patterns (00, 01, 10, 11).

Similarities between HDD and SSD

Both are types of secondary memory, and both are non-volatile

Describe the importance of user documentation

By having user documentation, the user is able have something that provides simple and undertstandable instructions on how to use the system. The user also has the ability to look back at the user documentation in order to get any help that he needs in a specific area concerning the system. Finally, the user documentation can provide different tips and tricks that might make use of the sytem much more efficient. With all of these items that the user can use in the new system, his or her productivity will greatly be increased as they will be guided throughout the entire system.

Role of OS in controlling peripheral devices

By using things called drivers or specifically written, individualized 'translation' programs, the OS is able to use and control peripheral devices.

Light

Can detect the ambient light level, meaning how bright or dark it is. Ex: Controlling street lighting, burglar alarms (beams of light), automatic doors, greenhouse

OS Features VS Application Features

Certain parts of the interface are provided by libraries in the OS, and certain parts are specific to each application. Example: the menu bar & buttons are standard, but the specific pictures are up to the individual application

Evaluate the use of a VPN

Changes IP Address, Encrypts Data Transfers, Masks Location, Access to blocked online content, telecommuting Overall, almost every aspect of VPNs are beneficial in terms of privacy and security, and these benefits are accessible to all users. However, at the same time, these also help to enable criminal activity. While this advantage and disadvantage would seem to balance themselves out, there is still the fact that VPNs create advantages in other aspects of life (as shown through the enabling of telecommuting). Because of this, overall, the use of VPNs is beneficial to society as a whole.

push method

Check whether list is full before accessing: public static void push(int[] stack, int pushValue) { System.out.println(pushValue + " was pushed into the stack "); int index = pointer; stack[index] = pushValue; pointer++; }

Transferring from a Collection with objects (of 3 items) to a 2D array

Collection<Dog> dogList; Object[][] dogArray = new Object[DogList.size()][3]; for(int r = 0; r < dogArray.length; r++) { Dog temp = dogList.get(r); dogArray[r][0] = temp.getName(); dogArray[r][1] = temp.getBreed(); dogArray[r][2] = temp.getAge(); }

Concurrent Processing

Concurrent processing is a system where multiple processes, applications, users, and programs can all be processed at the same time

CU (Control Unit)

Controls and directs the operation of the CPU by: - loading the instructions from the main memory into the CPU - decoding and interpreting the instructions - directing the ALU to execute the instructions - directing data flow within CPU and back to main memory It also directs data flow by fetching required instructions from secondary memory to the main memory

Application Software Execution and Services

Creates a process for the application. Assigns memory space and other resources. Establishes priority for the process. Loads program binary code into the memory. Initiates execution of the application program to interact with user and hardware devices.

Why Compression of Data is Often Necessary When Transmitting Across a Network

Data compression allows information to be spread out more rapidly, and is mostly used to transmit/store data in fewer bits. It works by encoding and storing data in a way that requires less space than it did in its original form. In compression, there are both lossless and lossy compressions - in lossless compressions, none of the data is lost during compression or once it is decompressed and restored to its original size. In comparison, lossy compressions lose some data during compression or after decompression - for example, this means that images that were compressed and underwent a lossy compression may be decompressed with less clarity.

NAND Flash

Data is stored by sending electronic signals directly to the storage medium where they cause charged electrons to be trapped in tiny chambers of silicon dioxide. When it is charged, the value is a 0. When it is not charged, the value is a 1.

Quality of Cable (Variance in Speed of Data Transmission)

Degrading hardware can significantly slow data transmission speeds. As a piece of hardware ages, it slows down and can no longer operate at the same speeds, meaning that data cannot be transferred at the same speeds as before either. Moreover, old hardware in general (regardless of how well-kept it is) can also lead to slower data transmission speeds since the hardware may not be as compatible with newer networks.

Gas

Detects the presence of gas in a certain area. Ex: Pollution monitoring (river), Greenhouse environments, Confined areas (space craft, aircraft), Fish tanks/aquariums, Carbon monoxide alarms

ROM vs. RAM

Differences: RAM - volatile, read and write, contains working data and instructions, bigger and less expensive. ROM- non-volatile, read only, Contain BIOS (basic input output system), Smaller and more expensive Similarities: Both are storage systems and both can read

Time of Day (Variance in Speed of Data Transmission)

Different times of day bring different levels of traffic on networks. As such, when accessing a network with lower amounts of traffic, the speed of data transmission tends to be higher. Therefore, since the time of day changes how many people are currently accessing a network, the time of day also partially dictates the speed of data transmission.

Resources Available in Digital Cameras

Digital cameras have single core processors and limited primary memory. Their secondary memory on the other hand is upgradeable (similar to cellphones and tablets) through memory cards.

Evaluate Direct Installation Process

Direct - This is a straightforward method of installation where the old system is switched off and the new system is switched right after. Advantages: - Since this method is the straightforward installation of the new system, the company is able to utilize the entire system immediately. - Since this method takes little time and little materials to install in replacement of the old system, it is the cheapest solution most of the time. - Since only one system will be run at a time, there is no need to keep duplicates of the data as that would only be used in the case of needing data for both the new system and for the old system. Disadvantages: - Since the old system will be switched off before the new system is even place, the new system has no back up system to rely on case of system failures or other large problems. - Since only one system is being used, all of the data from the old system needs to be transferred directly to the new system before it is put up. - This data transfer that takes all the data from the old system to the new system takes quite some time to occur. During this time both systems will be inactive as the the new system is in the process of being switched on after the old one was switched off. - After this new system is finally installed, the users will now have to go through a period of getting to this new system after the old one was abruptly changed. Due to the users having to spend time tp get used to this new system, there will also be a large slowing down in productivity rates.

Describe the methods of obtaining requirements from stakeholders and their pros and cons.

Directly Observing the stakeholders - this method is where the analyst gathers information by viewing what the stakeholders are doing with his/her own eyes - Pros: By directly viewing the information with his/her own eyes, the analyst is able to gather unbiased information and is able to see how the stake holder would regularly use the system. - Cons: However, the information that is gotten from this method will be skewed a bit since no one works at their normal pace under the stress of being observed by someone else. Conducting interviews with the stakeholders - this method is where individuals are interviewed to gather information on the functionality of the system - Pros: By doing an interview, specific questions can be used to draw out a lot of information about the system. An interview also allows the analyst to ask questions about what did not work with the system. - Cons: The main con for an interview is that it takes a large amount of time to ask questions and gather information from long answers. This method just isn't possible if it is conducted over a large group. Sending the stake holders surveys - this method allows the analyst to send out a fixed set of questions to a large amount of people so that they can send feedback on the system - Pros: By creating a survey, a large a mount of data can be gathered from a large group since a survey can be sent to anyone through email. By having all the questions set out and structured, a survey is simple and takes a very small amount of time to go through and answer all the fixed questions. - Cons: When creating these types of surveys, the questions are always fixed so it is very difficult to find the correct questions which will get the answer the analyst wants since the survey is limited to that one question (there is no room for further explanation). With having a set amount of questions, the survey can only gather information pertaining to those questions, so the information gathered is limited. Furthermore, one recieving a survey without the presence of someone else, it is easier to get the survey overwith by rushing through it, therefore giving somewhat meaningless answers.

Disk Storage

Disk storage is a type of secondary storage in disk form. The drawbacks of having a limited disk storage are the same as the ones listed above since it is a form of secondary storage. However, it has more drawbacks when limited that are specific to just disk storage. Even though HDDs are cheap, they use more power than a SSD due to their moving parts. This can lead to higher electricity bills, requiring more space for more HDD plates, and challenges with cooling the HDD.

Wireless Software (Wireless Network Component)

Each wireless software has its own Network Operating System, a Router Software which assigns the IP address to the client, and also includes an SSID (service set identifier). Other software include an NIC driver and Security Software.

Advantages of Modularity

Easier debugging, Easier testing, Reusability, Readability, Speedier completion

Encryption Advantages and Disadvantages

Encryption Advantages - 1. Data that is encrypted can only be read by users who have the key to the encryption 2. Data security is separate from device security 3. Strong encryption is very difficult to break Encryption Disadvantages - 1. The security of the data is dependent on the security of the key used to protect the data. 2. If that key is lost, the data is lost. 3. Having to manage the different encryption keys adds another administrative task.

VPN Encryption

Encryption, like the firewall, is another element that is essential in keeping the promise that a VPN makes to the user: security and privacy. The encryption operates by taking all data that is sent from one device and encrypting it in a way that only the other computer that is receiving this data knows how to decrypt. This means that the VPN's priority isn't preventing a user's data from being intercepted, but rather preventing any party that does manage to intercept the data from reading it. This means that no matter what, no third party will be able to read your data, thereby preserving both the user's privacy and their security.

High level language

English looking language

Ergonomics

Ergonomics is a science that deals with designing and arranging things so that people can use them easily and safely. In usability of system design, ergonomics is the qualities of system design that makes it safe and easy to use. (Interface/visual design most obvious example).

Outline the social and ethical issues associated with the introduction of new IT systems

Ethical Issues: - Privacy - This issues deals with ensuring that the user's data is completely secure so that there is no possibility of malitious outsiders infringing on the private data of the user. - Ownership - This issue deals with the idea that the people who worked hard to introduce this new IT system get credit for their effort. - Reliability - This issue deals with having some sort of failsafe that will prevent the user from having to worry about data loss or other errors. This idea of reliability is dependent on the constant supporting of the user so that there is no problem with the user accessing and manipulating his data at any time. - Accountability - This issue deals with whether there is some company or institution that is to be held liable if the new IT System should fail. This company needs to be able to take on the problem that this large failure caused in order to renew satisfaction in users. Social Issues: - Lifestyle - This issue deals with how the introduction of new IT system can directly effect the social aspect of a person's life: meaning whether or not the person is able to do the activities he desire. An example of this would be: a person is seeing less and less of his family as he is now envloped in a new IT system. - Economic Impact - This issues details how the user and company is affected economically by the introduction of this new IT Program. An example of this would include the presence of automation in the company, leading to a higher profit for the company due to unneeded jobs being cut. Both: - Human Rights - This issue surrounds whether the basic human rights of the user are respected and that the way that the new IT system manipulates their data does not infringe on those rights. Compatibility issues resulting from situations including legacy systems or business merges

Network Connectivity

Every network card located within a computer connects to a certain type of network media. If this connectivity is limited, adverse effects can include limiting the ways in which data can be sent and received in a system.

Pre and Post condition Ex: Is Vowel

Ex2: boolean is_vowel(char letter) - Precondition: letter is an uppercase or lowercase letter (in the range 'A'...'Z' or 'a'...'z') - Postcondition: the value returned by the function is true if the letter is a vowel; otherwise the value returned by the function is false

Describe a range of methods that can be used to prevent data loss

Failover System - This type of system is a back up system that is switched on as soon as the main system shuts down or goes through major problems. By having this backup system, the server is able to switch directly to it and no data is lost at all during this process. - Data Redundancy - This is the idea of having a duplicate of the data in case of the main system shutting down or going through problems. Since the data is also synchronized with the system, it can quickly replace the data that was disrupted due to the system problems so that the system can get back up and running again. - Removable Media - Since removable media is a type if storage device that can be connected and disconnected from the system, it makes for a great way to back up the data onto something. By backing up the system's data onto the removeable media, this media can be taken out in emergency cases and easily connected back so that this back up can redeliver the data quickly and instantly start the recovery process. - Online Backup (This refers to cloud backup) - This provides a mechanism of storing a backup of the system's data on an online public network or offsite server. However, using this method may need the company to pay a third-party company in order to maintain such a large storage on the cloud. Although, the company itself, provided it has enough resources can also sustain its own cloud in an offsite server. This method of data storage can provide an immediate back up if the main system has gone through data loss as it is easily accessible through an internet connection.

Role of feedback in control systems

Feedback is the process in which some of the output of a control system returns and is inputted into the control system. This is very important in maintaining high performance in a control system. Ex: Data about sales performance is feedback for a sales manager. The Control is what is involved in monitoring and evaluating feedback in order to see if the system is moving towards its wanted outcome. The control system uses this information to make the proper adjustments to the input and process to ensure proper output.

Simplified model of the Machine Instruction Cycle

Fetch: - The address of the next instruction is copied onto the MAR from the PC (Program Counter) - The data is fetched using the address from the MAR and sent to the MDR - The instruction is stored in the MDR which is then copied into the CIR (Current instruction register) Decode: - The instructions are then sent to the CU which make changes to the ALU Execute: - The ALU then executes the instruction and stores them in the accumulator if needed Store: - The accumulator stores the results of the executed instruction

Fiber Optic Cable

Fiber optic cables are, as of now, the best form of transmission media. These network cables are made up of insulated casings which hold strands of glass fibers within them. Fiber optic cables are engineered for data to be transmitted across large distances with high speeds, which in turn enables telecommunication. The glass strands also hold many advantages over metal cables that make up the other forms of transmission media. They are thinner, lighter, less susceptible to interference, and can carry more data due to a larger bandwidth.

File Manager

File manager coordinates the use of the machine's mass storage facilities such as deleting, copying, and organizing files. It stores the files in a hierarchal structure. It also provides a read, write, and execute privilege for each file. - The access is is a separate privilege for the: owner of the file, group of users that the owner of the file designates, and the other users.

VPN dedicated hardware

Firewall Since one of the major uses of a VPN is the security that it provides, a firewall is one of the most important technologies required to set up a proper VPN. The firewall prevents unauthorized access and shields the network from attacks, so the firewall is one of the most essential elements in keeping the VPN private. Servers There is both a VPN Server and a Network Access Server (NAS) that are required when establishing a VPN. The NAS works behind the firewall, ensuring that proper access is granted with proper authorization. The NAS then provides any device communicating through the VPN with access to the information being stored, such as files or database information.

Elevators

For the elevator's control system, it is usually regulated by many inputs that can happen from both the operator or user. For the operator side of things there is usually a car status key control and a system on/off input. For the user side of things, there are inputs such as: direction buttons, hold door buttons, emergency stop buttons, and floor buttons. The output of the control system can be separated by the information shown directly to the user or regulating the elevator functions. The elevator usually displays the floor and direction to the users. On the other hand, the elevator control system also outputs to the door controller and lifting system. This lifting system sort of goes in a loop where it moves the elevator car, which changes the feedback to the position sensor and is then fed back to the control system.

GPS

Global Positioning System; has three base parts: - Satellites - Ground Stations - Receivers GPS needs 4 satellites to work - current time communication: analyzes radio signals - Also determines the most accurate locations (time given) using the time needed to get to the destination.

Graphic Processor

Graphics processors handle complex graphic processing, such as rendering three-dimensional images and models. Similar to the sound processor, with a limited graphics processor, the CPU is forced to take on even more tasks, lowering the overall speed of the entire system.

Embedded System Components

Has three components: - It has hardware - It has application software - It may have a real time operating system (RTOS) that supervises the application software and provide mechanism to let the processor run a process as per scheduling by following a plan to control the latencies. > RTOS defines the way a system works > It sets the rules during the execution of application program. > A small scale embedded system may not have RTOS So we can define an embedded system as a Micro-controller based, software driven, reliable, real-time, control system.

Evaluate Help Files as a method of providing user documentation

Help File - This is a file that is part of the program the users will be using that contains a general amount of helpful information Advantages: - Since this file is a part of the actual program, the user can use it whenever he or she wants while he is using the program. In other words accessing this user documentation is very easy. - With the variety of information that is present in this help file, general instructions is able to be presented on how to utilize and work with the system. - This help file also contains information that can be used as general instructions in order to fix major problems that might occur when using the system. Disadvantages: - Since this help file is part of the program, this help file can only be used once the system is installed and up and running. The user will not be able to use any information from the help file in order to aid them in installing this program. - Since this is part of the program and is part of a file with limited file size, most of the information present only deal with general situations and have broad coverage. This help file does not really go in-depth so it has a limited amount of help it can give the user. - Unlike a website, these help files are usually text files, meaning that they have no searching capabilities and the user has to manually look through all the information in order to find what they are looking for.

Hexadecimal System

Hexadecimal numbers are based on the number 16 and use 16 characters(0, 1, 2, 3, 4, 5,6, 7, 8, 9, A, B, C, D, E, F) to denote all numbers. It is often referred to as base-16 numbering or Hex. It is used to represent very large numbers quickly. Examples include color representation.

Describe the exchange between CPU and Memory with Address and data buses during a read/write operation.

If the CPU needs to read, it sends out a read signal (same thing with write). The Controller waits for the signal. If the control bus gets a yes signal (1) for read and a no signal (0) for write, it conveys that something needs to be read. The MAR then sends the address to the MDR and through the Address Bus. The data is then fetched through the data base and is stored in MDR using the Control Unit.

Draw a diagram for inserting a new node carrying value 108 into a single and double linked list with nodes: 101, 105, 107, 109, 112 (Show moving of position, and temp)

Image Drawn without the garbage dump taking anything away

Graphic Processing Software

In computer graphics, graphics software or image editing software is a program or collection of programs that enable a person to manipulate visual images on a computer.

Hardware

In information technology, hardware is the physical aspect of computers, telecommunications, and other devices

Program Counter Register

In the CPU and keeps track of which instruction needs to be fetched next - It is either incremented by 1 automatically once instruction is fetched - or it is updated by the instruction itself by a GO TO instruction to indicate a "jump" to any other instruction

How a Control System Works

Input devices, usually sensors, send data readings to the microprocessor (computer) at set intervals To be understood, this data may have to be conveled using an ADC(analogue to digital converter) The microprocessor compares the data readings against pre-set values that it has stored (using a control program) The microprocessor then makes a decision as to whether any action is needed (e.g. is more heat needed to maintain the pre-set value?) If needed, the microprocessor will send a signal to instruct an output device to do something (e.g. turn on heater, turn off oxygen pump etc) This may involve an actuator (e.g. a motor to open the gates or shop doors) The process repeats in a continuous loop. **IMPORTANT** At no point does an input device directly communicate with an output device, or make any judgement calls. Because of this, a statement such as the following is completely wrong: "When it gets dark, the light sensor turns on the light bulb"

Bus Network Topology

Instead of all the computers being connected together like in the ring, the bus topology has each computer in the network connected to a central "backbone" which is known as the bus. Instead of each computer passing information through one another, this topology has the computers pass information to the bus, where it can travel up or down the bus to pass data to another computer in the network. This method of passing information is one of the weaknesses of the bus topology, as a single break in the bus would lead to a critical failure of the entire network. Furthermore, since all information passes through the bus to other computers in the network, the more computers there are connected to the bus, the slower the overall network is (since it takes longer for data to travel as the bus gets longer).

Binary Search Algorithm

Int binarySearch( int [] list, int target) Int left = 0 Int right = list.length - 1 while(left <= right) Int middle = (left + right)/2 If (target == list[middle]) //target found return middle Else if (target < list[middle]) //look left right = middle - 1 Else left = middle + 1 //look right End if else chain End while return -1 //otherwise, if element not found, return -1 End binarySearch

Linear Search Algorithm

Int linearSearch( int[] list, int target) for (int j = 0; j < list.length; j++) If (list [j] == target) //if element at position j is target element return j //return the number j End if End for return -1 //otherwise, if element not found, return -1 End linearSearch

ArrayList to Array Algorithm

Int size = 0; DATA.resetNext() while(DATA.hasNext()) { size++ Data.getNext() } Int[] myList = new int[size] Int i = 0 DATA.resetNext() while (DATA.hasNext()) { myList[i] = DATA.getNext() i++ }

SaaS

Is a software delivery method that provides access to a software and its functions remotely as a Web-based service. Software as a service removes the need for organizations to handle the installation, set-up, and often daily upkeep and maintenance.

Feedback

It is the modification or control of a process or system by its results or effects Ex: in a fridge the thermometer provides feedback to the sensor that gets processed to switch the refrigeration system on/off

Discuss the importance of iteration during the design process

Iteration is very important during the design process as this idea of a cycle is what completely refines the final product. In this iterative idea, the product created will go through constant step by step improvements. Throughout these small steps, errors in the product can easily be tracked down early on, which can prevent them from causing major problems in the future of the product. Furthermore, including these small steps to reach the final product, feedback can be taken at every single step to really refine the product the most possible. Finally, by using this step to step model, unnecessary planning can be taken out of the equation as most of the work will be directly applied on the creation of the new system.

Increased Opportunities (Wireless Network Advantage)

Just as wireless networks can establish new styles of working, thereby increasing flexibility, wireless networks can also establish new products or services, such as network hotspots in popular locations.

Outline compatibility issues resulting from situations including legacy systems or business mergers

Legacy: - With the introduction of a newer system, the technologies may be completely different and therefore completely incompatible. Business Merge: - Language Difference - If two different business from two different countries were to merge there very might well as be a language gap between what the data in the companies are written and presented in. In order to get a standard language would be extremely different as the entirety of one business would need to be translated precisely in order to match the other. - Difference in Time Zones - Difference in time zones is a major issue since communication is key in a business, especially when the two are international. Since one may be working while the other is asleep, synchronizing meetups for necessary communication is very difficult and could lead to the slowing down of many aspects of the company. - A platform is not established for proper communication and feedback - with the merging of two business it might be difficult to get a platform established for proper communication due to monetary or other reasons. Because of this, the company will not work very efficiently as communication is the key to success, especially over long distance. - Different units are used - An example of this would be the use of different units in different countries such as metric vs imperial units. With having two units it impossible to have compatible data so one unit needs to be decided on, and every data of the other unit needs to be converted to the chosen unit. - The level of technology may be different in each business - Based on the level of technology in each of the businesses, one of the business may have a system that might be considered as legacy and therefore incompatible with the newer system of the other business. - Different software environment - Two different businesses before merging may operate on two completely different softwares which are according to their liking and it would be very difficult to have the uniform use of one software and conversion of the rest of the data to a single software. Ex: IBM Lotus vs Microsoft Exchange

MAC Address Advantages and Disadvantages

MAC Address Advantages - 1. Only certain devices are granted access 2. There is no cost for the attachment of devices to the network: this policy is set on the router or switch MAC Address Disadvantages - 1. This process is inconvenient as each new device has to be entered in manually to get access. 2. The filtering process is useless against hackers as they can adapt to the address of a devices that is allowed (spoofing)

HDD (hard diskette drive)

Made up of multiple rotating magnetically coated discs that can be read by a head that moves back and forth. There are multiple disks stacked on top of each other. Each disk has its own head. The magnetic coating on the discs is done in strips where the magnetic area would be 1s and nonmagnetic areas 0s. Two latencies: Seek and Rotational time. Seek time: amount of time necessary to move head to desired track Rotational time: the amount of time needed for the media to rotate to the correct sector. The two ways of movement to read the disc makes this much slower, because making it go faster would result in random crashes. However, these are widely used as they result in cheaper storage per Gigabyte.

AND operator

Makes so where the answer is only true if both statements are true

Describe Manual Updates as a strategy for managing releases and updates

Manual Updates - This method of updating is where the user is sent a notice to update a certain application from the software company, is given the file that needs to be installed for the update, and decides whether or not to go further by updating. Advantages: - Since the user is sent a notice on completing the update, they are able to choose whether or not to update certain things that they have installed. This allows users to deny changes that might prevent them from using other software. - In the notice the users are given information about the update, so they are able to see all the new changes that are going to be made in the new update. If the users dislike the new changes made to the system, they can choose to not go through with the update. Disadvantages: - Since the decision is up to the users, they may pass up on update that is critical in the increased development of the system's security. Since the decision is given to the users on whether to update, the users might be unfamiliar on how to perform such update and the update will end up not being installed. - If the users are unfamiliar with how to update the system properly, they might install the update incorrectly and end up with a dysfunctional program. - If the user does not pay attention, they might lose other systems connected to the system being updated since they might not be compatible with its new update.

Identify strategies for managing releases and updates

Manual Updates and Automatic Updates

pH

Measures how acidic or alkaline a material is. Ex: Water treatment plants, pollution monitoring (river), aquariums, greenhouse

Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machines (maybe need to know)

Moral - A main example that can be used as a moral implication of the interaction between humans and machines is whether the human rights of the person is being respected. This means that many systems have certain regulations as to not infringe on these rights. This can be measured in a user's ability express his freedom in a system that has tight rules against bad behavior. It can then be said that due to a system supporting the correct moral values, the user has been able to work effectively. However, machines have also allowed in some areas for malicious users to do bad activity in areas that do not have moral regulations. Ethical - A main example that can be used as an ethical implication of the interaction between humans and machines is a person's privacy in using the machine. Some consequences in privacy, could be the infringing of the user's privacy by the unwanted manipulated of their data by malicious users who want it for monetary or harassment purposes. Social - The integration of machine into a person's life greatly impacts their way of life as they now spend much more time in using a machine. It is now a main part of one's social life to schedule time to be spent in using a computer. The effect of machines can also be greatly seen in education as they have been integrated into regular social interactions between teacher and student (this is just one example of interaction in daily activities). However, advancements in machine also allow for information to be easily communicated to the user that can be very biased. Economic - With the introduction of automation into many systems of machines, there is a huge impact on the general people who have their job replaced by artifical intelligence. Many people are losing their salary to this wave of automation as they are deemed ineffective in the place of a cheaper piece of software. However, companies are able to benefit greatly from the cheaper softwares replacing the expensive employees, therefore leading to an increase in their profit. Although, with these automation processes there is a great increase in efficiency of the creation of products and allows for a new abundance of products contributing to the economy. Environmental - With the rise of machines, there is a lot of new hardware that is very harmful to the environment if not disposed of properly. A main necessity can be finding renewable processes to deal with these left over hardware, as the hardware advancement is getting large constantly. Since machines have become such a large part of human life, it takes a great amount of energy to produce the different parts of a machine and to be able to maintain such advanced machines. Great energy use can be directly correlated to a large amount of pollution in the environment.

Device Driver

Most embedded hardware requires some type of software initialization and management. This software that directly interfaces with and controls this hardware is called a device driver. All embedded systems that require software have, at the very least, device driver software in their system software layer. Device drivers are the software libraries that initialize the hardware and manage access to the hardware by higher layers of software Device Drivers are the liaison between the hardware and the operating system, the middle ware, and application layers.

How Communication Over Networks is Broken Down Into Different Layers

Networks are broken down into seven layers through OSI, which is a standardized model for network connections. These layers are: Application Layer (Mainly Software), Presentation Layer (Mainly Software), Session Layer (Mainly Software), Transport Layer (Mainly Software), Network Layer (Mainly Hardware), Data Link Layer (Mainly Hardware), Physical Layer (Mainly Hardware)

Evaluate Online Help as a method of providing user documentation

Online Help - This method of user documentation is usually a range of information presented on a website. Advantages: - Since these can be in form of websites, they can be very information heavy. This means that a large amount of information can be placed on the website as there are no limitations like file size of page numbers. - With websites, they can be easily edited and information there can be updated instantly in order to address the most common problems that are happening to the users at that time. Information can also be updated instantly to provide knowledge for the user about the newest update that has occurred to the system. - With these types of help websites, most of the time the user can choose the option of going through live support where they can work with someone experienced to guide them through fixing their problem. - Like most websites, these types of help websites have a search feature that can allow the user to easily find the problem he or she is trying to fix or topic he or she is trying to find more knowledge on. Disadvantages: - Since this version of user documentation is a website, it is only useable if the user has a stable internet connection. Without one, this method proves utterly useless. - Even though the live support function can be useful, it is not always reliable. For those who are not to familiar with their own computer, they may not be able to understand the suggestions made by the helper or be able to point out and explain the problem that is occuring on their side.

Truth Tables

Order of Evaluation: parentheses, Not, And, Xor, Or. Starts with basic set of inputs (usually 3 A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 B And C would be: 0 0 0 1 0 0 0 1

Logic Diagram

Order of Evaluation: parentheses, Not, And, Xor, Or. Use of symbols to represent. Start from intputs and combine to the final output (combine using And, Nand, Or, Nor or Xor). Not stays on the same line.

ROM (Read only memory)

Originally its contents were static (hence read only) and could not be changed - not true any more ("flash upgrades"). Non-volatile = does not lose its contents if power is lost Stores the BIOS (basic input-output system) - a small program that allows the computer to know what to do to find the operating system to 'boot' the computer after power is restored

Other Hardware (Wireless Network Component)

Other hardware in wireless networks can include wired connections (ethernet to the access point) and cell towers (which projects a wireless signal over a certain area for mobile devices to connect to).

Domestic Robots

Output for control systems in domestic robots usually center around movement of the robot and speech/camera functions. In order to do this movement, the control system needs some input through things such as cameras, voice through voice recognition, and commands through wifi or preprogrammed inputs (and other things as well).

Resources Available in Personal Digital Assistant (PDA)

PDAs are extremely limited devices when it comes to both functionality and resources available. PDAs have single core processors with speeds of less than 1 gigahertz. Their primary memory is extremely limited, offering less than 500 megabytes. Secondary memory is similarly limited, with less than 128 megabytes offered.

How Data is Transmitted by Packet Switching

Packet switching is a series of protocols that follows the following process: data is broken down into data packets (as outlined in #1). The data packets are then sent to the final receiving computer, where they are then reconstructed to display the original data in its entirety. However, not all data packets take the same path to get to their final destination - oftentimes, data packets will take different routes, which is the reason why sometimes data packets are lost. As such, the receiving computer must request the original data once again, and the same process of packet switching occurs again.

Evaluate Parallel Installation Process

Parallel - This method of installation runs both the old system and new system in parallel until it is seen that the new program works well enough on its own. After this is decided, the old system can be shut down and its data can be transfered to the new system. Advantages: - This method of installation poses a low risk because two systems are running at the same time, so the old system can provide backup to the new system at any time - With the change being not so abrupt between the two systems, the staff can explore the functionalities of the new system while still being able to rely on the securities of the old system - The slow change between the system can also decrease the staff's stress and anxiety as they are able to slowly adjust themselves from the comfort of the old system without having to decrease their working speed Disadvantages: - In order for both systems to work, there needs to be duplicates of the data. The process of installing separately to pieces of the same data is very time consuming. - Since two systems are being run at the same time, it is not always granted that both the systems will work at the same pace and if they don't disruptions in their utility can occur. - By having two sets of data, errors can start occurring in each separate data stream and cause a great amount of problems in the productivity of the company using these systems. - Running two systems needs twice the amount of material running only the old system took and can be a very expensive installation process.

Evaluate Phase Installation Process

Phase - This installation process is one that slowly installs one module at a time of the new system while the old system is running in the background. Advantages: - By only introducing one module of the system at a time, any problems that occur will most likely only occur in that module and will be an easy fix. - By introducing one module of the new system at a time, the staff have enough time to slowly get used to the system so that it does not impede there work ability. Disadvantages: - Since the system is introduced in various steps, it takes quite a while to put out all the modules to get a complete product. - Since things are going one step at a time, problems with the module that is newly introduced need to be fixed before adding a new module. This will, in turn, cause the installation of the new module to be set back until the previous module is fixed. - With this step process, it might also be very difficult to maintain sync between the old system in the program and cause lots of problems.

Evaluate Pilot Installation Process

Pilot - This installation method gives the new system to a select group of people. This select group of people will report feedback, this feedback will be analyzed and the system will be remodeled to fit the feedback. When the new system has achieved a wanted state, it is then put out to the rest of the company. Advantages: - This method of installation does not disrupt the entire process of the business as it is only applied to a specific part, so the productivity of the company will not be affected. - With only one section being tested, the variety of problems that might occur will not affect the rest of the company. - Since the pilot area will have quite a lot of new experience with the new system, when it finally rolls out for the entire company, they will be able to provide help to the new users. By providing this help, they will be able to stop any drop in productivity from unfamiliarity in the new system. Disadvantages: - The people who are chosen as the pilot for the new system will have to undergo a complete change in their work as they will have to familiarize themselves with it. Due to this, their productivity will probably slow down. - Being the pilot for the new system might isolate the group who is using it as the data transfer between the new system and the old system is probably very difficult. - Even though the new system is only being tested on a small group of people, two systems are running at once. This is something that probably adds a lot of work on the IT department's plate as they have to be able to keep these two systems running.

GUI components

Pointer: a symbol that appears on the display screen that you move to select objects and commands. Usually the pointer appears as a small angled arrow. Text-processing applications, however, use an I-beam pointer which is shaped like a capital I. Pointing Device: A device, such as a mouse or trackball, that enables you to select objects on the display screen. Icons: Small pictures that represent command, files, or windows. By moving the pointer to the icon and pressing the mouse button, you can execute a command or turn an icon into a window. You can also move the icons around the display screen as if they were real objects on your desk. Desktop: The area on the display screen where icons are grouped is often referred to as the desktop because the icons are intended to represent real objects on a real desktop Windows: You can divide the screen into different areas. In each window you can run a different program or display a different file. You can move windows around the display screen, and change their shape and size at will. Menus: most graphical user interfaces will let you execute commands by selecting a choice from the menus.

Evaluate Printed Manuals as a method of providing user documentation

Printed Manual - A printed manual is a physical manual with a set structure that allows for easy manipulation of information useable to aid the user. Advantages: - Due to this being something that is completely separate from the system or computers in general, the user can always read this manual before commencing any work. This means this manual can be read in other locations aside from where the user will use the system. - Due to this printed manual being a physical thing that the user can carry around, the user is always available to use it in any situation, even when there are internet or power shortages. - With the manual being something that is separate from the computer, it can have help for the user in installing the program to begin with. Disadvantages: - Since this is just a small bunch of papers, the manual can be easily misplaced and then lost. - Since the book is a physical copy, the amount of information you can gather from it is limited to what is already inside of it. Meaning that what is present is the level of depth the book will go on, and the user will be receiving no further help from it if he or she needs it. - Another disadvantage of the book being a physical copy is that no information can be added to that specific manual, so when the system receives updates, there is no place inside the manual to find information surrounding the update.

Processor Speed

Processors are devices that handle and execute all calculations within a computer system whose speeds are measured by the number of calculations they can execute per second. Each processor has, at minimum, one ALU (also known as a core). In terms of a limited processor, the main effect would just be a reduction in the speed of which calculations are executed, making all calculations slower. In terms of a limited core, the number of tasks that the system can handle simultaneously would be reduced. However, too many cores would lead to a drawback for the system due to a lack of synchronization.

Recursion

Recursion is another form of iteration. Happens when a method calls itself over and over, until it reaches a base condition. Recursion Process: - process calling another instance of itself - stacking up process calls over and over again - moving towards a base case - reaches the base case terminating scenario - the un-stacking process happens - the entire recursive process is concluded

Advantages of Collections:

Reduces Programming Effort: by providing useful data structures and algorithms, the Collections Framework frees you to concentrate on the important parts of your program rather than on the low-level "plumbing" required to make it work Increases program speed and quality: this collections framework provides high performance, high quality implementations of useful data structures and algorithms Fosters software reuse: New data structures that conform to the standard collection interfaces are by nature reusable

Software

Refers to a program or a set of instructions and applications used to manage and control various functions of a device such as a computer

Software

Refers to a program or set of instructions and applications used to manage and control various functions of a device such as a computer

O(1)

Regardless of the size of N, a process with a running time of O(1) takes 1 step to accomplish the task: - Output first item - Searching through a list of items and finding the target on the first try

Secondary Storage

Secondary storage is a non-volatile storage system where data is preserved while a computer is turned off. Secondary storage needs to be managed because of the detrimental effects that occur if the secondary storage is too limited. Since secondary storage preserves data once the system is turned off, if there is not sufficient secondary storage, data will most likely be lost once the system's power turns off. Furthermore, a reduction in secondary storage leads to an obvious reduction in the amount of overall data that can be stored on the computer itself. Finally, insufficient secondary storage can lead to the OS not being able to use virtual memory once the RAM runs out of storage. Includes Disk Storage

Analog-to-digital converter (ADC)

Sensors record analog signals which are then converted to digital signals for processing in the microprocessor. The processor's digital output can then be converted to analog signals again (if needed).

Computer as Server

Servers are especially powerful computers that are used to perform certain tasks. These tasks can include the management of various servers (such as print servers or file servers) and monitoring network traffic. Servers can also facilitate the communication between two connected devices and perform certain tasks for a connected client so as to boost the client's processing power. Ultimately, servers can control the data flow between connected devices.

Resources Available in Cellphones

Similar to laptops, cellphones have single or multiple core processors with a primary memory of around 1 to 12 gigabytes and a secondary memory that can range from 32 gigabytes to sometimes 1 terabyte. The secondary memory can oftentimes be increased through devices like MicroSD cards as well.

Consistent Coverage (Wireless Network Disadvantage)

Since a wireless network extends over a wider geographical area, thereby allowing users to move around while still remaining connected to the network, the signal strength can vary depending on location. This means that in some areas of a building or general geographical area, there may be no network access since the signal is too weak. This would lead to zones where no network is available or accessible, whereas a wired network would keep users in one place (but this would guarantee that the network wouldn't have certain areas without access).

VPN software client

Since computers connected to a VPN are obviously not wired together, a proper software client needs to be installed on each remote computer. This software client allows the user to connect to the VPN server and establish an encrypted connection using VPN protocols. Using these protocols, the software client also manages the decryption of incoming data.

Cost Efficiency (Wireless Network Advantage)

Since wired connections often require the restructuring of a certain geographical area's infrastructure (such as breaking down walls or creating new pathways) in order to establish a proper connection, wireless connections can eliminate these costs entirely due to a cheaper setup and installation, thereby making wireless networks more cost efficient.

Interference (Wireless Network Disadvantage)

Since wireless connections use radio waves and signals in order to communicate between devices, the presence of other radio waves or wireless technology in general may lead to the network operating at a lower threshold. This interference could in some cases result in the loss of the wireless network as a whole, but more often than not, only leads to poor communication and slower transmission speeds.

Communication Efficiency (Wireless Network Advantage)

Since wireless networks overall improve data communication, they also lead to faster transmissions of data between people, thereby increasing efficiency. For example, since wireless networks can allow people across the globe to send each other news articles, the overall efficiency of their communication is aided by wireless networks, since without the wireless network, that same process of sending an article would be a much more arduous task.

Security (Wireless Network Disadvantage)

Since wireless transmissions of data are much less secure than wired transmissions, the risk for an attack or an attempt for unauthorized access is significantly higher than it would be on a wired network.

Resources Available in Laptops and Sub-laptops

Slightly slower than PCs, laptops and sublaptops have single or multiple core processors with speeds from 2 to 4 gigahertz. Their primary memory size is typically 4 to 32 gigabytes, and their secondary memory (normally found as a SSD) ranges from 250 gigabytes to 8 terabytes.

Loading the Operating System

Step 1: The machine starts by executing the boot loader program already in memory. Operating system is stored in mass storage. Step 2: Boot loader program directs the transfer of the operating system into main memory and then transfers control to it.

Accessibility

System accessibility refers to the degree to which a system is accessible to all human beings. Accessibility addresses discriminatory aspects related to equivalent user experience for people with disabilities, including people with age-related impairments. Accessibility requirements also improve the user experience for everyone else. Impairments: visually impaired (partial or total blindness), motor impaired (difficulty in movement), or auditory impaired (difficulty in hearing).

Distributed System

System in which components located on networked computers communicate and coordinate their actions by passing messages. - The components interact with each other in order to achieve a common goal.

System

System is a combination of hardware and software that interact regularly to perform all aspects of managing and processing information, especially within a large organization or company

Resources Available in Tablets

Tablets are almost identical to cellphones in terms of resources available. With a single or multiple core processor, a limited but upgradeable secondary memory, and a primary memory that ranges from 1 to 4 gigabytes, tablets hold the possibility to have more storage than cellphones.

Describe how MAR, MDR, Address Register Bus, Data Register Bus, and Control Register Bus are used to exchange information between CPU and RAM.

The Control Register Bus determines whether the process is "read" or "write". When data is being read, the CU instructs the MAR to send an address through the Address Register Bus to the RAM. When the RAM receives this address, a piece of data is sent back through the Data Register Bus to the MDR. When data is being written, the CU instructs the MAR to send an address through the Address Register Bus. The CU also instructs the MDR to send a piece of data through the Data Register Bus. Both of these are sent from the CPU to the RAM for the data to be stored under the given address.

MAC Address

The MAC (Media Access Control) address is an identification number that is unique to each specific hardware and is usually assigned by the NIC manufacturer. MAC address can be used to filter out specific hardware that you want to block network access. This filtering works by entering the MAC address of the device that you want to be blocked. This filtering process is inconvenient when there are many devices that will be connecting and should always be done in accordance to other security people.

RAM

The RAM is a piece of hardware in a computer system that manages and handles the tasks and operations that are being executed at any given time. RAM needs to be managed because of the detrimental effects that occur if the RAM is too limited. These effects include the computer system over-relying on secondary memory (which is much slower than the RAM), an inability to execute tasks if no sufficient virtual memory can be created, and a decreased number of operations that can be executed simultaneously.

Cache

The cache is a type of storage system that holds data that the CPU frequently references and is most likely to request next from the RAM. The cache greatly speeds up processing due to the fact that instead of the CPU waiting for the RAM to deliver the necessary data, the CPU can instead directly reference the cache for a quicker connection. Furthermore, since the cache only holds data that is frequently requested, processes that the user frequently executes will process quickly every time. If the cache is limited, the overall system will be slower since the CPU will have to wait for the RAM to respond to data requests every time.

Effectiveness

The completeness and accuracy with which users achieve specific goals

Traffic Lights

The control system of this uses a vehicle detector to see if there are vehicles in front of the light. Depending on this, the control system will send a delay or activation signal to the traffic light to either keep at red/green or go to green/orange->red.

Washing Machines

The control system present inside of a washing machine takes in inputs from things such as water temperature probe, safety cut out switches, and wash program selectors. Its outputs based on this then regulate the following output devices to do the job: drum motor, heater, waste suction pump, and indicator.

Automatic Doors

The control system present inside of an Automatic Door that is called the Host Entry Controller which controls the motor system which controls the pulley which pushes the door back and forth. The control system also takes inputs such as a handicap button or access scanner.

Taximeter

The control system provides functions such as Ticket/receipt printer, Fraud control and prevention, Radio communication, allowing trip status to be monitored by a dispatcher or supervisor. Dispatching of trip assignments through radio or data systems. Interaction with GPS systems to assist with dispatching and to provide security. Seat sensors that detect the presence of a passenger (to prevent a cab from carrying fares without activating the taximeter). Credit or prepaid card support. Bluetooth support for communication with smartphones or tablets. USB support for setup, diagnostics, and connectivity to the vehicle computer.

Heating System

The input to the control system is a regular thermostat in which one controls the temperature. This the control system then decides whether to heat the gas or oil boiler and/or activate the circulation pump for a certain period of time and at a certain intensity.

Height of a node (in trees)

The number of edges from the node to the deepest tree - height of the tree is the height of the root - at the most bottom node, the height is zero

Depth of a node (in trees)

The number of edges from the root to the node. - depth of root is zero

Recursive case

The other scenario in a recursive method, where another method call is made, moving closer and closer to the base case.

Star Network Topology

The star topology holds a stark contrast to the two previous topologies discussed, the ring and bus. While the ring creates a closed system with no central server and the bus has all devices communicate with each other through the main cable, the star has all computers connect to a central server (which can be another computer, a router, or a switch). This is the most commonly used network topology in today's society. It addresses the main concerns that arise from both ring and bus topologies. In a ring, each node is critical, and as such, the entire network can crash if a single computer malfunctions. In the star topology, if a computer connected to the central server crashes, there is no detrimental effect on any of the other computers communicating with the central server as well. In terms of the issues with the bus, there are two main ones that the star solves. The first issue is similar to that of the ring, where if one part of the bus is damaged, the entire network could be disrupted. Second, the star topology is less likely to result in slower speeds as more computers join since how far the data itself travels does not increase in a star when more computers connect.

Base Case

The terminating scenario in a recursive method that does not use recursion to produce an answer

Tree Network Topology

The tree network topology is a blend between the star topology and the bus topology. It is similar to the bus in the sense that there is a central backbone through which all data is transferred, and it is similar to the star in the sense that there is one central server which every other computer is ultimately connected to. This combination is also a common one in today's society, with the internet using a similar structure.

Access Provider (Variance in Speed of Data Transmission)

There are many different access providers when it comes to networks. Depending on the way a certain provider's software or hardware infrastructure is set up, a user's data transmission speed can fluctuate depending on their provider. Some providers offer faster speeds, while others are often affected by slower data transmission speeds.

Different methods of network security

There are three main methods of network security which consist of Encryption, UserID, and MAC address.

Describe the need for change management

There is a great need for change management. If new systems are not planned and implemented carefully, the company could suffer a great loss and fall behind in terms of money and in terms of meeting goals of higher performance and efficiency.

Interrupt Handling

This is a function in the OS or device driver which executes when it receives an interrupt. These are usually high priority and require the stopping of the code that the processor is currently executing. Examples of interrupts could be pressing keys on a keyboard or moving the mouse. The interrupt handlers read the key or mouse position and then place the associated information into the computer's memory. Once an interrupt is triggered, the interrupt handler first stores the current state of the process that is receiving the interrupt and places it in a stack. It then services the interrupt, then unstacks the interrupt stacks and resumes to its normal status.

Array to ArrayList Outline

This is a loop based algorithm that serves to convert from Array to ArrayList. For the loop it starts at i = 1 as long it is less than the length of the array and adds 1 to i each new loop. During this process element i is added to the ArrayList.

ArrayList to Array Outline

This is a loop based algorithm that serves to convert from ArrayList to Array. In this algorithm, a variable for size needs to be declared as zero. It then resets the ArrayList to start from its beginning. This is then followed by a loop that will keep on going while the DATA arrayList still has the next member inside of it. During this loop 1 is added to the size variable and it moves on to the next element of the ArrayList. When this loop is finished declare a new array of that has the size of the size variable and an int i as zero. The ArrayList is then reset again to start from the beginning. This is then followed by a loop that will keep on going while the DATA arrayList still has the next member inside of it. During this loop the next element of the array list is assigned to element i of the array. 1 is also added to i.

Binary Search Outline

This is a loop based searching process based off the "divide and conquer technique". It begins by declaring the left bound index to zero, and right bound index to the ArrayList length - 1. While the left bound is less than or equal to the right bound: the middle index is the left + right bounds over 2. If the target is the same as the middle element, then a value is returned indicating the target value has been found. Else if the target value is less than the middle element, then assign the value of the right bound to be the middle index - 1 (halves and narrows down the search area to look left). Else assign the value of the left bound to be the middle index + 1 (halves and narrows down the search area to look right). If nothing is found in all of the elements searched through the loop, then a value is returned indicating the target value has not been found.

Temperature

This is a sensor which measure the heat generated from an object. By measuring the change in heat the sensor is able to determine the temperature. This is found in devices such as chemical processes/reaction devices, central heating/air-con, greenhouses, ovens, refrigerators, freezers, etc.

Database management Systems

This is a software that helps organize databases through their creation and storage. The DBMS provides users and programmers with a systematic way to create, retrieve, update, delete, and manage data.

Bubble sort Outline

This is a sorting routine that uses a nested loop process to check and swap adjacent values. This algorithm begins with the declaration of a boolean variable to false which serves as an original entry into the while loop. The first loop will go continuously while the boolean equals false. Inside the loop the boolean is then set to true to assume that the list is sorted. For the second loop it starts at i = 1 as long it is less than the length of the array - 1 and adds 1 to i each new loop. This loop looks for out of order neighbors through the if statement. If element i+1 is less than element i, then the swap method is called upon where the array, i value and i+1 value are sent over. In this method the element i of the array is assigned to a temporary variable, element i+1 of the array is assigned to the element i of the array, and the temporary variable is assigned to element i+1 of the array. During the same if statement, the boolean value is set to be false. This is so that the looping process continues until the boolean stays true the entire loop.

Selection Sort Outline

This is a sorting routine that uses a nested loop process. For the first loop it starts at i = 0 as long as it is less than the length of the array and adds 1 to i each new loop. During this loop it will start off by assume that position k has the best value by assigning the k value to the best value. For the second loop it starts at j = i + 1 as long it is less than the length of the array and adds 1 to j each new loop. During this loop it searches the rest of the array for a better value through an if statement. If element j of the array is less than the best value, then the j value is now assigned to the best value. Once this middle loop has ended, the swap method is called upon where the array, i value and best value are sent over. In this method the element i of the array is assigned to a temporary variable, element j of the array is assigned to the element i of the array, and the temporary variable is assigned to element j of the array.

3G

This is an ITU or Internal Communication Union meaning that it is the third generation of cellular networking. This has been used to provide high data speeds, always-on data access, and greater voice capacity.

Scheduling

This is the process in which a certain task is assigned to the resource which will complete that task. An example of this task could be a certain process that is assigned to hardware resources such as processors, network links, or expansion cards. Scheduling of these tasks is managed through a process called time slicing where a certain amount of time is set for each process (for multi-user systems) or program (single-user system). These slices of time can be processed alternately which gives the illusion that multitasking is occurring. An example of how this algorithm would work is that process A is executed for 1 ms, process B is executed for 1 ms, process C is executed for 1 ms and then the cycle repeats (round-robin cycling list). Other algorithms which are used for scheduling are: priority-based, shortest period first (periodic tasks), earliest deadline first (used for tasks with deadlines), and least laxity first (used for tasks with deadlines).

Encryption

This is the process of transforming data so that is hard to interpret. This can be done by shifting the data by a certain amount, or replacing data with symbols which signify the same, etc. This provides a method for users to transmit data securely over a network so that if the network is intercepted the data will be interpreted in an encrypted format.

WiFi

This is usually a LAN network which is used to provide broad-band coverage inside the area of a building. Usually the transmission rate is about 50mbps over a distance of around 100 feet. One advantage that WiFi has over other wireless transmission is that it has high compatibility with various devices. However, WiFi does have some security issues.

Polling

This is when the OS waits for an external device to show that it's ready to start or not the process. An example of this is when a computer has to wait on a printer connected through a parallel port to receive the next character. The state of devices are shown as ready or busy-wait (0 or 1 assigned respectively). One disadvantage of this process, is that polling is a continuous process which can take a lot of the CPUs time will also requiring a lot of resources. This particularly disadvantageous when polling is done with multiple devices. However, there are polling algorithms which can improve efficiency such as wait-till-ready vs checking frequently. The better way to perform the the same job is through the interrupt process.

Presentation Layer

This layer provides various information to the application that the user is using - this includes information on data formatting, compression, and encryption. Example: PNG

Network Layer

This layer routes data packets along the network (when data packets are taking separate routes to their final location, the network layer forwards them along through other devices). Example: Routing & IP

Data Link Layer

This layer takes care of the error handling of physical transmissions. It deals with flow control, and adjusts transmission rates based on the receiver to best manage the data transmissions and keep it as efficient as possible. Example: Ethernet

Physical Layer

This layer transmits 0s and 1s between devices. Example: Cable systems

Evaluate Online/Remote Classrooms as a Method of Teaching

This method of teaching is done in more close knit groups where there is a class with a few people where there is either a teacher present or the teacher is communicating to the staff through a video communication software (skype, etc.). With this tight knit relationship between teacher and staff, the staff are able to converse freely about their problems and questions. The users are able to train under a program that matches all there needs and have the ability to get explanations that will allow them to understand everything about the system completely. However, having a system this efficient has the problem of being very expensive to put together. Having a large number of staff participate in the separate small classes will cost a lot of money to have the same resources for each group.

Evaluate Physical Classrooms as a Method of Teaching

This method of teaching is like any classroom experience where there is a teacher teaching everything that is to be known about the system to a group of people. Since this method is done in a big classroom, it is a very cheap way to get a large group of staff together in one room to train them all together. However, with large classes being held in these classrooms, the teacher has absolutely no time to spare consulting with each individual. So the individuals will have to figure out the problems and questions on there own or at a later time.

Relationship between the sensors, processors, and output transducers (I-P-O model)

This relationship can be explained through the basic I-P-O model. In this mode, sensors first take analog input and then convert it to digital data. This data is then processed by a microprocessor which produces a digital output. Then, using this output, output transducers turn the digital data back into analog data so that it can be used by 'real world' devices.

Multitasking

This the idea of allowing a user to perform multiple tasks at the same time. The OS is able to keep track of the different tasks and go between each other by using a method called content switching. An example of multitasking would be to open the web browser and Microsoft word and the same time.

WiMAX (Worldwide Interoperability for Microwave Access)

This wireless network is based on MAN technology (metropolitan area network) and it is a wireless network which is more optimized to be used over a wider area. This has similar operation to WiFi but performs better over long distances. Its wide area allows it to reach out to areas where it is even difficult to place wired infrastructure. Furthermore, WiMAX supports high bandwidth solutions.

Identify methods that can be used to improve the accessibility of systems

Touch Screen, Voice Recognition, Text-to-speech, Braille Keyboard, Puff-Sip

Applications of Recursion

Tower of Hanoi, Koch Snowflake, Fractals,

UserID Advantages and Disadvantages

UserID Advantages - 1. Serves as authentication 2. Different privileges of access can be set for different users 3. User groups can be created to manage the user rights in different batches UserID Disadvantages - 1. UserID can be stolen 2. Limits user access 3. Does not help with the intercepting of messages in the network

Computer as Client

Users use computers playing the role of a client in order to run applications and execute tasks on their system. When a computer is acting as a client in a network, this means that the computer is connecting to a server in order to gain access to certain files or resources, and at times, clients can communicate with servers to boost their own processing power. Clients can also connect to a server in order to gain access to or communicate with other devices that are connected to the same server.

Virtual Memory & Paging

Virtual Memory is when pages of data are temporarily transferred from RAM to the disk storage. Eventually the data that was transferred will need to be retrieved by the OS. With the RAM being full, the pages of data that were used need to be moved to the hard disk so there is room to bring the needed pages from the temporary disk storage. This process is known as paging or swapping and the temporary disk storage is called a page file or swap file. The swapping process is done by the MMU (memory manager unit) which is made of various algorithms to choose what needs to be switched out: Least recently used (LRU), Least frequently used (LFU), or most recently used (MRU). This paging process solves the error of external fragmentation by using fixed sized units in both virtual and physical memory. The pages are scattered through physical storage and have invisible mapping. The only way a program can access the memory is through the VAS (virtual address space) containing a list of memory addresses.

Selection Sort Algorithm

Void selection sort( pass-by-reference int [] list) for (int k = 0; k < list.length; k++) //k loop begins at position 0 and stops one position short of end of list Int best = k //assume that position k has best value for (int q = k + 1; q < list.length; q++) //q loop searches the rest of the array for a better value If (list[q] < list[best]) //if q indicates a better value best = q //best gets q End for //end q loop Swap (list, k, best) //swap values at position k and best End for //end k loop End selection sort //three step swap process Void swap (pass-by-reference int [] list, int i, int j) Int temp = list[i] list[i] = list[j] list[j] = temp End swap

Unicode

Was put in to replace ASCII to create an internationalization as there was not enough space left Represented in UTF-32, UTF-16 or UTF 8. UTF-32 is non-variable and only uses 32 bit, not commonly used. UTF-16 is variable and uses 16 and 32 bits. The most commonly used is UTF-8 as it is very variable being able to use 8, 16, 24 or 32 bits.

Computer as Web Server

Web servers work in conjunction with DNS systems to bring web pages to users. Web servers process incoming requests from clients primarily through Hypertext Transfer Protocol (HTTP). The main function of a web server is to store, process, and display web pages to clients, and the communication between clients and web servers takes place using HTTP.

Email Client

What allows you to recieve, view and manage your emails

Wireless NIC (Wireless Network Component)

What is needed inside of a computer in order to communicate with the router. Most computers come with one for wireless communication.

Computer as DNS

When a computer acts as a Domain Name Server (DNS), this means that it has been registered to join the Domain Name System. A DNS's main function is to translate domain names into IP addresses. The server acts as a large database - it contains a number of domain names and their associated IP addresses. This means that whenever a user types in a domain name into their search bar, their request eventually reaches the DNS where the server will return the associated IP address where a web server will display the final web page to the user. Since there is obviously more than one DNS that exists, if a certain DNS receives a user's request with a domain name and the DNS cannot locate the domain name's IP address, the server will pass on the domain name to another DNS until the correct IP address is eventually found or the connection is terminated.

Identify contexts for which a new system is planned

When a new system is planned, it is because a change has occurred with the company or client which uses the old system that renders the old system inefficient. Examples of changes that can occur to a company that will cause the planning of a new system include: 1) A new company appears selling the same product, offering the same service, etc. and has a very modern and upgraded system that surpasses the outdated service of the other company. The other company will now have to plan a new system that allows them to compete at the new company's level in order to prevent failure. 2) The old system a company has is outdated which prevents the company from either working at a fast pace or at all. Due to this old system slowing down the company, a new system should be planned. 3) The company has added a new section to itself that conflicts and does not work with the old system that was put in place. To make sure that the company is to work efficiently, a new system should be planned. 4) The company is not able to main the same quality in doing the same task over and over again with the old system, so a new system is needed to keep up with the demand that is needed to do this task properly. 5) The company has evolved and grown greatly over a period of time which means that the old system is unable to support such a heavy burden. A new system needs to be planned in order to account for the company's evolution and growth. 6) With the introduction of a variety of new technology, the old system is unable to present new possibilities using the new technology. A new system needs to be planned in order to take into account the use of new technology and allowing that technology to create new possibilities.

VPN Changes IP Address (Evaluation)

When connecting to a VPN, more often than not, the user's IP address is hidden. This is done by the VPN either concealing the IP address itself or by giving the user's device connected to the VPN a new IP address which can be used to carry out the user's online actions. This is very beneficial for the user, as they can access content without fear of having their IP addresses exposed. This could be used for keeping business transactions private or communicating online without having your identity exposed. While this is a benefit for the user, it can also be a drawback for other users or society as a whole. Changes in someone's IP address could mean that if someone commits criminal activity, it would become exponentially more difficult to track them. It also means that individuals can pretend to be someone else, which could grant them access to another person's sensitive information.

Binary to Hex

When given the binary one needs to separate Into groups of 4 and if the number of binary digits is not divsible by four add 0's to the left of the number. Once done with this convert the binary into the hex equivalent for each group

Exception Handling

When you write a function, you should make every effort to detect when a precondition has been violated Ex: Identify the pre-conditions for calculating the end-of-year employee bonus for those who have worked for the company for the whole year

Speed of Transmission (Wireless Network Disadvantage)

Wired networks are typically faster at transmitting data across devices connected to the network, meaning that wireless networks are at a slight disadvantage when it comes to speed of transmissions. As such, large wireless networks actually tend to have wired connections for the backbone of the system.

Flexibility (Wireless Network Advantage)

With the introduction of wireless networks, different styles of working, such as working from home, becomes a possibility. Essentially with the introduction of a wireless network, since work can still be done in different geographical areas as opposed to being wired to a single location, new styles of working can be introduced into businesses, thereby increasing workers' flexibility.

Privacy Example

With the popularity of the internet, arguably the most prevalent product of a networked world, more and more users depend on the internet for tasks everyday. With the number of users on the internet in the billions, companies' desire to harvest and analyze their data has only grown. Because of this, more and more private individuals are having their online data stolen, sold, and analyzed. As such, users' privacy has been put at extreme risk with the introduction of a networked world.

Range of Application Software

Word Processors, Spreadsheets, Database Management Systems, Email Client, Computer Aided Design (CAD), Graphic Processors, Web Browser

Precondition

a statement or set of statements that outlines a condition that should be true, or conditions that should be true, when the operation is called - The operation is not guaranteed to perform as it should unless the preconditions have been met an assertion that must be true in order for the operation to execute correctly: - The programmer assumes it to be true...and codes accordingly - The user must be sure in the code that it is met in order to use

Peripheral

auxiliary device that connects to a computer system to add functionality such as Input/Output; Examples are a mouse, keyboard, monitor, printer and scanner

interpreter

computer language processor that translates a program line-by-line (statement-by-statement) and carries out the specified actions in sequence.

Gantt Charts

gantt charts are widely used in business to describe and monitor all kinds of projects according to the rules of project management. It is a chart showing activities (tasks or events) displayed against time. A gantt chart shows you what has to be done (the activities) and when (the schedule). (Should be able to tell if Concurrency or Sequential) Creating Gantt Charts: - Linking Tasks - Adding Constraints - Including Resources - Enhancing Gantt Charts - Reviewing the project

Explain the need for higher level languages

here is a need for humans to be able to understand the machine level language.

Instruction Register

holds the instruction that is fetched

Representing integers in both positive and negative (two's compliment)

integers in a computer are represented in binary (1's and 0's). To be able to store a negative number a process called two's compliment is used. Based off the number of bits corresponding, one must invert the 1's and 0's of the given binary number. After doing this one must add one.

Pseudocode

is a notational system in which ideas can be expressed informally during the algorithm development process

Postcondition

is a statement or statements describing the condition that will be true when the operation has completed its task - If the operation is correct and the pre-condition(s) met, then the post-condition is guaranteed to be true. an assertion that prevails upon completion of the operation i.e. a description of the results of the actions performed by the operation. It must be accurately and precisely stated: - The programmer must make it (through the code) true - The user assumes it will be true

Computer Program

is a syntax-oriented representation of an algorithm

Number of Rows in a 2D Array (also length of column)

list.length

Number of Columns in a 2D Array (also length of row)

list[0].length

Bytes

made up of 8 bits, 1024 bytes = kilobyte (same going up the scale)

Data representation

makes it possible to convert letters, sounds, and images into a form computers can understand. (Use the binary system (1s and 0s).

Dequeue Method

public static int dequeue(int[] queue) { int element = queue[front]; queue[front] = 0; front = (front+1) % (queue.length); pointer--; return element; }

Queue display method

public static void display(int[] queue) { System.out.print("Queue: "); int tempFront = front; for(int i=0; i<queue.length ; i++) { if(tempFront != back) { System.out.print(queue[tempFront] + " "); tempFront = (tempFront + 1) % queue.length; } else { System.out.print(queue[back] + " "); break; } } System.out.println(); }

stack display method

public static void display(int[] stack) { System.out.print("Stack: "); for(int i = pointer-1; i >= 0; i--) { System.out.print(stack[i] + " "); } System.out.println(); }

Enqueue method

public static void enqueue(int[] queue, int enqueueValue) { System.out.println("The number " + enqueueValue + " is being added to the back of the queue"); back = (back+1) % (queue.length); queue[back] = enqueueValue; pointer++; }

Print 2D array into a square Methods

public static void printArray(int[][] numberArray) { final int SINGLE_DIGIT_LIMIT = 10; for(int i = 0; i < numberArray.length; i++) { for(int j = 0; j < numberArray[0].length; j++) { if(numberArray[i][j] < SINGLE_DIGIT_LIMIT) { System.out.print(numberArray[i][j] + " "); } else { System.out.print(numberArray[i][j] + " "); } } System.out.println(); } System.out.println(); }

Shuffle 2D Array

public static void shuffleArray(int[][] numberArray) { for(int i = 0; i < numberArray.length; i++) { for(int j = 0; j < numberArray[0].length; j++) { int randomRow = (int) (Math.random() * numberArray.length); int randomColumn = (int) (Math.random() * numberArray.length); int temp = numberArray[randomRow] [randomColumn]; numberArray[randomRow][randomColumn] = numberArray[i][j]; numberArray[i][j] = temp; } } }

Swap Columns in 2D Array

public static void swapColumns(int[][] numberArray, int firstColumn, int secondColumn) { for(int r = 0; r < numberArray.length;ri++) { int temp = numberArray[r][firstColumn]; numberArray[r][firstColumn] = numberArray[r] [secondColumn]; numberArray[r][secondColumn] = temp; } }

Swap Rows in 2D Array

public static void swapRows(int[][] numberArray, int firstRow, int secondRow) { for(int c = 0; c < numberArray[0].length; c++) { int temp = numberArray[firstRow][c]; numberArray[firstRow][c] = numberArray[secondRow][c]; numberArray[secondRow][c] = temp; } }

Linked List Add Node Method

public void addNode(int newBus) { Node position = head; Node temp = new Node(newBus, null); if(position!=null) { if(head.item > temp.item) { temp.next = head; head = temp; } else { while (position.next != null && position.next.item < newBus) { position = position.next; } temp.next = position.next; position.next = temp; } } else { head = temp; } }

Linked List Delete Node Method

public void deleteNode(int deletedBus) { Node position = head; if(position!=null) { if(deletedBus==position.item) { head = position.next; } else { while (position.next != null && position.next.item != deletedBus) { position = position.next; } if(position.next!=null) { position.next=position.next.next; } else { System.out.println("not found"); } } } else { System.out.println("not found"); } }

Modularity

refers to the concept of making multiple modules first and then linking and combining them to form a complete system.

Human resources

the personnel of a business or organization, especially when regarded as a significant asset

Human Resources

the personnel of a business or organization, especially when regarded as a significant asset.

Binary Search Description

the process of searching through an ordered set of data using the "divide and conquer" technique, which guarantees a final result in O(log N) steps. This search process is very efficient but has one important precondition: the incoming list must be in sorted order

O(N log N)

this running time is a product of N and log N, which means that a process that is measured at this efficiency uses a combination of "divide and conquer" with N steps, resulting in the N times log N total steps - For a data set of 128 items, which we discussed above as having a log N of 7 steps, the product of 128 and 7 is 896 steps, which means that this process would take that many steps to complete - Compared to an O(N^2) process using the same N value of 128 data items requiring 128 tunes 128 more than 16,000 steps, 896 steps is very efficient in comparison - This running time is less efficient than O(N), but more efficient than O(N^2)

Merge Two Halves back in natural order (one list)

void oneMerge(int[] list, int front, int mid, int back, int[] temp) { int i = front; int j = mid + 1; int k = front; while(i <= mid && j <=back) { if(list[i] < list[j]) { temp[k] = list[i]; i++; } else { temp[k] = list[j]; j++; } k++; } while(i <= mid) { temp[k] = list[i]; k++; i++; } while(j <= back) { temp[k] = list[j]; j++; k++; } for(int x = front; x <= back; x++) { list[x] = temp[x]; } }

Merge Two Halves back in natural order (two lists)

void twoMerge(int[] firstHalfList, int[] secondHalfList, int[] finalList) { int i = 0; int j = 0; int k = 0; while(i < firstHalfList.length && j < secondHalfList.length) { if(firstHalfList[i] < secondHalfList[j]) { finalList[k] = firstHalfList[i]; i++; } else { finalList[k] = secondHalfList[j]; j++; } k++; } while(i < firstHalfList.length) { finalList[k] = firstHalfList[i]; k++; i++; } while(j < secondHalfList.length) { finalList[k] = secondHalfList.[j]; j++; k++; }


Ensembles d'études connexes

Architect's HandBook of Professional Practice: Objective 1.1

View Set

Fundamental of Nursing Course Point Quiz Ch.1

View Set

Saunders - Mental Health Questions w/ Rationale

View Set

Chapter 20: Drugs for Parkinson's Disease and Alzheimer Disease

View Set

PrepU 31: Assessment and Management of Patients with Hypertension

View Set

Upper Extremity Close/Open pack positions

View Set

CPH - Social and Behavioral Sciences

View Set