Published using Google Docs
Final CS Paper 1
Updated automatically every 5 minutes

System Fundamentals

Define the terms: hardware, software, peripheral, network, human resources.

Hardware

Software

Peripheral

Network

Human Resources

Describe the roles that a computer can take in a networked world.

Client

Server

DNS Server

Dynamic Host Configuration Protocol (DHCP) Server

Email Server

Router

Firewall

Describe the purpose of the following hardware components of a network: (i) Router [2]

The router uses a protocol;

to determine which data packets are to be routed to certain interfaces within the network;

(ii) Network interface card (NIC)

Network interface cards are used to connect each computer to the network; so they can communicate with the network router to receive information packets;

Identify roles that a computer can perform in a network (Exam Answer):

Client;

Server;

Router;

Firewall;

Network security method (Exam Answer):

Encryption; UserID; Trusted MAC addresses;

Outline two ways in which access to sensitive data can be managed. (Exam Answer):

Access rights;

For different groups of people or computers even;

User id and password;

Only authorized users can access;

File systems should be encrypted (as it passes throughout a network / resides on computers); to make data unusable if accessed by unauthorized user;

Outline two ways to improve the security of the company’s network (Exam Answer):

Each user should have a user ID and a personal password;

Passwords should be regularly changed;

In order to prevent intruders/strangers from accessing the company's network; the router is set to accept only specific MAC addresses;

Role of a Router in a Network Exam Answer:

controls the flow of data in the network;

inspects address of data packets;

directs to the appropriate network path/ selects a path between networks (by inspecting address of data packets);

securely transmits data packets (across that path toward the intended destination);

Evaluate the use of trusted media access control (MAC) addresses as one method of network security (Exam Answer).

Each (wireless network) adapter has a unique label called a MAC address;

Routers uses these addresses to identify/authenticate computers (routers include an option to whitelist or blacklist certain devices based on MAC addresses, so access could be restricted to any device which is not in the whitelist);

One disadvantage is that the whitelist should be amended any time a new device is purchased / when access to guests should be granted;

Also this method is useless against hackers who use programs which intercept data passing through network and report the MAC address of any device communicating on the network;

Ethics

The company is considering sharing its customers’ data with marketing organizations. (d) Explain why there could be ethical issues for the company when sharing its customers’ data.

privacy of customer/ person data;

company needs to gain permission from customer;

customer would need to be able to view all data details;

customer must be informed about all uses that will be made of data;

customer must be informed to whom data will be disclosed. legal issues to do with unauthorized disclosure of customer data;

Identify the context for which a new system is planned

Purpose

Users:

Environment:

Constraints:

Requirements:

Identify the relevant stakeholders when planning a new system.

Customers:

Employees:

Management:

Investors:

Suppliers:

Regulators:

Describe methods of obtaining requirements from stakeholders.

Surveys

Interviews

Direct Observations

Outline, Exam Answer:

Surveys;

(General) questions distributed to many stakeholders as a written or online document;

Interviews;

(Specific) questions asked of nominated stakeholders in an individual setting;

Direct observations;

Observer watches stakeholders performing their current tasks;

Direct Observation (Exam Answer):

Advantages

Direct observation is systematic/structured process;

Direct observation allows the current computer system to be studied in its natural setting;

Direct observation provides a better understanding of the way a computer system is used;

Disadvantages

Direct observation is susceptible to observer bias;

Direct observation also can affect the behavior of users/process being observed;

Direct observation is time consuming;

Surveys Advantages and Disadvantages (Exam Answer):

Advantages:

Surveys allow analysts to obtain appropriate information quickly;

from a large number of persons / stakeholders;

Standardized question formats are prepared;

that can provide data that can be easily quantified/allow quantitative analysis (the success of a survey depends on the effectiveness of questions);

The use of standardized formats; minimizes the risk of the analyst adding their opinion; Survey is a straightforward/easy/practical way of gathering data;

it can be distributed using various methods (printed copies, e-mail, embedded in a website, online forms)

Surveys allow greater anonymity for respondents;

which can lead to more honest responses;

Disadvantage:
Poorly designed surveys;

May make it difficult to analyse the data;

(Response may be limited/not all questions answered / not all forms will be returned; Can be challenging to analyse the collected data ;)

Questions in the survey were not effective;

Can be differences in how people understand the survey questions; Data gathered cannot be quantified;

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

Examining Current Systems

Examining Competing Products

Organizational Capabilities

Literature Searches

Exam Answer:

Examining current systems (using interviews/ surveys/direct observation);

To compare the existing system against possible requirements to identify missing features;

Examining competing products;

To compare own system with competitors to enable decisions on features to add;

Review of organizational capabilities;

To determine how well the organization manages resources to gain an advantage over competitors;

Literature searches;

To research current methods and to help inform development choices;

Construct suitable representations to illustrate system requirements

Use Cases

User Stories

Requirement Specification

Requirements Traceability Matrix

Prototypes

Flowcharts

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

Exam Answer:

Discuss the importance of iteration during the design process

Iteration in the design process

Identifying and Correcting Flaws

Incorporating Feedback

Adapting to Change

Refining and Improving Solutions

Exam Answer:

Testing is important (at every stage) to make sure the system operates in line with user requirements/as intended;

Another cycle of analysis and design might be needed because the stakeholder could ask for modifications;

because errors or omissions are found that need to be corrected;

To prevent the end user being dissatisfied with the final system;

to reduce time delay/ using more resources / avoid higher cost;

new/different features could be added that affect the current design;

which affects the costs/ delivery time / hardware requirements/ contributes significantly to system quality and performance;

Why should a product be thoroughly tested before deployment (Exam Answer):

so that it functions the way it is supposed to;

so that it meets its design specifications functions;

to eliminate any errors/bugs;

so that the speed/capacity/compatibility issues are solved;

so that all security features are configured and enabled;

because wrong/incorrect/stolen information could have serious consequences for its customers (accept an actual consequence);

because wrong information could harm the company’s reputation / loss of earnings / sued/ etc;

Describe the need for change management.

Change Management

  1. Helps prevent unintended consequences of changes to a system. Carefully reviewing changes reduces the risk of new errors being introduced.
  2. Helps maintain the integrity of the system. Through controlling the introduction of changes, the system is kept in a stable state, crucial for maintaining the reliability of its performance.
  3. Helps ensure that changes are properly documented and communicated to all relevant parties. This ensures everyone is aware of the changes and how they might affect the system.
  4. Helps facilitate the efficient implementation of changes to the system. Through following a structured process of reviewing upcoming changes, the implementation of the change is streamlined.

Things to Consider within Change Management (Exam Answer):

Context - An international organization is moving its offices from Africa to Europe. All of its data will need to be moved to a new system.

Issues with personnel;

such as redundancy/retraining/employee not willing to move to Europe, etc.;

Changeover decisions;

such as direct changeover/ parallel running etc;

Time needed;

for merging/aligning the two systems;

Costs involved;

in the aligning of the two systems/ in the changeover period of time/ for buying new software or hardware/ cost for additional working hours/ cost of additional staff;

Testing;

Of the new systems with the new data;

Data entry;

If migration not possible/ cost and time involved;

Compatibility issues that may arise from an international business merger (Exam Answer):

Data representation differences / different data structures (e.g., date format, incompatible file formats);

Incompatible hardware;

Incompatible operating systems / different software versions;

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

  1. Incompatibility of hardware and software: The new system may use hardware or software that is not compatible with the legacy system.
  2. Incompatibility of data formats: the new system may uses data formats that are not compatible with the existing system, in such case it may be necessary to convert the data to enable compatibility.
  3. Incompatibility of protocols: The new system may use protocols that are incompatible with the existing system, in such case protocol conversion may be necessary to enable compatibility.
  4. Incompatibility of processes: The new system may use processes that are incompatible with the existing system, in such cases modifying the processes may be necessary to enable compatibility.
  5. Incompatibility of user interfaces: If the new system has a user interface significantly different from the existing system, it may be difficult for users to adapt to the new system, this may create the need for user training or other support so that users can use the new system effectively.

Problems w Maintaining a Legacy System (Exam Answer):

Applications in the legacy/outdated system do not have upgrades;

Documentation of the legacy system might be missing/incomplete/unreliable;

Data cannot be converted to newer formats;

Legacy systems are typically large and complex systems/ mainframes, so programs might be disorganized/hard to understand/expensive to change;

It may be difficult to find system engineers/ employees/ programmers familiar with the old programming languages/ old operating systems to maintain the system;

Suggest various types of testing.

Acceptance Testing

Beta Testing

Why is used Exam Answer:

Testers outside the organization use the operating system in a “real world” setting; Enables feedback to be given to the developers;

So that the software can be improved/corrected/debugged;

Before it is finally released;

“Real world” testers may find more bugs as the system is used in ways not originally intended / tested;

 

Debugging

Evaluate alternative installation processes

Parallel 

Advantages

Disadvantages

Use case: a hospital replacing a heart rate monitor for a patient

Why Parallel Running Is an Expensive Changeover Method (Exam Answer):

Two systems will be run simultaneously so that operations are not disrupted, this is a costly operation;

Because both systems and all their resources need to be maintained/run at the same time;

Data migration has many risks/is a complex process so the costs to implement it correctly are high because of additional costs due to delays /lost time/data entry;

The decision on when and whether the new system is ready to remove the old one depends on the testing and validation of the new system, which includes some additional costs associated with the testing/validation of the system;

Other suitable answer*

Phased

Advantages

Disadvantages

Pilot

Advantages

Disadvantages

Direct

Advantages

Disadvantages

Exam Answer:

Compare Direct with Parallel Implementation (Exam Answer):

there is no extra cost;                                                                                 for running two systems/for extra salaries (no need to increase the number of employees);

benefits can be gained immediately;                                                         because new system is better than the old;

if there is a bug in the new system;                                                                 there is not a second system to fall back on/could be disastrous for the company;

employees will need to be capable of using the new system immediately;                 without training/with training in advance but not on the system;

Discuss problems that may arise as a part of data migration.

Data Migration

Issues That May Arise During Data Migration

  1. Data Loss: There is a risk of data loss during migration due to several reasons such as network issues, hardware failures or data corruption
  2. Compatibility Issues: The source and destination system may use different data formats which may create data compatibility issues.
  3. Data Integrity: Data integrity issues may arise when the migrated data is not consistent with the original data.
  4. Performance Issues: The migrated data may not be optimized for the destination system.
  5. Security Risks: There is a risk of unauthorized access of the data during migration.
  6. Dependencies: There may be dependencies between the data elements that are not taken into account during migration.
  7. Complexity: Migrating large amounts of data may be complex and require additional resources.

Exam Answer

Different languages used;

Which leads to translation/communication issues;

Different character sets used;

Which could lead to inconsistent/incorrect results;

Incompatible file formats;

Which could lead to incomplete or incorrect data transfer / data loss;

Different file structures / different employee records;

Which will result in a mismatch of data/ incorrect data;

Compare the implementation of systems using a client’s hardware with hosting systems remotely

Implementation Using Clients Hardware:

Hosting System Remotely

Describe the importance of user documentation.

Important because it teaches users:

  1. How to use the software.
  2. The features of the software
  3. The tips and tricks of the software
  4. How to resolve common issues.

Markscheme:

State the importance of Technical (NOT USER) Documentation Exam Answer:

Technical documentation explains how to install software;

Technical documentation describes the hardware configuration/operating system needed (to install this software);

Evaluate different methods of providing user documentation.

Method

Advantages

Disadvantages

Help Files

  • User friendly
  • Fast
  • Accessible online
  • Not detailed
  • Users might not know what to search for.

Online Support

  • Large amount of info
  • Easy to update
  • Accessible on any device
  • Fast
  • Needs an internet connection

Printed Manuals

  • Easy to find
  • You can browse through them
  • They work with computers
  • Slow
  • Can be lost/destroyed
  • Can’t be updated.

Evaluate different methods of delivering user training.

Method

Advantages

Disadvantages

Self Instruction

  • Cheap
  • Flexible
  • Lower time investment
  • You can start using the system very quickly
  • You may not learn everything
  • You don't have an expert to inquire
  • You may learn incorrectly

Formal Classes

  • You gain in-depth knowledge and skills through sequential learning
  • You can ask questions to experts
  • Saves time in the future
  • You receive a legitimate certificate
  • Expensive
  • Time consuming
  • You may get a bad teacher

Online Learning

  • Personalized training providing in-depth knowledge and skills through sequential learning
  • You can ask questions to an expert
  • Saves time in the future
  • You receive a certificate
  • Expensive
  • Time consuming
  • Requires an internet connection.

Identify a range of causes of data loss.

Malicious Activity - deliberate or accidental sabotage by a person.

Natural disaster - Destroyed systems through floods, storms and other natural disasters.

System Failure - Hardware or software malfunctions

Exam Answer:

Malicious activities;

An unauthorized user gaining access to data and deleting/altering it;

Natural disasters / earthquake / storm / power loss;

Causing the system to crash and destroy data;

Malware/viruses/spyware/worms;

Which infiltrate and damage the data;

Human error;

Accidental deletion/overwriting of files;

How can corrupted data be recovered (Exam Answer):

Restore files from a backed-up data file;

ensuring it is a recent copy to minimize loss;

a parallel/failover system could be operated;

that could be switched to (if the live system is corrupt);

data recovery software could be (installed and) run;

to repair corrupted files;

Describe one way offsite storage can be used to prevent data loss (Exam Answer).

copies of all important data files (backup) could be placed on two separate hardware devices;

which are placed in two different physical locations;

a remote file server could be set up;

for uploading all important data files;

internet backup service could automatically back up (all important) data files;

to a remote server that could be accessed/controlled over the internet;

Outline the consequences of data loss in a specified situation.

Valuable Data Lost

Financial Loss

Confidential Data

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

Back-Ups

Redundancy

Replicating Data

Data-Encryption

Data-Governance

User-Training

Data Loss Prevention Software

Exam Answer:

Copies of backup could be kept off-site/cloud backup;

Unlikely that the other site would be affected by the natural disaster/can be reloaded/reinstalled if needed;

Incremental backup only backs up data that has changed;

Therefore, requiring less storage capacity / can be completed more quickly than a complete backup;

Failover system/mirrored system/disk mirroring;

A duplicate copy to be used in the event the main system fails;

Describe strategies for managing releases and updates.

Manual Updates

Automatic Update

Manual Strategies:

  1. Phased Release – Gradual rollout of updates to specific user groups to monitor performance and catch issues before a full deployment.
  2. User Surveys & Feedback – Directly collecting user feedback through surveys, interviews, or forums to evaluate the effectiveness of updates.
  3. Feature Toggles (Feature Flags) – a technique that allows dynamic activation or deactivation of features in real time without requiring new code.

Automatic Strategies:

  1. Incremental Deployment – Small, frequent updates are automatically deployed to reduce risk and ensure continuous improvements.
  2. Rolling Release – A continuous update model where new features or fixes are deployed as soon as they are ready, eliminating traditional versioned releases.
  3. Feature Toggles (Feature Flags) – Often automated, allowing dynamic activation or deactivation of features in real time without requiring new code.
  4. A/B Testing (Split Testing) – A method where different user groups receive different versions of a feature to analyze which performs better, often automated.
  5. Scheduled Maintenance Windows – A designated time period when system updates are deployed, usually automated to minimize downtime.
  6. Backward Compatibility – Ensuring new updates do not break existing functionality by using automated versioning and testing techniques.

The ways users can be notified about software updates (Exam Answer):

A message can be sent to the user (When the software is installed and registered, the user provides an email address / phone number);

With a link to the update;

notifications/alerts are sent to the computer (a cookie is placed on the user's computer which communicates with the software developer);

about automatic updates;

(when the program is run) it queries a URL the program developer has built in to check whether the current version matches the latest version;

if not, notifications/alerts are sent;

Define the term usability.

Usability

Identify two usability factors that need to be considered in the design of a website (exam answer).

complexity / simplicity / amount of effort to get a result / number of errors with the time taken to move past them;

readability / comprehensibility / reading or writing speed;

learnability / time to accomplish tasks on the first use;

effectiveness ( user performance);

efficiency (time needed to complete a task);

Identify a range of usability problems with commonly used digital devices

Mobile Phones

Laptops

Tablets

Smartwatches

Gaming Device

Outline one reason why visual displays on a computer screen can create difficulties for some people (exam answer).

Visual display design is not logical;

workflows are not simple, and do not require as few interactions as possible to complete;

Visual display design is not consistent;

navigation, header, footer, and main content are not always in the same places;

Visual display design is not usable as possible;

tools are not easy to use, processes are not broken down into logical steps;

People with poor eye-sight/color blind can have difficulties to distinguish;

because of the way graphics, words and directions are used / combinations of some colours (eg, red and green);

Describe two issues resulting from the website being viewed on various devices, such as desktops and smartphones.

Most mobile displays currently have screens with fewer pixels than desktop displays and are physically smaller; typing on small on-screen keyboards is difficult; less precision (clicking a 12-pixel-high text link with a mouse is no problem but tapping the same link with fingers could be difficult); there is no mouse pointer so there is no concept of "hovering" over a page element/ remaining in an uncertain state; most modern touch screens allow zooming; allow the user to perform gestures using one or more fingers, such as swiping/pinching;

Identify methods that can be used to improve the accessibility of a system.

MacOs

Windows

Touch screens; Voice recognition; Text-to-speech; Braille keyboard A colour-blind option Large font option

Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machines

Key Ideas

Who/what is affected by this issue?

What are the possible benefits for those affected?

What are the possible harms for those affected?

Which option(s) will produce the most good and least harm?

If one is harmed and other benefits, how do you decide who or what matters most

Computer Organization

Central Processing Unit (CPU)

Why a single processor may not be able render 3d graphics effectively:

A single processor is not able to handle parallel processing

Arithmetic Logic Unit (ALU)

Control Unit

Registers

Purpose of the MAR (Exam Answer):

The MAR holds the memory location of data/instructions;

…that need to be accessed (read/write) (fetch/store);

It is a register inside the CPU (central processing unit) that holds the address of a memory location where data needs to be:

Another version:

MAR (is a register in the CPU that) stores the address of the (next) instruction/data; to be read from/written to RAM;

Purpose of MDR in Machine Instruction Cycle:

Holds (a copy of) the contents of the memory

That is to be transferred between memory and other CPU parts;

The MDR allows the CPU to work at its own speed without being affected by the difference in speed of memory operations.

Primary Memory

Characteristics

Cache Memory

Exam Answer:

Cache memory is a small-sized type of volatile computer memory;

that provides high-speed data access to a processor;

and stores frequently used computer programs, applications and data;

Thus, when a processor requests data that already has an instance in the cache memory;

it does not need to go to the main memory or the hard disk to fetch the data;

Machine Instruction Cycle

  1. Fetch the Instruction: The next instruction is fetched from the MAR  and stored in the instruction register (IR).
  2. Decode the Instruction: The control unit (CU) decodes the instruction.
  3. Execute: The control unit (CU) sends the decoded instruction to the ALU through a series of control signals.
  4. Store: The result of the operations is stored in an appropriate storage location.

Explain the roles of the data and address bus in the MIC (Exam Answer):

data bus and address bus enable a processor to communicate with the primary memory; When the computer processor needs to fetch an instruction from the memory it uses the address bus to specify the (physical) address (of the memory block it needs to access);

It will get the data from (the specific) memory (block) (after checking the address bus to get the read address);

And then it will place this data on to the data bus/data bus carries the data;

When the processor wants to store results of execution to the memory it will set the write address on the address bus;

And put the data/results/to be written to memory on to the data bus (to carry this data);

Persistent Storage

The purpose of persistent storage (Exam Answer):

To store programs / files / data in a non-volatile device so it isn’t lost;

Stores more data as it has a larger capacity;

Difference between primary and secondary memory (Exam Answer):

Primary storage is accessed by a computer's central processing unit (CPU) and secondary storage is not accessed directly by the CPU; Primary storage has lower access time / has smaller capacity/ more expensive type of memory than secondary storage (which is slower than primary storage, with larger capacity but it is cheaper); Primary storage is volatile (uses random-access memory (RAM), cache memory, or some other specialized hardware to store data while the computer is powered on/ volatile devices), whilst secondary storage on a computer is provided by non-volatile devices (such as SSD or HDD); Primary storage holds data temporarily whilst data is kept permanently/ for a long time in secondary storage; Primary storage holds currently running programs/data/operating system, secondary storage does not;

Operating System (OS)

Explain the importance of Memory Management in the Function of OSs (Exam Answer):

Describe how an operating system uses paging when running a program Exam Answer.

memory management method that uses secondary memory to increase the amount of primary memory;

transfers data blocks of the same size (“pages”);

from secondary storage to main storage when they are required;

and returns them to secondary storage when they are not;

Explain how an operating system manages peripherals. (Exam Answer):

The operating system (OS) manages all peripheral devices by keeping track of them through an input/output (I/O) controller. It decides which process gets access to a device, for how long, and allocates or deallocates the device accordingly. Communication between the OS and the hardware is handled using device drivers and the basic input/output system (BIOS). Every peripheral device requires a specific driver that translates high-level OS instructions into low-level commands or signals the hardware can understand. These drivers may be built into the OS or installed separately when new hardware is added. Without the appropriate driver, the OS cannot communicate with the device. Device drivers are essential for peripherals such as keyboards, mice, printers, disk drives, and graphics cards. They operate in kernel space—the core part of the OS that interacts directly with hardware—and implement low-level functions like open, close, read, and write. Programs running in user space make system calls to these driver functions, enabling communication between software applications and physical devices.

Example answer:

An OS manages peripherals via their respective drivers;

For example, sound card drivers; are necessary so the OS knows exactly how to translate the 1s and 0s (that comprise the MP3 file) into audio signals;

that the sound card can output to headphones / speakers;

Explain how the operating system ensures that each customer’s data is secure when multiple users are accessing the data at the same time.

OS (memory management function) allocates / deallocates memory to each process/customer task, and guarantee each customer task the resources it needs to run correctly;

moves processes back and forth between main memory and secondary memory during execution to prevent overwriting / accidental interchange;

OS (hardware memory protection- part of an OS) isolates/protects customer’s data/applications;

and control access rights to the specified memory area (for example, prevents write access to the memory which is not allocated to the process/ customer task); and protects data / applications when in memory / RAM from malicious code (prevents attempts to execute the contents of the partition/ allocated memory);

Explain the role of the operating system (OS) in terms of managing the hardware resources (Exam Answer).

OS controls all the activities of computer system and acts as an interface between user and hardware;

Thus the role of OS is to keep track of who is using which resource;

to grant resource requests;

to mediate conflicting requests from different users/programs;

to allocate time to different programs or different users/ each one gets their turn to use that resource (for example printer);

to allocate space for different users, each one gets a part of the resource (for example sharing main memory/ hard disk);

Full Marks Answer:

The operating system manages hardware resources by keeping track of which programs are using which resources at any time;

It allocates CPU time to different programs, ensuring that each gets its turn (e.g., through scheduling);

It mediates conflicting resource requests, deciding which program can access a device when multiple programs request it;

It allocates memory and storage space, allowing multiple programs or users to share these resources effectively without interference.

Virtual Memory Advantages and Disadvantages (Exam Answer):

Allows more applications to run than there is available physical memory;

By the use of page/swap files/part of hard disk as primary memory;

Larger application can run;

With less real RAM;

Applications run more slowly;

Uses hard drive memory as primary memory / takes more time to switch between applications;

 

When a computer's virtual memory resources are overused /Reduced amount of hard drive space available for your use;

programs lock-up/do not run/disk thrashing;

Distinguish between the use of time slicing and priorities in the scheduling of processes by an operating system. (Exam Answer):

Prioritizing enables execution of the (highest priority) process until a higher priority task enters;

The OS/scheduler put processes (jobs) in the right place in a queue in order of priority (accept examples, an I/O operation has higher priority than calculations because it uses less CPU time);

Time slicing allows process to execute for a fixed time;

After each time slice, the scheduler is triggered to decide which process should run next, ensuring that all processes get a fair share of CPU time and that no single process monopolizes the processor.

Outline the function of the OS in managing primary memory (Exam Answer):

OS ensures the availability of adequate memory for data structures/objects of each running program at all times;

By allocating the memory portions to programs after freeing the space (of the computer memory);

OS (memory management unit) uses virtual memory which provides secondary memory (external storage) for program that does not have enough space in RAM for execution;

After execution of the program this memory is reallocated (used by other programs)/freed;

Identify two reasons why patches may be necessary for an operating system. (Exam Answer):

Allows bugs/error in operating system to be repaired; Allows new features to be added to operating system (such as security updates, improving functionality, improving usability, etc.); Allows compatibility issues to be improved;

Identify two methods that can be used to obtain these patches (Exam Answer).

Automatic patches/updates sent (via internet);

User requested updates (via internet);

Patches sent on CD/DVD/memory stick;

General Application software

Word Processor

Spreadsheet

Web Browser

Common Features of Applications

Features of a GUI

Menus; Dialogue boxes; Windows; Icons; Pointers; Buttons;

Binary

Data Representation

Integers

Characters

Strings

Colors

Exam Answer:

State why hexadecimal numbers are frequently used in computing (Exam Answer):

Hexadecimal numbers are used for shorter representation of data because a (modern) byte can be represented exactly by two hexadecimal digits; Hexadecimal numbers are used for shorter representation of data, because computers store and handle binary digits, and four binary digits make one hexadecimal digit;

State the number of bits used to represent a non-primary colour, such as yellow

24;

State the maximum number of colours that can be represented in a computer pixel.

256 x 256 x 256

Image

SOUND

3. Analog-to-Digital Conversion (ADC)

This is the critical moment when it becomes “computer-readable.”

Two key steps here:

📊 Result: A list of numbers!

Each number represents the amplitude (volume level) of the sound at a specific moment in time.


💾 How It’s Stored

These samples get saved in digital audio formats like:

Decimal to Binary

Binary to Decimal

Binary to Hexadecimal

AND Truth Table (Needs to be both 1 to be 1)

A

B

A AND B

0

0

0

0

1

0

1

0

0

1

1

1

OR Truth Table (only one 1 is needed for 1)

A

B

A or B

0

0

0

0

1

1

1

0

1

1

1

1

NOT Truth Table

A

Not A

0

1

1

0

NAND Truth Table (Only two 1 makes 0)(Opposite of AND)

A

B

A or B

0

0

1

0

1

1

1

0

1

1

1

0

NOR Truth Table (Only two 0 makes 1)(Opposite of 1)

A

B

A or B

0

0

1

0

1

0

1

0

0

1

1

0

XOR Truth Table (if values are same output 0 otherwise output is 1)

A

B

A or B

0

0

0

0

1

1

1

0

1

1

1

0

A

B

C

D

E

F

G

0

0

0

0

0

0

1

0

0

1

0

1

0

1

0

1

0

1

0

0

1

0

1

1

1

1

1

0

1

0

0

1

0

0

1

1

0

1

1

1

1

0

1

1

0

1

0

0

1

1

1

1

1

1

1

0

Networks

Computer Network

A group of computers and other computing hardware devices that are linked together through communication channels/cables/wirelessly;

To enable communication (sharing files, sharing information) between systems/among a wide range of users;

Local Area Network (LAN)

Wide Area Network (WAN)

Virtual Local Area Network (VLAN)

Storage Area Network (SAN)

Wireless Local Area Network (WLAN)

Internet

Intranet

Extranet

Virtual Private Network (VPN)

Personal Area Network (PAN)

Peer to Peer (P2P)

Differences between WAN and LAN (Exam Answer):

Network Standards For Constructing Networks

Breaking Down Communication

Outline the concept of the Open Systems Interconnection (OSI) model in communication across a network (Exam Answer)

The OSI is a standardized model for network connection;

Consists of (7) layers;

Each dealing with specific parts of network communication;

For example, the physical layer which defines the physical connection;

OSI Model

Packet

Reasons for which the Speed of Data Transmission Over a Network may Vary

Exam Answer:

The speed of data transmission (on a wireless network) slows down;

The further the receiver is from the transmitter;

 Passing through obstructions such as solid walls;

Can slow down transmissions (on a wireless network);

The bandwidth available for transmission on a wireless network is finite;

So, transmission speeds can be affected if the number of users on the network increases;

Outline two reasons why there might be a reduction in data transmission speed at certain times (exam answer).

malicious software/spyware/malware / viruses; attacking the system;

the type of connection;

valid outline for the slow down (depending on the type of connection);

Note: There are many types of internet connection: wireless connections, wireless hotspots, mobile internet, broadband connections, fixed wireless and satellite connection, cable, DSL;

hardware malfunction;

internet speed can considerably slow down if modem-router configuration is not correct / updated;

external factors;

during the peak hours of daytime the most visited websites encounter more network traffic than what has been anticipated;

Advantages of Wireless Networks

Disadvantages

Hardware Components

Describe two hardware components the school will need to implement the wireless network. (EXAM Answer):

(Wireless) router;

A central hub for all the computers to connect to;

Enables wireless network packet forwarding and routing;

Wireless Network Interface Card (NIC);

To allow the computer to ‘talk to’ the (wireless) router;

Wireless access points;

allow Wi-Fi devices to connect to a wired network;

Wireless repeaters;

To expand the reach of the network;

Software Components

Wifi Characteristics

Disadvantages Exam Answer:

May cause security issues;

Due to multiple users having network access from their “unsecured” devices;

Advantages (Exam Answer):

The ability to use their own devices at school; The ability to access the school network from anywhere in the school; No cables laid, so reduces the risk of tripping over cables; Numbers of connections are not limited to cable ports, so greater numbers of students can connect at any given time;

Outline two methods the school could employ to prevent network data from being accessed over their wireless system. Exam Answer:

Use of encryption; So that data cannot be understood if it is intercepted; Use of user authentication/usernames and passwords; To prevent unauthorized access to the system; Setting up a file of accepted MAC addresses; To only allow access to the network by registered mobile devices;

Worldwide Interoperability for Microwave Access

Protocols

Why are they used (Exam Answer):

Why are Protocols Necessary

Importance of Network Protocols (Essential Functions)

Outline, with an example, the function of protocols (exam answer).

Protocols are a set of rules; To facilitate a process being carried out correctly; (Used in each layer to ensure communication;) For example (in the physical layer) the protocols could define the methods for opening and closing communication;

Why are protocols necessary (Essential Functions):

Protocols define the rules that govern network communication (for example, packet format, type and size, what happens when an error occurs, and which part of the network is supposed to handle the error and how);

Computer networks consists of various types of equipment (such as routers, switches, hubs and network interface cards) and the equipment comes from different vendors, but they must all work together or the network does not operate correctly;

Protocols work in layers (the highest being what the user sees, and the lowest being the wire that the information is transferred along) and these layers communicate with each other according to the rules (allowing communication to occur accurately and efficiently);

Transmission Medium

Packet Switching

How Data is transmitted by packet switching

Exam Answer:

Data is organized in specially formatted units (data packets);

Each data packet contains data and information such as the sender and receiver address, size of packet, sequence number, control codes, etc.;

which are routed from source to destination using network switches and routers;

network switches and routers determine how best to transfer the packet between a number of intermediate devices (routers and switches) on the path to its destination (rather than flowing directly over a single wire on the path to its destination);

data packets are reassembled at destination;.

If any packets are missing, they are retransmitted;

Why is Data Compression Necessary

Why is Compression Necessary (Exam Answer):

Compressing a data file reduces the file size;

The reason for compression when transmitting data is to save on transfer times;

As it reduces the number of bits needed to represent data (when compared with the original data);

The amount of time it takes to send a file over the network depends on the size of the transmitted file, so the amount of time needed to transmit the file is reduced /transmission of a compressed file takes less time than transmission of that same uncompressed file;

Compressing data involves modifying/restructuring files, so that they take up less space; And this results in cost savings in cloud storage;

To take up less bandwidth;

Because data compression reduces the size of files to be transmitted over a network;

Virtual Private Network (VPN)

Required Technologies for a VPN

Identify two technologies the school would require to provide a VPN. Exam Answer

Client VPN software (to make a secure remote connection); VPN-aware routers and firewalls (to permit VPN traffic to pass); VPN appliance/server (to handle incoming VPN traffic);

Encryption protocol IPSec or SSL;

Exam Answer:

Encryption;

If data intercepted, it will not be readable;

encrypting each encapsulated data packet’s content with an encryption key (the key is shared only between the VPN’s server and clients);

Tunnelling software;

A VPN hides a user’s data by encrypting it with a tunnel created between the user’s device and the VPN’s web server (The user then takes on the IP address of the web server (rather than their true IP), and this leads to one advantage of a VPN (namely that a user can appear to be in a different geographic location than they are actually located in);

How would a VPN allow communication between Europe and Asia office (Exam ANswer):

VPN allows secure communication with the Head Office in Asia;

A VPN is the company’s private network that uses a public network (in this situation the Internet) to connect remote sites/employees together;

Privacy is protected using VPN tunneling;

VPN uses encrypted connections routed through the Internet from the company's private network (Europe)to the remote site in Asia (or employee);

Hiding IP addresses to prevent unwanted exposure and data leaks;

Data passed through a network can be encrypted - anyone intercepting the encrypted data cannot read it;

A VPN/ tunneling allows the employee’s device to appear to be part of the internal company network; Thus affording him/her full access to the network resources;

Multiple exit nodes / hidden IP addresses/encrypted connections;

Make it hard to distinguish where the data was generated;

Benefits of a company using VPN (Exam Answer):

A VPN improves data security;

By passing the company’s data through a hidden tunnel;

And encrypting the internet traffic inside encapsulated data packets; making them unreadable if accessed/intercepted by unauthorized persons.

A VPN improves the company’s productivity; as the workers will not have to be in a particular location to get to be productive;

Remote access to data and resources (from any location); Normal access of materials on the network; as though the user was using the network on site;

VPN is not dependent on any particular network or Wi-Fi connection to work/ can be used on any type of device;

Advantages of VPNs

Disadvantages of VPNs

Resource Management

Identify the resources that need to be managed within a computer system.

Primary Memory

Secondary Memory

CPU 

Bandwidth:

Screen Resolution:

Sound Processor:

Graphics Processor

Cache

Network Connectivity

Evaluate the resources available in a variety of computer systems 

Identify the limitations of a range of resources in a specified computer system.

Describe the possible problems resulting from the limitations in the resources in a computer system.

Outline OS resource management techniques: scheduling, policies, multitasking, virtual memory, paging, interrupt, polling.

Operating System Management Techniques

Outline two resource management techniques that are likely to be carried out by the operating system of a desktop computer (EXAM Answer):

Virtual memory;

to enable the hard drive to act as primary memory if required;

Paging;

scheme by which a computer stores and retrieves data from secondary storage for use in main memory;

Multitasking;

to enable more than one application to run at the same time;

Scheduling (method by which work is assigned to resources that complete the work);

to determine which process will own CPU for execution while another process is on hold.;

 

Policies (ways to choose which activities to perform);

according to which decisions are made about which operations should be authorized/ which resources should be allocated;

Interrupt handling;

so that urgent tasks required by parts of the system may be executed;

Polling; to sampling the status of an external device;

The function of an Interrupt (Exam Answer)

An interrupt is a signal to the CPU sent by hardware or software;

The function of an interrupt is to alert the CPU to suspend execution of the current program;

And to transfer the control to the interrupt handler (which saves the state of the current program to the interrupt stack, services the interrupt and resumes the normal CPU activity);

Discuss the advantages of producing a dedicated operating system for a device

Dedicated Operating System for a Device

Advantages of Dedicated Operating Systems

Identify Exam Answer:

Makes maximum use of the available (limited) memory to provide the features needed for the phone; Does not waste memory space with unwanted/inappropriate features; Ensures a higher level of security; Makes efficient use of hardware equipment; Suited to available hardware equipment;

Outline how an operating system hides the complexity of the hardware from users and applications.

How the OS Hides Complexity of Hardware Resources from Users and Applications

How OS hides complexity Exam Answer :

The virtualization of real devices;

such as the use of drive letters for partitions to represent a virtual hard drive;

Use of icons;

to represent peripherals/to access different drive

Abstract Data Structures

Define the term dynamic data structure.

Static Data Structure

Dynamic Data Structures

Identify Characteristics of Dynamic Data Structures Exam Answer:

Dynamic data structure does not have predetermined size/ allows memory use to change as needed (no fixed size) / if more space is required to store more data, it can therefore increase;

Can be expanded until all the available RAM is used;

As records can be dynamically added/deleted the memory is better used because there are no wasted / missing spaces as in an array;

Memory is allocated to the data structure as the program executes (run-time);

Elements of a dynamic data structure are sequentially accessed;

Elements of a dynamic data structure are stored in memory locations that are chained together but not necessarily physically contiguous;

Compare the use of static and dynamic data structures.

Static VS Dynamic

The difference explain version (exam answer):

Memory is allocated to the static data structure in compile time (a pre-set amount of memory/fixed size);

Memory is allocated to the dynamic data structure at run-time;

The size of a static data structure can never change during run-time whilst the size of dynamic data structure can be randomly updated during run time which makes efficient use of RAM;  

Memory allocated to a static data structure is fixed and always available for use by the structure. Elements can be accessed either directly (random access) or sequentially, depending on the algorithm.

In contrast, elements in a dynamic data structure must be accessed sequentially, as direct access is generally not supported due to the way memory is allocated and linked.

As a result, algorithms that use dynamic data structures are often slower during execution compared to those that use static data structures, especially when frequent element access or searching is involved.

Construct algorithms using pre- defined sub-programmes, one- dimensional arrays and/or collections.

Array

Two-Dimensional Array

Describe the characteristics and applications of a stack.

Construct algorithms using the access methods of a stack.

Stack

Stack Applications Exam Answer:

Holding all data of a function/method call;

simulation of recursion;

Conversion of expressions (infix to postfix, infix to prefix, etc)

Evaluating expression;

Parsing;

Describe the characteristics and applications of a queue.

Construct algorithms using the access methods of a queue.

Queue

Explain the use of arrays as static stacks and queues.

Arrays can be used to implement static stacks and queues, but they have a fixed size, meaning they cannot grow dynamically. A stack, which follows the Last In, First Out (LIFO) principle, uses an array where elements are added (push) and removed (pop) from the top. A queue, which follows First In, First Out (FIFO), uses an array where elements are added at the rear (enqueue) and removed from the front (dequeue). While simple, static stacks and queues suffer from overflow issues when full, and wasted memory when elements are removed, making dynamic structures like linked lists more efficient for scalable applications.

Describe how linked lists operate logically.

Sketch linked lists (single, double and circular).

Linked List

Characteristics of a Linked List (Exam Answer):

Doubly Linked List

Circularly Linked Lists

Inserting Into a Linked List

Traverse the list (from the beginning) to find the place to insert a new node;

  1. Inserting into an empty list

  1. Inserting at the beginning

  1. Interesting at the end

  1. Inserting in the middle

Explain why deleting the first node in this list is different to deleting other nodes

External pointer (First) must be changed;

And set to the pointer in the link field of the first node (Asparagus) which points to the second node/Lettuce;

Compare the use of arrays and linked lists (Exam Answer)

In an array, memory is assigned during compile time(predetermined) whilst in a linked list it is allocated during execution/runtime;

Arrays are of fixed size whilst linked lists are flexible and can expand and contract its size;

Array requires less memory (due to actual data being stored within the index in the array) whilst there is a need for more memory in linked list (due to storage of additional next and previous pointers/references);

Elements are stored consecutively in array whereas elements are stored randomly in linked lists;

Memory utilization is inefficient in the array whilst memory utilization is efficient in the linked list;

Accessing an element in an array is direct (fast) while accessing an element in linked list is sequential/linear (slower) /to get into the nth element only the array name with index within the square bracket should be written whilst a linked list (to get the nth element) should be traversed starting from the beginning of the list, and traversing through the list until found/ ;

Operations like insertion and deletion in arrays consume a lot of time whilst the performance of these operations in linked lists is fast;.

Describe how trees operate logically (both binary and non-binary).

 Tree

Why is a binary tree appropriate for an address book (Exam ANswer):

Time efficient searching / traversing for a contact in an address book;

Each iteration / comparison allows the size of the search to be reduced (by skipping about half of the remaining contacts);

Fast/easy addition / removal of contacts in an address book;

Quick search for the leaf node / empty node where a new contact can be placed / for the node containing the contact to be deleted;

Contacts can be listed / output in alphabetical order/ fast sorting;

using inorder traversal;

The Benefits of Searching a Binary Tree, Compare to a Stack, for a Specific Item(Exam):

Example answer 1 (time efficiency):

The data in the binary search tree(BST) is ordered;

Such that as each node is checked for the item, half of the remaining nodes are ignored; But each element in the stack has to be checked;

Which, for large data sets, may be inefficient compared to the BST;

Example answer 2 (memory efficiency):

Each element on the stack has to be popped off/removed from the stack to be checked for the searched item;

When the item is found the stack will be empty/stack contents will be changed; When an element in the BST is checked for the item it is not removed from the BST;

So there is no need to create an additional copy of the BST (but a real copy of the stack must be created which for large data sets may be inefficient);

Define the terms: parent, left-child, right-child, subtree, root and leaf.

Parent

Left-Child

Right-Child

Subtree

Root

Leaf

State the result of inorder, postorder and preorder tree traversal.

Sketch binary trees.

Describe the characteristics and applications of a collection.

Collection

Collection is a container of discrete values;

A collection typically stores elements of the same data type, such as primitive values or structured data.

However, collections can also store objects of different types if they use pointers or references.

Collections have a set of methods that define operations performed on the elements/objects of that collection; Such as adding/removing elements to/from collection, comparing elements of collection, searching, etc;

Which reduces programming effort (because implementations of data structures and algorithms are provided);

Which increases performance of the program (because efficient implementations are provided);

Applications

Queue Applications (Exam Answer):

Print queues (a number of print jobs on a queue instead of waiting for each one to finish before specifying the next one);

Queues are used in CPU scheduling algorithms;

Handling of interrupts in real-time systems (the interrupts are handled in the same order as they arrive, first come first served);

Computer modelling of physical queues (supermarket checkouts) (call centre phone systems use queues to hold people calling them in an order, until a service representative is free);

Queue is used for synchronization when data is transferred asynchronously between two processes (for example IO Buffers, file IO);

Discuss the need for sub-programmes and collections within programmed solutions.

Construct algorithms using the access methods of a collection.

Construct algorithms using pre-defined sub-programmes, one-dimensional arrays and/or collections.

Identify a situation that requires the use of recursive thinking.

Recursion

Outline one disadvantage of solving problems recursively (exam answer).

More difficult/complicated to code; if the data structure being processed is not recursive; It is difficult to find bugs; particularly while using global variables; Can use more memory (than iterative solution) when executed; because every recursive call increases the call stack; Recursion to a deeper level will be difficult/impossible to implement; if the call stack space on the system is limited; Slower execution / using a recursive function takes more time to execute; as compared to its non- recursive/ iterative counterpart;

Identify recursive thinking in a specified problem solution.

Trace a recursive algorithm to express a solution to a problem.

Control 

Discuss a range of control systems.

Control System

Control Loop

Traffic Light

Global Positioning System

Explain how GPS works (Exam Answer):

The GPS receiver in a train takes the information from the satellite/ picks up the signals from (at least) 3 satellites;

The signals transmitted are: time of transmission, coordinates of the satellite;

The difference between the (atomic) time of transmission and (atomic) time of receiving the signal is used to calculate the distance;

The method of trilateration is used to determine position from the distance to satellites/ is used to determine the train’s exact position/ is used to calculate position of the train through equation resolution on a sphere;

Automatic Doors

Heating Systems

Taxi Meter

Elevator

Washing Machine

Process Controller

Device Drivers

Cleaning Robot

Outline the uses of microprocessors and sensor input in control systems.

Microprocessors

Sensor Input

Evaluate different input devices for the collection of data in specified situations.

Describe two types of sensors used in the floor-cleaning robots Exam Answer. 

Proximity sensors/ range sensors;

Which are used to determine how close an object is to the sensor;

Optical sensors /Photocells and other photometric devices (often used in conjunction to proximity sensors);

which are used to detect the presence or absence of objects;

Tactile sensors / Contact sensors / Bumpers;

which are used to determine whether contact is made between sensor and another object;

Touch sensors;

which indicate when contact is made;

Force sensors;

which indicate the magnitude of the force with the object;

Machine vision;

which is used in robotics for inspection / parts identification / guidance (accept other uses);

Explain the relationship between a sensor, the processor and an output transducer.

Relationship Between a Sensor, the Processor, and an Output Transducer

Rumba scenario, Explain the function of an output transducer in this situation (exam answer).

Output transducer is a device that accepts a (digital) signal from processor;

and turns it into a physical movement;

to make the floor cleaning robot move in different direction;

Exam Answer:

Input from flow/pressure sensors is analog;

Sensor (continuously) collecting data (related to the distance between the two vehicles); Data is converted to digital using AD converter…;

…and sent to the processor;

Processor has access to pre-set data (minimum distance required between the two cars);

Processor compares the input data against stored/pre-set data;

If the vehicle is too close, the processor sends a signal to an actuator to apply the brakes/ an output signal (for example, warning light on the dashboard/ audible warning) to the driver to apply break;

The result of processing is in digital form so it should be converted (by AD convertors) into analog form;

If the car has fallen back from the car in front, the processor sends these signals to an actuator to apply acceleration/ an output signal to the driver to apply acceleration;

This process is constantly looped (feedback loop);

*Remember water content scenario, waters until maximum range is reached (most appropriate to the scenario)

Describe the role of feedback in a control system

Feedback occurs when the output of a system is fed back into the input, creating a loop of cause and effect. This allows the system to adjust its behavior based on its own performance. The output is continuously compared to the desired (target) value, and the error is calculated. The error is used to adjust the system output, aiming to reduce the error and bring it closer to the desired value.

Explain (Exam Answer):

The output value is (continuously) compared to the desired value;

To produce an error value/difference between observed and measured;

The controller uses the error value/difference between observed and measured;

To determine the new input to the system;

Feedback Loops

  1. Open-Loop Systems: perform actions based on pre-set instructions without using feedback to adjust its output. It cannot correct errors or respond to changes in the environment. A microwave heating food for a set time, regardless of how hot the food actually gets.
  2. Closed-Loop Systems: use feedback to compare the actual output with the desired output and make adjustments to minimize errors. It is self-correcting and more accurate. A thermostat adjusting heating based on the room temperature.
  3. Negative Feedback: A control mechanism where the system reduces the error by adjusting its input to bring the output closer to the desired value. It promotes stability.
  4. Positive Feedback: A control mechanism where the system amplifies the change in output by adjusting its input. It promotes instability or rapid change.

Compare a centrally controlled system with a distributed system

Centrally Controlled System

Distributed System

Feature

Centralized Web

Decentralized Web

Control

Controlled by a few large entities.

Distributed across multiple participants.

Storage

Stored in centralized servers

Stored across the distributed network

Censorship

Platforms can remove content and ban users

Hard to censor as data is spread across nodes

Privacy

Users’ data is collected and monetized

Users have greater control of their own data.

Security

Single points of failure that are vulnerable to attacks.

More resilient due to the distributed formation.

Outline the role of autonomous agents acting within a larger system.

Autonomous Agent

Features of Autonomous Agents (Wiki actually hit the nail on the head here)

Outline features of Autonomous Agents (Exam Answer):

Reactive behavior;

autonomous agent senses the environment and reacts;

Autonomy;

autonomous agent activates alone for a task / is not invoked for a task / selects the task itself / operates without human supervision;

Persistence;

autonomous agent is a programmed device and the software describing an agent runs continuously;

Sociality;

autonomous agent can interact with other agents through communication / it can work in coordination and cooperation with other agents;

Discuss the social impacts and ethical considerations associated with the use of embedded systems.

Tagging Prisoners

Surveillance

Closed Circuit Television (CCTV)

Programming

Higher lvl & Lower lvl Languages:

Why do we need higher level languages (Exam Answer):

Higher level languages are closer to human language;

So programmers find them easier to understand/work with than lower level languages;

Source Code

Compiler

Assembly

Bytecode

Machine Code

Interpreted Language

Compiler VS Interpreter

Standards Missed/Miscellaneous

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

Exam Answer:

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

Discuss the social and ethical issues associated with a networked world.

Ethical and Technical Issues of Sharing Online (Exam Answer):

Inserting into a Binary Tree (Not anywhere in standards but appeared on Exam):

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

Outline version:

The software may not work as expected / may not be better than the existing software / may not meet user requirements / expectations;

The software may be missing some key features;

The software may not be user friendly;

Identify three consequences of inadequate testing .

Can lead to software which is not appropriate for the purpose it was intended/can lead to the system not meeting user requirements;

Can lead to (undiscovered) bugs in software/errors in the system;

Can lead to end user dissatisfaction;

Can lead to reduced (employee) productivity;

Can lead to decreased reliability of the organization;

Discuss centralized vs. decentralized processing in control systems

Cars have many automated features to improve the driving experience. One example is the use of headlights that automatically switch on and off. Some cars have adaptive cruise control. This uses RADAR technology and a processor to ensure the car stays the same distance away from the car in front.

Importance of the .isEmpty() function (Exam Answer):

Method isEmpty() returns True if there are no elements on the stack, False otherwise;

It is important to call this method in logical expression/condition in algorithm constructs such as branches and loops (if/while);

Before popping an element from the stack / popStack();

To prevent errors/stack underflow/program crash;

Outline two pieces of information that the ATrainAway application could provide to the user.

Real-time information (train number/ route / direction and status (on time / delayed / cancelled);

relating to the arrival / departure of a particular train;

The time next train is due (the next 2/3 times a train will arrive at the station); helps passenger to spend less time waiting on trains;

Should save user's (passenger) most frequented stops and routes;

for quick access to get the next rail trip; Alerts (set); to let you know when a train is nearing the station;

Trip planning (conducted);

through Google trip planner within the app; Information on the nearest station, distance to station/ next train arrival/ next train departure; to help passenger to spend less time travelling/ save time;

Discuss the advantages and disadvantages of using GPS in transportation systems (Exam Answer).

Safer transit;

Trains are tracked and in case of emergency the location can be reached at the earliest and emergency services provided;

More favourable view of transit/helps passenger to get punctuality status of the train/;

GPS can provide worldwide three-dimensional positions (24 hours a day) (in any type of weather);

Sometimes it is too difficult to ensure reliable positioning;

Objects, such as buildings, overpasses, and other obstructions (that shield the antenna from a satellite) can potentially weaken a satellite's signal;

Privacy issues;

Knowing the absolute position of anything, anytime, anywhere;

Explain why abstraction is required in the design of algorithms (Exam Answer).

Abstraction allows us to create a general idea of what the problem is and how to solve it; Abstraction removes all specific detail, and any patterns that will not help in solving a problem. This helps in forming a “model” (If designers don’t abstract they may end up with the wrong solution to the problem they are trying to solve); Abstraction is widely used because there exist a number of “patterns” in programming that keeps repeating in every application/program; The pattern corresponding to an issue can be found, then the abstract solution to it can be found and implemented, and the problem is solved; Most programming languages provide some built-in abstract patterns, which are easy to use (some API provides more advanced patterns); Abstraction is the process of taking away or removing characteristics from something in order to reduce it to a set of essential characteristics; In object-oriented programming, abstraction is one of three central principles (along with encapsulation and inheritance); Through the process of abstraction, a programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency; The resulting object itself can be referred to as an abstraction, meaning a named entity made up of selected attributes and behavior specific to a particular usage of the originating entity. Abstraction is related to both encapsulation and data hiding;

Outline two advantages of a school using a computer network (Exam Answer):