As Computer Science 9618

Download as pdf or txt
Download as pdf or txt
You are on page 1of 65

CH1 - INFORMATION REPRESENTATION

DENARY
- base 10 with digits 0-9

BINARY
- base 2 system, represented with 1 and 0
- All inputs need to be converted to binary for computers

DECIMAL PREFIXES
- Kilobyte = 1000 bytes = 10^3
- Megabyte = 10^6
- Gigabyte
- Terabyte

BINARY PREFIXES (power of 10)


- Kibibyte = 1024 bytes = 2^10
- Mebibyte = 2^20
- Gibibyte
- Tebibyte

*Nibble = 4 bits
*Byte = 8 bits

Converting Negative Decimal Numbers into Binary Numbers


1. One’s Complement
- Process: Turn all ‘0’s to ‘1’s and the ‘1’s to ‘0’s
- Example: 01000011 → 10111100
2. Two’s Complement
- Process: Turn all ‘0’s to ‘1’s and the ‘1’s to ‘0’s, and add 1
- Ex: 0111 → 1000 → 1001
: 1111 → 0000 → 0001
: -65 → 65 → 01000001 → 10111110 → 10111111
- Added together to get another ‘1’ at the beginning of the binary (to be ignored, tally bit,
overflow)
- If it is a positive number already, just convert it like normal

BINARY ARITHMETIC
- Overflow
- The largest number of bits a register can hold at a time is exceeded
- CPU discards the overflow digit (It will think it is 255 + 1)
- Ex: 11111111 + 1 → 1 00000000 → 00000000
BINARY CODED DECIMALS (BCD)
= binary encodings of decimal numbers where each digit is represented by a fixed number of bits
1. Unpacked
- A numeral encoded into one byte (8 bits, first 4 0s insignificant)
- Ex: 8 5 0 3 → 00001000 00000101 00000000 00000011
2. Packed
- A numeral encoded into a nibble (4 bits, most significant), typically used for transmission, can
be made into 2 bytes
- Ex: 8 5 0 3 → 1000 0101 0000 0011 → 10000101 00000011
Applications of BCD:
- Digital Calculator
- Digital Clock
- Digital Thermometer
- Currency Values

HEXADECIMAL (base 16)


Why
- Easier to debug as it is close to human language
- Reduces errors as less digits to write
When
- MAC addresses
- RGB colors in HTML

ASCII CODE (AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE)


+ Has a unique binary code for each character known as, Character Code
+ 8-bit code, uses 1 byte of memory per character
+ Typically used for storing, displaying or printing text
Limitations:
- Only supports up to 256 characters
- Does not support many symbols from international languages (not enough space to store)
Special features:
- Uppercase letters only differ from lowercase letters in bit 6
- Ex: a (01100001) → A (01000001)
- It is in alphabetical order

UNICODE
+ Covers majority of different languages across the world
+ Uses 16 bits (4 digits only, represents 2 bytes)
Limitations:
- Requires more space compared to ASCII (16 bits instead of 8 bits)
-
-
- More bits are required for non-ASCII characters
Special features:
- Big enough to handle all existing characters and symbols
- Characters from the same language are grouped together and are in its natural order (if can be
made possible)

IMAGES
VECTORS BITMAP

Adobe Illustrator, Adobe Photoshop (SVG, CGM) JPEG, PNG

+ Made up of geometric shapes which + Consists of a matrix of individual dots (or


requires attributes pixels) that all have their own color (made up
+ To edit the design, need to change each of of binary)
the geometric shapes + Image built from pixel by pixel, final image
+ File size is small since made up of are usually very realistic
geometric shapes + Can edit each pixel to change the design of
+ Created by a drawing package or a the image
computer-aided design (CAD) + Most images are typically stored as a bitmap
+ Constructed using mathematical formulas, + Bitmap image usually have a file header
which makes it scalable
+ Has a drawing list

- limited number of geometric shapes causes - very large file size because of pixel
graphics to not appear to be very realistic (accurate designs)
- Only can be displayed on a graph plotter - Poor quality when zoomed in
(expensive hardware), not cost effective - Decimation: throwing away pixels when
zooming out which changes the image in an
unacceptable manner
- Slow reading and rendering process (due to
expansion of compressed data)

*Drawing list = set of commands used to define a property (thickness, style, colour, fill colour) of the object
*Vectors = scalable and do not pixelate like a bitmap image therefore are used by corporations to create
logos as they can resized without losing quality

*Pixel = small blocks of addressable areas & the color they have is represented by binary and stored as bits
*File header = a few bytes of binary and represents basic information about the graphic, such as image
resolution, size, and number of colors
*Image resolution = the amount of pixels an image contains per inch
*Screen Resolution = the number of pixels per row by the number of pixels per column
*Color depth = number of bits used to represent the color of a single pixel
- The higher the color depth/image resolution, the better the color quality and file size
*Bit depth = the number of bits used to represent each pixel in an image
SOUND
= vibrations that travels through a medium
- continuous in nature

1. Analogue to Digital Converter (ADC):


- Converts analogue sound to digital signals which can be digitally stored
- Analogue wave is picked up by a microphone and send to an ADC in the form of analogue electrical
signals
- Once the sound wave is converted into a digital form it can be stored and manipulated

2. Digital to Analogue Converter (DAC)


- converts digital signals into analogue signal that can be output
- DACs take a binary number of the digital form of audio and turn it into an analog voltage or current
that, when done, can create a wave of audio that represents the digital signal
- It creates the analog version of the digital audio in "steps" of each digital reading

HOW SAMPLING WORKS


- amplitude of the sound wave is first determined at set time intervals (sampling rate)
- Gives an approximate representation of the sound wave
- Sound wave is then encoded as a series of binary digits

*Sampling rate = number of samples taken per second


- higher sampling rate means the waveform will be converted from analog to digital form more
accuracy
*Sampling Resolution = number of bits assigned to each sample
- sampling resolution allows user to set the range of volumes storable for each sample
- Quality of sound produced using a sound sampler depends on the sampling rate/resolution
+ High Sampling rate/resolution
+ less sound distortion
+ better sound quality
+ Larger dynamic range
- Larger file size
- Longer to transmit/download files

COMPRESSION
= technique to reduce the size of a file without reducing the quality in the use of the file
Why?
- files tend to have large file size
- Transfer speed is slow

LOSSLESS LOSSY

PNG jpeg, MP3

+ compressed file which can be restored to its + Unnecessary data is permanently removed
original file size + The unnecessary sounds (such as
+ Save the color code for every pixel background noises) can be removed from
+ Use run length encoding the audio file to reduce the file size.
+ an image which has a large background
could be encoded so the background pixels
have a lower resolution
+ Colors such as blue, to which the human
eye is less sensitive could be encoded at a
lower resolution

RUN LENGTH ENCODING


= compression in which sequences with the same data value in many consecutive values are stored as a
single data value and count
- a form of lossless file compression that reduce the size of a string
- Can be used on images, text
- Ex: 000012341111 => (0-4)1234(1-4)

METHODS ON FILE COMPRESSION


1. Movie Files
- reduce the sampling rate used
- Reduce the sampling resolution
- Reduce frame rate
2. Image Files
- crop the image
- Decrease color/bit depth
- Reduce image resolution

CH2 - COMMUNICATION AND NETWORKING TECHNOLOGIES

LOCAL AREA NETWORK (LAN)


= network confined into 1 single site/building
- belong to an organization
- Geographically small
- Use cable/low powered radio (wireless) for connections (twisted pair)
Benefits:
- Cheaper
- Expense of installing application software on each pc could be saved by installing the
software on the application server attached to a LAN
- Instead of using many cheap printers for each pc, can use one good quality printer attached
to a LAN
- Efficient
- File server that's attached to LAN allows user to store and share large files
- Paperless office - can be save on file server
Disadvantage:
- managing can be difficult and complex
- Malware and hacking can affect the entire network

HARDWARE:
1. Switch
- Devices within a network that forward packets within the network itself
- Allow multiple computers to connect to a network through a single node
2. Server
- Computer or system that provides resources, data, service to computers, known as clients
3. Network Interface Card (NIC)
- Computer hardware component that connects a wire-based computer to a computer network
usually the company’s network
4. Wireless Network Interface Card (WNIC)
- Computer hardware component that connects a radio-based computer to a computer network
usually the company’s network
5. Wireless Access Point (WAP)
- Hardware device on a LAN that allows wireless capable devices and wired networks to
connect through a wireless standard (WiFi or Bluetooth)
6. Cables
- Coaxial, Twisted Pair, and Fibre optic cables
7. Bridge
- Connect multiple devices that has the same protocol & provide communication between them
8. Repeater
- Expanding network coverage by combining 2 LAN signals
WIDE AREA NETWORK (WAN)
= network that extends over a large area
- created by joining several LAN together
- Used by company to connect different sites but not owned by the company
- Provided from a PSTN
- Use fiber optic Cable, satellite radio, and microwave radio
Benefits:
- Job can be run on a remote computer that had the required application software
- Data archive that was stored on a remote computer can be access
- Message could be transmitted electronically to a user on a remote computer
HARDWARE
1. Routers
- Connect 2 network using the same protocol
- Regulate network traffic
- Assign private IP address
- Receive and forward packets from a network using the most efficient route
2. Gateways
- Connect 2 network using different protocol
- Regulate network traffic
- Assign private IP address
- Convert data packets from one protocol to another
- Receive and forward packets from a network
3. Server
- Computer or system that provides a specific function for computers using a network such as
file storage, delivery of web pages, etc

INTERNET WORKING
= shortened to Internet
= massive network of networks which are made up of various computers and electronic devices
- uses IP protocol
- Forms a collection of connected networks and is a packet-switched network
- All network traffic is made up of packets of data with a source address and destination address
- There will be a large number of available paths for the transmission of any data packet
Hardware to support the Internet:
1. Public Switched Telephone Network (PSTN)
= switching center that connects all networks together
- allows any telephone to communicate with each other
- Dedicated channel used between 2 points for the duration of the call
- Connection maintain throughout the telephone call
- Line remain active even in a power outage
2. Dedicated Line
= permanent connection that is used for business purposes
- Not commonly shared among multiple users
- Allows consistent data transfer speed
- Hence allow users to maintain a continuous, uninterrupted calls
3. Cell Phone Networks
= Wireless network spread over large areas called ‘cells’
- each cell is served by at least 1 fixed location transceiver = base station
- Each cell uses a different set of frequencies to avoid interference
- When joined together, cells provide radio coverage over a wide geographical area
4. Internet Service Provider
= organization that provides services for accessing, using the internet

CLIENT SERVER MODEL


= a distributed applications software that splits tasks between the providers of the service (servers) and
service requesters (clients)
- clients sends a request to the server and server find requested data and send it back to client
Benefit:
- More secure
- User need username and password
- Files and resources are centralized
Types of Servers:
1. File Server
- all software and user data files can be stored on the server
2. Email Server
- send, receive, and store emails
3. Print Server
- manages print jobs from network client computers
4. Database Server
- manages a database management system; MySQL
5. WebServer
- manages pages available from a website
PEER-TO-PEER
= consist of a direct link between 2 computers, therefore not needing any server
- no central server
- Nodes can share files with each other and each nodes will have its own data
Benefits:
- faster and more reliable because its a direct connection
- No need to authentic users
Disadvantages:
- used in small areas
- Max nodes = 10
- Performance issues

THIN-CLIENT
= a client that only provides input and receive output from the application
- choose an app to run on the server
- Sends input data to the server when requested by app
- Received output from the app
Benefits:
- cheap to expand
- Hardwares are cheap
- All devices are linked to a server
- Update and new softwares installation done centrally
- Server can offer protection against malwares and hacking
Disadvantages:
- High reliance on server
- Goes down = devices won't work
- Startup cost is high

THICK CLIENT
= a client that carries out at least some of the processing itself
- Choose ab app provided by the server
- Possibly carries out some processing before running the app on the server and also after receiving
the output from the app
- Possibly download the app from server and runs the app by itself
Benefits:
- More robust
- Can carry out processing even without connection to server
- Clients have more control
- Store their own programs and data/files
Disadvantages:
- Less secure
- Rely on client to keep own data secure
- Each client need to update data and software individually
- Data integrity issues
- Many clients access the same data which can lead to inconsistencies

THIN CLIENT THICK CLIENT

- relies on a connection to a remote server - can run some features even without
- Requires very few local resources; SSD, connection to the server
RAM - Relies heavily on local resources
- Relies on good, stable, and fast connection - More tolerant on slow network connections
- Data is stored on a remote server - Can store data on local resources; HDD,
SSD

ETHERNET
= a standard way to connect computer on a network over a wired connection
- focused on LANs
- Bus or Star Topology
➔ Any message would be available to all of the end system without any controlled communication
exchange between any pair of end systems
➔ For each message received an end system had to check the destination address defined in the
message top se if it was the intended recipient
➔ Used of shared medium for message transmission has the potential for messages to be corrupted
during transmission, causing collision
Collision
= if 2 end systems were to transmit message at the same timeCarrier Sense Multiple Access / Collision
Detection (CSMA/CD)
1. Workstation tune in to the communication channel
2. If no data is being transmitted, computer can send data
3. If collusion occurs, each workstation waits at random time before transmitting

CLOUD COMPUTING
= the provision of computing services usually via the internet
1. Private Cloud
= owned by and only accesses by an organization
- the organization take full responsibility for creating and managing the cloud installed on-site
and connected to a private network
- The organization outsources to a third party the creation and management of an on-site
installation to a private network
- The organization outsources the creation and management of an internet accessible system
by a third-party
2. Public Cloud
= owned by a cloud service provider for general access
- provided by file servers and application servers
- accessible via a browser and therefore accessible from any suitable device in any location
- Established using large mainframe computers or server farms
Benefits:
- Cloud user:
- not have the limitation that the systems already have
- Infrastructure provision:
- better performance when running a software
- Increased storage capacity
- Platform provision:
- Offer facilities for software development and testing s
- Software provision:
- Run applications that requires high performance systems
- No need technical expertise
Disadvantages:
- Data privacy
- Cloud service provider has complete access to all the data stored in the cloud
- User cannot guarantee that data had not been shared with third party
TOPOLOGIES
1. Bus
- All nodes are directly connected
- Main cable ascta as backbone
- One of the computer acts as the computer server
Benefits:
- Easy to connect a computer or peripheral server
- Cable requirements are relatively small, resulting in lower cost
Disadvantages:
- If the main cable breaks the entire network goes down
- Difficult to troubleshoot therefore not used in large networks.

2. Star
- Each end-system has a point-to-point connection to the central device
- Transmission is duplex
- The central device can be used to connect the network to other networks
Benefits:
- Easy to install and wire.
- No disruptions to the network when connecting or removing devices.
- Easy to detect faults and to remove parts.
Disadvantages:
- Requires more cable length than a linear bus topology.
- If the connecting network device (network switch) fails, nodes attached are disabled and
cannot participate in computer network communication.
- More expensive than linear bus topology because of the cost of the connecting devices
(network switches).

3. Mesh
- Every network device is connected to other network device
- Used for site-to-site WAN connectivity, to increase redundancy
Benefits:
- Mesh topology is multiple paths to the destination computer.
- If one link is down, we have another path to reach the destination
Disadvantages:
- Is costly because of the extra cables needed
- It is very complex and difficult to manage

4. Hybrid
- Is a type of network topology, which is made of two or more different topologies.
made using a combination of bus topology, star topology, mesh topology (full-mesh topology
or partial-mesh topology), ring topology or wireless topology as per the requirement of the
organization.
WIRED NETWORK VS WIRELESS NETWORK

WIRED NETWORK WIRELESS NETWORK

uses cables to connect devices allows devices to stay connected to the network but
roam untethered to any wires

+ Faster transfer speed + Access network resource from any location


+ Connection speed is faster of user coverage area and can be accessed
+ More secure by multiple devices
+ Mobility as not tied to cable
+ Cheap as it eliminates wiring expenses
+ Easy to set up as there are no cables

- device is depended to a router - Extra cost to set up


- Less convenient due to cables and ports - Setting up is difficult for people that are not
- Difficult and expensive to set up experienced with computers
- Less secure due to bandwidth and
information can be accessed
- File sharing transfer speed is slower
- Interference as connection can be block by
walls

Copper Cables, Fibre Optic Cables Radio Waves, Microwave, Satelites

WIRED NETWORK

COPPER CABLES FIBRE OPTIC CABLES

= Carries data as electrical signals and can consist = Transmit data as light
of a twisted pair

+ Best conductor + Thinner and lightweight


+ Flexible + Less signal degradation
+ Safe - high melting point + Lower interference in signal
+ Faster transmission as high bandwidth
+ More secure as it is hard to hack

- Doesn’t perform well with small charges - Needs expensive optical transmitter and
- Affected by electromagnetism receivers
- Expensive - Only transmit data in one direction
WIRELESS NETWORK

RADIO WAVES MICROWAVES SATELLITES

= Carries data in the form of = uses a beam of radio waves in = A communication device in
electromagnetic waves the microwave frequency range earth’s orbit that receive and
to transmit information transmit data

+ Wireless + Wireless + Wireless


+ Can travel over large + Larger bandwidth + Cheap with long distance
distances
+ Not expensive

- Low frequency so - Emitting towered are - Easy to interfere


transmit less data at one expensive to build - Expensive to set up
time - Physical obstacles can
- Affected by radio stations interfere
with similar frequency

BIT STREAMING
= the transfer of a sequence of bits at a high speed one at a time, representing a stream of data, hence it
requires some form of buffering

VIDEO
- data is compressed before transmission
- Video is hosted on a media server
- Video then transmitted continuously as a series of bits
- The recipient receives bit stream from a buffer

REAL TIME ON DEMAND

= used when watching live streams of events that = watching an event that has taken place in the
are currently taking place past

- Event is captured live with a video camera - Existing media are encoded to bit streaming
that is connected to a computer, cannot be format and uploaded to a server, can be
paused or rewound paused and rewound
- Video signal is encoded to streaming media - Encoded feed is uploaded to a dedicated
files streaming server
- Encoded feed is uploaded to a file server - Server send live images to user
- Streamer it servers duplicate the feed and - When client request to watch a specific
send it to all clients requesting in real time video, a bit stream is set up which transmit
saved video

WEBSITE STREAMING
+ No need to download the full file
+ No need special software for playback in browser
- Video stops if internet connection is bad
- Viruses can be downloaded from websites

*Importance of bit rates/broadband speed on bit streaming


- clients have to download the bits and display it at the same time
- Broadband speed required depends on type of stream user requires
- Better quality needed, then user need higher speed as each framer larger in size

INTERNET PROTOCOL (IP) ADDRESS


- gives each device on a network an identifier which allows devices to send data to the correct specific
i device

PRIVATE PUBLIC

- improved security as its not visible outside - IP Address cannot be duplicated in different
the website networks
- Reduce the number of public IP addresses - Assigned by the ISP
needed - Address can be reached over the internet
- Need Network Address Translation (NAT) to
access the internet directly
- Can be duplicated in different networks

STATIC DYNAMIC

- address is signed by the server/ISP - assigned by the network OS


- When a comp disconnects and rejoin, the - When comp disconnect and rejoin, the
address remains address changes

IPv4 IPv6

none why?
- the number of IP address needed will
exceed the number available by using only
IPv6

- A set of 4 numbers - A set of 8 numbers


- Range 0-255 - Each numbers is 4 hexadecimal digits
- Separated by a full stop - Separated by colons
- The first two number is the network
- Only 1 double colon is allowed
- Last two numbers are host
- EX: - Ex:
- 192.0. 2.146 1234:1234:1234:0000:1234:1234:1234:123
4
WORLD WIDE WEB (WWW)
= consist of content organized as web pages made available across the internet from web servers
- uses HyperText Markup Language (HTML)
- Publishing format for all web content
- Uniform Resource Identifier (URI)
- Unique address for a resource on the WWW
- HyperText Transfer Protocol (HTTP)
- Protocol to allow for the retrieval of linked resources

UNIFORM RESOURCE LOCATOR (URL)


= a character string referring to the location of an internet resource
- URL allows us to specify the domain name and exact location for a resource on the internet

https://cie.org.uk/computer science.html
http =. Enables browser to know what protocol is being used to access information in the domain
cie.org.uk = domain name
computerscience.html = web page

“?” = separate url from all variables


“%20” = coding for space

DOMAIN NAME SERVICE (DNS)


= Naming system used for computers or resources having internet connection

How URL is Converted into Its Matching IP Address


- URL is passed to obtain the domain name
- Domain is sent to nearest DNS
- DNS hold domain name and matching IP address
- DNS will search for the domain name and the IP address is returned
CH3 - HARDWARE

INPUT DEVICES
1. Keyboard
- Uses switches and circuits to translate keystroke into signals the computer can understand
- The key matrix is a grid of circuits
- Each circuit is broken beneath the key
- When key is pressed, a circuit is completed and a signal is sent
- Processor compares the location of signal from key matrix to a character map stored in ROM
- A character code for each key is saved in a keyboard buffer

2. Trackball Mouse
- The ball touches horizontal and vertical rollers
- When the ball moves, the roller moves as well
- Each roller connects to a shift which spins a disk with holes
- Infrared beams shine through the holes in the disks
- As the ball moves the roller the beam is broken by the space between the holes, creating pulses of
light
- The distance and speed of the mouse is determined form the rate of the pulses by an on-board
processor chip in the comp

3. Optical Mouse
- laser shines through the surface though a ring at the base
- Light is reflected from the surface through the ring
- Sensor detects reflected light
- Captured details on surface at about 1500 times per second
- When mouse moves, the sensor detects changes in the surface details
- Which are translated into movement (x and y coordinates)
- The processor updates the position of the cursor on the screen

4. Scanner
- main component is a CCD array
- CCD is a collection of light sensitive diodes
- Laser is shone onto the barcode
- Scanned image reaches the CCD through mirrors and lenses
- Sensors detect level of reflected light
- Brighter light results in greater electrical charge
- Light intensity is converted to a digital value
5. Touchscreen
RESISTIVE CAPACITIVE

● has an upper layer of polyester and a ● made up of many layers of glass that acts
bottom layer of glass like a capacitor creating electric fields
● When top polyester layer is touched, the between the glass plates in layers
top layer and bottom layer complete a ● When top glass is touched, the electric
circuit current changes and the coordinate where
● Signals are then sent out, which are the screen is touched are determined by an
interpreted by a microprocessor and the on board microprocessor
calculations determine the coordinates of ● Coordinates sent to touch screen driver
where the screen was touched

+ cheap + expensive
+ Can use bare fingers, gloved or stylus for + Screen visibility is good under strong
input sunlight
+ Permits multi-touch capability
+ Screen is very durable

- screen visibility is poor in strong sunlight - only bare fingers and cannot use gloves to
- Does not permit multi-touch capacity styluses for input
- Screen durability is weak
- Vulnerable to scratches and wears
out though time

6. Microphone
- When sound is created, air vibrates
- Dia graphs pick up the air vibrations, hence the diaphragm also vibrates
- Copper coils is wrapped around the permanent magnet and coil is connected to the diaphragm using
a cone
- As diaphragm vibrates, the cones moves in and out, causing the copper coil to move backwards and
forwards
- This movement causes the magnetic field around the permanent magnet to be distributed, inducing
an electric current
- Electric current is then either amplified or sent to a recording device
- The electric current is analogue in nature

7. Virtual Headset
- video is sent from a. Computer to the headset either using HDMI cable or smartphone is fitted into
the headset
- Two feeds are sent to an LCD/OLED displays
- Lenses placed between the eyes and the secret allow for focusing and reshaping of the image/video
for each eye, thus giving a 3D effect and adding to the realism
- As the user moves their head, a series for sensor and LED measure this movement, which allows
the image/video on the screen to react to the user’s head movement jh
- Headset also use binaural sound so speaker output appears to come from behind, side, from a
distance
- Infrared sensors to monitor eye movement which allows the depth of field on the screen to be more
realistic

OUTPUT DEVICE
1. Laser Printer
- The revolving drum is initially given an electrical charge
- A laser beam bounces off moving mirrors and scans back and forth across the drum
- Discharge certain points
- The drum is coated with oppositely charged toner
- Pattern on the drum is transferred to paper & Paper is passed through the fuses to seal the image
- Electrical charge is removed from the drum
Print head
- contains a large number of small nozzles
- Ink is fed to each nozzle from a reservoir
- The print head fires droplets of ink onto the Oates
- The print head moves horizontally across the paper
Stepper motor
- Connected to the print head by a belt
- Moves the print head across the paper
- Parks the print head assembly when not in use
- Turns the rollers that provides the paper feed

2. 3D Printer
- the object is designed by a Computer Aided Design (CAD)
- Software splits the object into slices
- Data about the slices is sent to printer
- Solid plastic is melted and transferred to the nozzle
- A stepper motor moves the nozzle into position and then nozzle extrude the molten plastic
- Repeat step 5 until layer is completed
- Fan cool layer
- Repeat step 4-7

3. Inkjet Printer
- data from the document is sent to a printer driver
- Printer driver ensures that the data is in a format that the s hose printer can understand
- Cheerleader is made by the printer drive to ensure that the chosen printer is available to print
- data is sent to the printer and stored in a temporary

4. Speaker
- an electric current is sent to the speaker
- The electric current passes through the coil the current in the coil creates an electromagnetic field
- Changes in the audio signal cause the direction of the electrical current to change
- This determine the polarity of the electromagnet
- The electromagnet is repelled by or attracted to a permanent magnet
- The movement of the coil causes the diaphragm to vibrate
- The vibration creates sound waves

5. Virtual headset
- Most important component are the two eyepieces
- Fed paired images from the controlling system which, when looked at together, give the eyes a
sensation of being in a 3D environment
- Images can be collected using a specialized photographic techniques
- The wearer can control which part of the 3D environment is in view
- They do this by moving their head or by a controlling device

STORAGE DEVICES

PRIMARY STORAGE
Why?
- to store files needed to boot the system
- Store parts of the OS

READ ONLY MEMORY (ROM) RANDOM ACCESS MEMORY (RAM)

PROM, EPROM, EEPROM SRAM, DRAM

- non volatile - volatile


- Read only - Read/write
- Stores the operating system - Stores currently running parts
- Stores the boot-up instructions - Stores data on the current progress and
- Can’t be change about the device
- Can be change

PROGRAMMABLE ROM (PROM) ERASABLE PROM (EPROM)

- made of matrix fuses - use floating gate transistors and capacitors


- Requires teh use of a PROM writer which - Ultraviolet light is used to program an
uses an electric current to alter specific cells EPROM
by ‘burning’ fuses in the matrix
- Can only be written once

Mobile phones applications under development


STATIC RAM (SRAM) DYNAMIC RAM (DRAM)

- use flip flops to hold each bit of memory - consist of a number of transistors and
- Does not need to be constantly refreshed capacitors
- Faster data access time than DRAM - Needs to be constantly refreshed
- Used as Processor memory cache - Less expensive than SRAM
- Higher memory

SECONDARY STORAGE
Why?
- to store files/software long term
1. INTERNAL SECONDARY STORAGE

MAGNETIC MEDIA SOLID STATE DRIVE OPTICAL DISC

HDD, Tape Drive SD Card, SSD Hard Drives, USB DVD, CD, Blu ray
Pen Drive

- large capacity to store - Large capacity to store - Can hold a lot more data
large files large files than a standard DVD,
- Reasonably fast access - Fast access speed meaning it can store
speed - Users won’t have movies with better picture
- Uses will not have to wait for videos and sound quality
to wait for videos to load - Portable
to load - Reliable - More expensive than
- Cheap per unit storage - Can be damaged DVDs
- If a large number and would still - Requires a Blu-ray player
is needed, cost work - Can lose data when
would be quite low - No moving parts scratched
- Slower degradation of - Not possible to overwrite
data the existing data
- Last longer and - Need to erase the
more reliable old data to write
under heavy use - To read/write uses
movement of
electrons

INTERNAL OPERATIONS OF MAGNETIC HARD DISK


- hard disk drive has one or mole platters made of aluminum or glass
- Each surface of the plater is capable of being magnetized
- The platters are mounted on a central spindle and rotated at a high speed
- Each surface of the platter had a read/write head mounted on arm positioned just above the surface
- Electrical circuits control the movement of the arm and heads
- The surface of the platter is divided into concentric tracks and sectors
- One track in one sector is the basic unit called a block
- The data is encoded as a magnetic pattern for each block
- When writing to disk, a variation in the current in the head produces a variation in magnetic field on
the disk
- When reading the disk, a variation in magnetic field produces a variation in current through the head

INTERNAL OPERATIONS OF SOLID STATE MEMORY


- Uses semiconductor chips to store data
- Have individual memory cells which trap different level of electrons on a charge trap
- Memory cell is copied horizontally and vertically to make storage capacity
- Making a 3D spreadsheet
- There’s a stack in layers of many spreadsheet
- To isolate and determine which row and layer to read/write from, use control agent selectors (layers)
and bitline selectors (rows)

INTERNAL OPERATIONS OF OPTICAL DISC


- drive motors is used to spin the disc
- Tracking mechanism moves the laser assembly
- A lens focuses the laser onto the disc
- Laser beam is shone onto disc to read/write
- Surface of disc has a reflective metal layer
- Tracks on the disc have sequence of pits and lands
- Reflected light in the encoded as a bit pattern

EMBEDDED SYSTEM
= installing microprocessors into devices to enable operations to be controlled in a more efficient way
- At the core is an integrated circuit designed to carry out computation for real-time operations
- Embedded systems are managed by microcontrollers or digital signal processors (DSP),
application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), GPU
technology, and gate arrays
- These processing systems are integrated with components dedicated to handling electric and/or
mechanical interfacing

PROS CONS

+ Small in size = easy to fit into devices - difficult to upgrade devices


+ Low cost - Troubleshoot faults in the device need a
+ Consume little power specialist
- Can be access over the internet (hackers,
viruses)

BUFFERS
= to act as a holding are, enabling CPU to manipulate data before transferring it to a device
- keep track of data in buffer and then copy the buffer to a disk due to slow read/write
MONITORING SYSTEM

SENSORS
= The sensor measures and converts the physical quantity to an electrical signal, which can then be read by
an embedded systems engineer or any electronic instrument. 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
Processor & ASICs
=Processors assess the data to measure the output and store it to the memory
D-A Converter
= A digital-to-analog converter changes 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 output stored and stores the
approved output
LOGIC GATES

Truth Tables

AND NOT OR

A B X A X A B X

0 0 0 1 0 0 0 0

1 0 0 0 1 1 0 1

0 1 0 0 1 1

1 1 1 1 1 1

NAND NOR XOR

A B X A B X A B X

0 0 1 0 0 1 0 0 0

1 0 1 1 0 0 1 0 1

0 1 1 0 1 0 0 1 1

1 1 0 1 1 0 1 1 0
CH4 - PROCESSOR FUNDAMENTALS

VON NEUMANN MODEL

FEATURES
- Central Processing Unit (CPU/Processor)
- Processor able to access the memory directly
- Computer memories that could store programs as well as data
- Stored programs made up of instructions that could be executed in sequential order

COMPONENTS OF CPU;
1. Arithmetic & Logic Unit (ALU)
- Performs mathematical and logical operations required while running a program
- Has an “Accumulator”
- A temporary register used when carrying out ALU calculations

2. Control Unit (CU)


- Reads an instruction from memory and interprets it
- During this process, signals are generated along the control bus to tell the other components of the
computer on what to do
- Ensures synchronization of data flow and program instructions throughout the computer

3. System Clock
- produce timing signals on the control bus to ensure the synchronization take place
- Without it, computer would crash

4. Immediate Access Store (IAS)


- holds all the data and programs that the CPU needs to access
- CPU takes data and programs held in backing store and puts them in IAS temporarily
- This is done because read/write using IAS is faster compared to the backing store
5. Registers
- Small components of the CPU which acts as primary storages

General Purpose Registers


- holds data that is frequently used by the CPU
- Ex: Accumulator

Register Abbreviation Function

Accumulator AC Holds processed data temporarily from ALU

Special Purpose Registers


- specific function within the CPU and holds the program state
- Ex: CIR, IX, MAR, MDR, PC, SR

Register Abbreviation Function

Current Instruction Register CIR Stores the current instruction being decoded
and executed

Index Register IX / IR used when carrying out index addressing


operations (assembly code)

Memory Address Register MAR stores the address of the memory location
currently being read from or written to

Memory Data Register / Memory Buffer MDR / MBR stores data which has just been read from
Register memory or data which is about to be written to
memory

Program Counter PC stores the address where the next instruction


to be read can be found

Status Register SR contains bits (flags) which can be set or


cleared depending on the operations

Status Register
= used when an instruction requires some form of arithmetic or logic processing
- Carry Flag (C)
- Set to 1 if there is CARRY in the following an addition operation
- Negative Flag (N)
- Set to 1 if the result of a calculation has a negative value
- Overflow Flag (V)
- Set to 1 if an arithmetic operation results in an overflow
- Zero Flag (Z)
- Set to 1 if the result of an arithmetic operation is ZERO
SYSTEM BUSES
- used in computer as a parallel transmission component
- Each wire in the bus transmit one bit of data

1. Address Bus
- caries data throughout the computer system (CPU and memory)
- Unidirectional (travel in one direction only)
- Prevents addresses being carried back to the CPU

2. Data Bus
- Bidirectional (allows data to be sent in both directions along the bus)
- Data can be carried from CPU to memory and to/from input/output devices
- Data can be an address, an instruction, or a numerical value

3. Control Bus
- bidirectional
- Carries signals from CPU to all other components
- 8 bit wide and only carry control signals

FACTORS THAT AFFECTS THE PERFORMANCE OF CONTROL SYSTEM


1. Width of a bus
- wider it is, the more memory locations which can be directly addressed at any given time

2. Larger word length


- can improve computer’s overall performance
3. Clock speed
- increasing speed by accessing the Basic Input/Output System (BIOS), processing speed also
increase
- Can lead to unsynchronized operations (unable to complete on time)
- Overheating the CPU = unreliable performance

4. Number of cores
- dual core (CPU made up of 2 cores)
- Has one channel and needs the CPU to communicate with both the cores, not really affect
performance
- Quad core (CPU made up of 4 cores)
- Has 6 channels and need the CPU to communicate with all 4 cores, reducing a lot of
performance

5. Cache Memory
- using cache can improve performance
- Cache have faster access time
- Stores frequent instructions that is used by CPU

COMPUTER PORTS
UNIVERSAL SERIAL BUS (USB)

= an asynchronous serial data transmission method

● 4-wire shielded cable


● 2 wires for power and the earth
● 2 wires for data transmission
● Computers automatically detects that devices is present (due to small change in voltage level on
the data signal wires in the cable)
● Appropriate device driver is loaded up so that comp and device can communicate effectively
● If new device is detected, the comp will look for the device driver which matches thee device
● If not available, user is promoted to download the appropriate software

+ automatically detected and device driver are automatically loaded up


+ Connectors can only fit one way, prevents incorrect connections
+ USB is a standard adopted by many manufacturers = all comps will be equipped with USB ports
+ Fast data transfer = useful when transferring large files such a s video files

- transmission rate is limited to less than 500 megabits per second


- Cable length is max 5 meters
HIGH-DEFINITION MULTIMEDIA INTERFACE (HDMI)

= allow output from a computer to an HDMI-enabled device

+ the current standard for modern tv and monitors


+ Allows for a very fast data transfer rate
+ Improved security (help prevents piracy) since it uses high bandwidth digital copy protection
(HDCP)
+ Support modern digital systems

- not a very robust connection (easy to break connection by moving device)


- Limited cable length to retain good signal
- Only 5 cable standards

VIDEO GRAPHIC ARRAY (VGA)

= older version of HDMI

+ simpler technology
+ Only 1 standard available
+ Easy to split the signal and connect a number of devices from one source
+ Connection is very secure

- old out-dated analogue tech


- Easy to bend the pins when making connections
- Cables must be a very high grade to ensure good undistorted signals
FETCH EXECUTE CYCLE
*Double Brackets = data stored at the address shown in MAR is copied to MDR

INTERRUPTS

= a signal sent from a device or from software to the processor


- this will cause the processor to temporarily stop what it is doing and service the interrupt

Caused By:
- timing signal
- Input/output processes
- User interaction
- Hardware fault
- Software error

- Once interrupt signal is received, The processor either carries on with what is was doing or stops
to service the device that generated the interrupt
- Computer need to identify the interrupt type and establish the level of interrupt priority
- Once serviced, stops current tasks and stores the content to registers
- Interrupt Service Routine (ISR) is in control
- Once fully services, the register is reset and contents of registers are restored
ASSEMBLY LANGUAGE

ASSEMBLY LANGUAGE
= a low level machine specific programming language that uses mnemonics

MACHINE CODE
= the programming language that the CPU uses
- binary
- Sometimes displayed on a screen as hexadecimal so user can understand machine code instruction
more easily
- Very time consuming and error problem

Each instruction of assembly language and machine code have:


- Opcode = identifies the operation to be carried out by the CPU
- Operand = identifies the data to be used by opcode

LANGUAGE TRANSLATORS
Why?
- shorten development time for writing computer programs
- Instructions to be easier to learn and understand

Before a program written in assembly language (source code) can be executed, it needs to be translated to
machine code. This is performed by an Assembler
- Translates each assembly language instructions into machine code instruction
- Checks syntax of the assembly language program to ensure that only the appropriate machine code
instruction set are usAed
- This speeds up the development time as some errors are identified during translation before the
program is executed
TYPES OF ASSEMBLER
1. One Pass
- read the assembly language program one line at a time
- Ignore anything not required: comments
- Allocate a memory address for the line of code
- Check the opcode is in the instruction set
- Add any new labels to the symbol table with the address, if known
- Place address of labeled instruction in the symbol table
2. Two Pass
- read the assembly language program one line at a time
- Generate object code, including opcode and operand, from the symbol table generated in one pass
- Save or execute the program

ASSEMBLY LANGUAGE INSTRUCTIONS

1. Data Movement Instructions


2. Input and Output of Data Instructions

3. Arithmetic Operation Instructions

4. Unconditional and Conditional Instructions


5. Compare Instructions

ADDRESSING MODES

ABSOLUTE ADDRESSING the contents of the memory location in the operand are used

DIRECT ADDRESSING the contents of the memory location in the operand are used

INDIRECT ADDRESSING the contents of the contents of the memory location in the operand
are used

INDEXED ADDRESSING the contents of the memory location found by adding the contents of
the IR to the address of the memory location in the operand are used

IMMEDIATE ADDRESSING the value of the operand only is used

RELATIVE ADDRESSING the memory address used is the current memory address added to
the operand

SYMBOLIC ADDRESSING used in assembly language programming, where a label is used


instead of a value
BIT MANIPULATION
BINARY SHIFT
= moving the bits stored in a register a given number of places with the registers

TYPE OF SHIFTS:
LOGICAL SHIFTS bits shifted out of the registers replaced with 10101111
0 Shifted left 3 places
01111000

ARITHMETIC SHIFTS the sign of the number is preserved 10101111


Shifted right 3 places
11110101

CYCLIC SHIFTS no bits are lost, bits shifted out of one end of 10101111
the register are introduced at the other end Shifted left 3 places
of the register 01111101

LEFT SHIFTS bits are shifted to the left 10101111


Shifted left 3 places
01111000

RIGHT SHIFTS bits are shifted to the right 10101111


Shifted right 3 places
11110101

In monitoring and control, each bit in a memory location can be used as a flag and would need to be tested,
set, or cleared separately
CH5 - SYSTEM SOFTWARE

OPERATING SYSTEM
= software that provides an environment in which applications can run and provides an interface between
hardware and human operators

TASKS

1. Memory Management
- Memory optimization = determine how comp memory is allocated and de allocated when a number
of applications are running simultaneously
- To maintain optimization, swap data to and from the HDD or SSD
- Memory organization = determines how much memory is allocated to an application, and how the
memory can be split up in the most appropriate and efficient way
- Partitioned allocation =. Memory is split up into contiguous blocks and memory management
then allocates a block into an applications
- Memory protection = ensures that two competing applications cannot use the same memory
locations at the same time
- If not done, data could be lost, security issues, computer can crash

2. Security Management
- to ensure integrity, confidentiality, and availability of data
- Carry out OS updates when they’re available
- Ensure that anti-virus software is up to date
- Maintaining access rights for all users
- Offering recovery of data (in case of lost or corrupted)

3. Process Management
- allocating resources and permit the sharing and exchange of data, thus allowing all processes to be
synchronized
4. Hardware Management
- Controlled by queues and buffers
- Communicating with all input and output devices using device drivers
- Translating data from a file into a format that the input/output device can understand using
device drivers
- Ensuring each hardware resource has a priority so that it can be used and released as
required

5. File Management
- Defining the file naming convention which can be used (.exe, .xls, etc.)
- Performing specific tasks (copy, open, create)
- Maintaining the directory structures

UTILITY SOFTWARE
1. Hard Disk Formatter
- OS need to know how to store files and where the files will be stored on the hard disk
- Will organise storage space by assigning it to data blocks
- Disk surface may have a number of partitions
- Note that partitions are contagious blocks of data
- Once partition created, they must be formatted
- Done by writing files which hold directory data and tables of contents at the beginning of each
partition
- Allows OS to recognise a file and know where to find it on the disk surface
- Also have a checking tool for each sector
- If bad = sector will be flagged as ‘bad’ and the file tracking records will be reorganized
- Replacing bad sectors with new unused sectors

2. Virus Checker
- check software or files before they are run or loaded on a computer
- Compare possible viruses against a database of known viruses
- Carry out heuristic checking
- Checking software for types of behavior that could indicate a possible virus
- Put files or programs which may be infected into quarantine
- Automatically delete the virus
- Allow user to decide whether to delete the file
3. Defragmentation Software
- When HDD become full, blocks used for files will become scattered all over the disk surface
- Happens when files are, extended, etc
- Cause slower data access time
- HDD read-write head requires several movements just to find and retrieve the data making
up the required file
- Better if files could be stored in contiguous sectors, hence reducing HDD head movement

4. Disk Content Analysis/Repair Software


- used to check disk drivers for empty space and disk usage by reviewing files and file folders
- Can led to optimal use of disk space by removal of unwanted files and downloads

5. Disk Compression and File Compression


- File Compression = to save storage space and make it quicker to download/upload files and quicker
to send files via email
- Disk Compression = compresses data before writing it to hard disk and decompressed again when
reading
- High priority and will override all other OS routines
- Do not uninstall — will make any previously saved data to be unreadable

6. Back-Up Software
- allow a schedule for backup files to be made
- Only carry out a back-up procedure if there have been any changes made to a file

PROGRAM LIBRARIES
- when software is under development and programmer can utilize pre-written subroutines in their own
programs (save development time)
- Help software developer who wishes to use Dynamic Link Library (DLL) subroutines in their own
program

When software routines are written, they are saved in a program library (Library Program) for future use by
other programmers
*Library Routines = described routines which could be used in another piece of software under development

Benefits of Developing Software this way:


+ Removes the need to rewrite the many routines every single time (save time and money)
+ Leads to modular programming = several programmers can be working on the same piece of
software at the same time
+ Allows continuity with other games that may form part of a whole range
+ Allows to maintain eye of a ‘corporate image’ in all the software being developed by a company
+ Saves development time Ching to test each routine since the routines are all fully tested in other
software and should be error free
TYPES:
1. Static Library
- software being developed is linked to executable code in the library at the time of compilation
- Library routines would be embedded directly into the new program code
2. Dynamic Link Library Files (DLL)
= software being developed is not linked to the library routines until actual run time
+ Executable code of the main program is smaller since DLL files are only loaded into memory at run
time
+ Possible to make changes to DLL files independently and won’t be necessary to recompile the main
program
+ Save memory and execution time
- executable code is not self-contained, therefore all DLL files need to be available at run time
otherwise error or crash
- Any DLL linking software in the main program needs to be available at run time to allow links with
DLL files to be made
- Risk of DLL having a malware which can be a risk to the main program when linking
What is DLL?
LANGUAGE TRANSLATORS
Instructions in a program can only be executed in machine code, hence need to be translated

ASSEMBLER COMPILER INTERPRETER

Source program assembly language - high level language to high level language to
translated to... machine code machine code machine code

Machine dependent yes yes no

Object Program is disk or in main memory disk or in main memory every line of program
stored on... are interpreted then
executed each time the
program runs and its
under the control of
interpreter

Each line of the source one machine code many machine code many machine code
program generates... instruction (one to one instructions, instruction instructions, instruction
translation) explosion explosion

COMPILER INTERPRETER

+ user only need the executable code, hence + easier to develop and debug as error can be
the end user benefits as no need to corrected on each line and the program
purchase compiler restarted from that place
+ Developer have the source code, so cannot + It translate line by line
be altered or extended by user + Untested programs should not be able to
+ Source programs has no syntax or semantic cause the computer to crash
errors + When purchased, end user have all source
code and run-time libraries, enabling the
program to be modified as required without
further purchases

- finds all errors in program, once detected - end user will need to purchase a compiler or
the rest of the code can be an error too an interpreter to translate source code
even though if its not before use
- Untested programs with errors can cause - Developer have no control of source code,
computer to crash more difficult to change for upgrades
- End user has no access to source code and - Contain syntax or semantic errors if any part
run time libraries, unable to make of the program has not be fully tested,
modifications and rely on developer on hence need to debug
updates

PARTIAL COMPILING AND INTERPRETING


To achieve shorter execution times, many high-level languages programs use a system that is partially
compilation and partially interpretation
- source code is checked and translated by compiler into object code
- Compiled object code is a low level machine independent code
- To execute the program, the object code can be interpreted by an interpreter or compiled using a
compiler
Ex: Java — can be translated by a compiler to a set of instruction (byte code) — interpreted by an
interpreter

INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)


= used by programmers to aid the writing and development of programs.
Ex: Pycharm, Visual Studios, etc

IDE have:
1. Source Code Editor
- allows program to be written and edited without the need to use a separate text editor
- Speed up the development process as editing can be done without changing to a different piece of
software each time the program needs correcting or adding to
- Most source code editors color code their words and layout of the program (Prettyprinting)
- Dynamic Syntax checks for possible syntax errors as program code is being type in the SCE and
alerts the programmer at the time before the source code is interpreted
- Logic errors can be found
2. Compiler, interpreter, or both
- interpreter is used for developing the program
- Compiler to produce the final version of the object code
3. Run-time environment with a debugger
- Debugger = program under development and aids the process of debugging
- Allows programmer to go single step through the program a line at a time or set a breakpoint to stop
the execution of the program at a certain point in the source code
- Report window then shows the contents of the variables and expressions evaluated
- Allow programmers to see if there are any logical errors in the program and check if works as
intended
4. Auto-documenter
- explain the function and purpose of programming code

CH6 - SECURITY, PRIVACY, AND DATA INTEGRITY

DATA SECURITY

DATA PRIVACY
Data Privacy= the privacy of personal information, or other information stored on a computer, that should not
be accessed by unauthorized parties

Data Protection Law


To achieve this — Data Protection Laws (laws which govern how data should be kept private and secure)
Guide:
1. Data must be fairly and lawfully processed
2. Data can only be processed for the stated purpose
3. Data must be adequate, relevant, and not excessive
4. Data must be accurate
5. Data must not be kept longer than necessary
6. Data must be processed ina accordance with the data subject’s right
7. Data must be kept secure
8. Data must not be transferred to another country unless that country also has adequate protection

DATA SECURITY
= methods taken to prevent unauthorized access to data and to recover data if lost or corrupted

1. User Accounts
- It is to authenticate a user (prove the user is who they claim to be)
- Used on both standalone and networked computer
- Consist of: Username and password
- User account control access rights
- Involves level of access

2. Passwords
- restrict access to data or systems
- Hard to crack and changed frequently to retain security
- Run anti-spyware to make sure password is not being relayed to whoever spying
- Regularly change passwords and make it hard to crack
- At least one capital
- At least one numerical
- At least one symbol
3. Digital Signatures
- a way of identifying the sender of
4. Firewalls
- software/hardware that sits between a computer and external network that monitors and filters all
incoming and outgoing activities
- Examine traffic between user’s computer and public network
- Checking whether incoming/outgoing data meets a given set of criteria
- Prevent access to undesirable sites
- However cannot protect individuals using their own modems to by-pass the firewall
- Prevent stand-alone computers from disabling the firewall
5. Antivirus Software
- Constantly check for virus attack
- Check software /files before they are run or loaded on computer
- Compare possible viruses against a database of known viruses
6. AntiSpyware Software
- detects and removes spyware programs installed illegally on a user’s computer system
7. Encryption
- the use of encryption keys to make data meaningless without the correct decryption key
- Cannot stop backer from deleting files, but stop from using the data
8. Biometrics
- use of unique human characteristics to identify a user
- Fingerprint scans, retina scans

RISKS
1. Hacking
- Malicious Hacking
- Illegal access to a computer system without the user’s permission or knowledge
- Personal details
- Ethical Hacking
- Authorized by companies to check their security measures and how robust their computer
systems are to resist hacking attacks
2. Malware
- Viruses = program or code that can replicate and/or copy themselves with the intention of
deleting/corrupting files or causing the computer to malfunction
- Spyware = gather information by monitoring
- Key press = sent back to person who sent the software
3. Phishing
- legitimate looking emails designed to trick a recipient into giving their personal data to the sender of
the email
- To prevent:
- User need to be aware of new phishing scams
- Do not click on links unless its safe (fake mails)
- Look out for https green padlock
- Be wary of pop ups
4. Pharming
- redirecting a user to a fake website in order to illegally obtain personal data about the user
- redirecting can be done using DNS Cache Poisoning
- Everytime a user types in a URL, their web browser contacts the DNS server
- IP Address of website is sent back to web browser
- DNS cache poisoning changes the real IP address values to those of the web websites
consequently, the user’s computer connects to fake website
- Protection:
- Using antivirus software
- Check https and green padlock
- Check spelling of websites

DATA RECOVERY

DATA INTEGRITY
= The accuracy, completeness and consistency of data
Can be compromised:
- during the data entry and data transmission stages
- Malicious attack on data: malware and hacking
- Accidental data loss due to hardware issues

VALIDATION
= method used to ensure entered data is reasonable and meets certain input criteria
VERIFICATION
= method used to ensure data is correct by using double entry or visual checks

1. Verification during Data Entry


- need to undergo verification to ensure there are no errors
- Double Entry
- Data is entered twice, using 2 different people, and then compared either after data entry or
during the data entry process
- Visual Check
- Entered data is compared with the original document
- Check Digits
- An additional digit added to a number
- Often used in barcodes, ISBNs, and VINs
- Catch errors including:
- Incorrect digit being entered
- Phonetic errors
- Transposition error where 2 numbers had been swapped
- Modulo-11
- Method to calculate a check digit based on modulus division by 11

2. Verification During Data Transfer


- possibility of data corruption or data loss
- Checksum = method to check if data has been changed or corrupted following data transmission
- Before block of data is transmitted, checksum for the bytes is first calculated
- Value is transmitted with the block of data
- At the receiving end, the checksum is re-calculated from the block of data received
- Calculated value is compared to the checksum transmitted
- If same = data transmitted without any errors
- If different = request is sent for the data to be re-transmitted
- Parity Check = check whether data has been changed or corrupted following transmission from one
device or medium to another
- A byte of data is allocated a parity bit
- This is allocated before transmission
- Systems that use even parity bit have an even number of 1-bits
- Systems that use odd parity bit have an odd number of 1-bits
- Before data is transferred, an agreement is made between sender and receiver regarding
which of the 2 types of parity are used
- If parity bit is different, there’s an error
- Impossible to know which bit is error
- To solve = parity blocks
- Block of data is sent and the number of 1-bits are totaled horizontally and vertically
3. Automatic Repeat Request (ARQ)
= uses acknowledgement (a message sent to the receiver indicating that data has been received
correctly) and timeout (the time interval allowed to elapse before an acknowledgement is received)
- when the receiving device detect an error in a data transmission, it ask for the data packet to
be re-sent
- If no error is detected, a positive acknowledgement is sent to the sender
- The sending device will resend the data package if:
- It receives a request to resend the data or timeout occurred
- Whole process is continuous until data packet received is correct or until the ARW timeout is
reached

CH7 - ETHICS AND OWNERSHIP


= moral principles governing an individual or organisation’s behaviour, such as a code of conduct

BRITISH COMPUTER SOCIETY (BSC)


= professional body set up in the UK to represent the rights and ethical practices of all professionals working
in the IT and computing industries
Code
- Public Interest
- Professional Competence and Integrity
- Duty of Relevant Authority
- Duty of the Profession

THE INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERING (IEEE)


= set up in the USA
Aim:
- to raise awareness of ethical issues
- Promote ethical behaviors among professionals working in the electronic industries
- Ensuring engineers and scientist respect the need for ethical behavior

PRINCIPLES
1. Public
- Software engineer shall act consistently with the public interest
2. Client and Employer
- Software engineer shall act in a manner that is in the best interests of their clients and employer
consistent with the public interest
3. Product
- Software engineers shall ensure that their product and related modifications meet the highest
professional standards possible
4. Judgment
- software engineers shall maintain integrity and independence in their professional judgment
5. Management
- Software engineers managers and leaders shall subscribe to and promote an ethical approach to the
management of software development and maintenance
6. Profession
- Software engineers shall advance the integrity and reputation of their profession consistent with the
public interest
7. Colleagues
- Software engineers shall be fair to and supportive of their colleagues
8. Self
Software engineers shall participate in lifelong learning regarding the practice of their profession
and shall promote an ethical approach to the practice of the their profession
COPYRIGHT ISSUES
Why need copyright?
- software piracy = making illegal copies of software
- Which can be sell out or give away to other people

Steps to stop illegal copying of outward and to stop illegal copies being sold:
- User will be asked to agree the license agreement before software continue to install
- user will be asked to key in a product key (string of letters and numbers) which was supplied with the
original copy of the software

SOFTWARE LICENSING
1. Commercial Software
- Available to customers for a fee
- Providing a license for one genuine copy to be used on a single device or a multi-use license for
multiple users
- Software is offered free of charge if an earlier version was bought by user
- Fully copyright protected and none of the code can be used without prior consent of the copyright
owner
2. Free Software and the Open Source Initiative
- non profit organization that promote the benefits of giving users the freedom to run, copy, change,
and adapt software
- Freedoms:
- Run the software for any legal purpose they wish
- Study the program source code and modify it where necessary to meet their needs
- Redistribute copies of the software to friends and family
- Distribute code modified by the user to family and friends
- User don’t need to seek permission as it’s not protected with copyright restrictions but user not allow
to:
- Add source code from another piece of software unless this is also described as free
software or open source software
- Use the source code to produce software which copies existing software which is subject to
copyright laws
- Use the source code to produce software which is deemed offensive by third parties

- Free Software Foundation


- Focuses on what the recipient of the software is permitted to do with the software
- Not subjected to copyright laws and users are often requested to tick a box say they
“understand the agree to the terms and conditions”
- Open Source Initiative
- Focuses on the practical consequences offered by the 4 freedoms
- Aim to provide effective collaboration on software development by the users

3. Freeware
- software a user can download from the internet free of charge
- Ex; adobe reader, skype
- Free software
- subjected to copyright laws and users are often requested to tick a box say they “understand the
agree to the terms and conditions”
- User is not allowed to study or modify the source code in any way
4. Shareware
- allows users to try out some software free of charge for a trial period
- End of trial, author of software will request that you pay fee if you wish to continue using it
- Once paid, user is registered with the originator of the software and free updates and help are then
provided
- Trial period often miss some features of the full version, not available until fee is paid
- Protected under copyright law = any source code cannot be used without permission

ARTIFICIAL INTELLIGENCE (AI)


= a machine or application which carries out a task that requires some degree of intelligence when carried
out by a human being

Tasks can be:


- Carrying out mathematical calculations or functions
- Recognizing person’s face
- Ability to operate machinery
- Analyzing data to predict the outcome of a future event

IMPACT
1. Social
- leave people with more time to pursue their interests
- Transport = automation in payment, GPS (waze)
- Criminal Justice System = facial recognition system in forensic science
2. Economic
- automation will cause production to be more efficient
- Increase unemployment (low skill jobs)
- Instability for the future labour
3. Environmental
- Find patterns and interconnection within thousands of data set
- Help scientists to make predictions about the environment and climate change
CH8 - DATABASE
= a structured collection of items of data that can be accessed by different application programs

FILE BASED APPROACH

Limitations:
- Storage space is wasted when data items are duplicated by the separate applications and some
data is redundant
- Data can be altered by one application and not by another - inconsistent
- Enquirers available can depend on the structure of data and software used so data is not
independent

RELATIONAL DATABASE
= database in which the data items are linked by internal pointers
+ storage space is not wasted as data items are only stored once - no little or no data redundant
+ Data entered is one application is available in another application - data is consistent
+ Enquirers available are not dependent on the structure of data and software used - data is
independent

*Table = a group of similar data in a database, with rows for instance of an entry and columns for each
attribute
*Record = a row in a table in a database
*Field = column in a table in a database

KEYS
- Candidate Key = an attribute or smallest set of attributes in a table where no tuple has the same
value
- Primary Key = a unique identifier for a table
- Secondary Key = a candidate key that is an alternative to the primary key
- Foreign Key = a set of attributes in one table that refers to the primary key in another table
RELATIONSHIP
= formed when one table in a database has a foreign key that refers to a primary key in another table in the
database

ENTITY RELATIONSHIP

1. One-to-One
2. One-to-Many
3. Many-to-One
4. Many-toMany
NORMALISATION
= used to construct a relational database
that has integrity and in which data
redundancy is reduced
- table that has not been
normalized appear larger

1. First Normal Form (1NF)


= entities do not contain repeated groups of attributes

2. Second Normal Form (2NF)


= entities are in 1NF and non-key attributes depend upon the primary key
3. Third Normal Form (3NF)
= entities are in 2NF and all non-key attributes are independent
- table contains no non-key dependencies

DATABASE MANAGEMENT SYSTEMS (DBMS)


= system software for the definition, creation, and manipulation of a database
HOW A DBMS ADDRESS THE LIMITATION OF A FILE BASED APPROACH
1. Data Redundancy Issue
- solved by storing data in separate linked tables, which reduces the duplication of data as most items
of data are only stored once
- Items of data used to link tables by the use of foreign keys are stored more than once
- DBMS will flag any possible errors when any attempt is made to accidentally delete this type of item
2. Data Inconsistency Issue
- solved by storing most items of data only once, allowing updated items to be seen by all applications
- As data is not inconsistent, the integrity of the data stored is improved
- Consistent data is easier to maintain as an item of data will only be changed once, not multiple
times, by different applications
3. Data Dependency Issue
- data is independent of the applications using the database, so changes made to the structure of the
data will be managed by DBMS and have little or no effect on the application using the database
4. The DBMS Approach
- uses a more structured approach to the management, organization, and maintenance of data in a
database
- An already defined data structured can be used to set up and create the database
- Uses a data dictionary to store the metadata, including the definition of tables, attributes, relationship
between tables and any indexing
- Can also define the physical storage of the data
- Improve the integrity of data stored, helping to ensure that it is accurate, complete and
consistent
- Data Modeling
- To show the data structure of a database
- Ex: E-R diagram
- Logical Scheme
- A data model for a specific database that is independent of the DBMS used to build the
database
- Provides data security to prevent unwanted alteration, corruption, deletion, sharing data with others
that has no access
- Using usernames, passwords to prevent unauthorized access
- Encryption of the data stored
- Using access rights — different level of access

USAGE OF DBMS SOFTWARE TOOLS


1. Developer Interface
- allows a developer to write queries in Structured Query Language (SQL)
- These queries are then processed and executed by the Query Processor
- Allow the construction of more complex queries to interrogate the database
2. Query Processor
- Takes a query written in SQL and processes it
- Includes a DDL interpreter, DML compiler, and a Query Evaluation Engine
- DDL Statements = interpreted and recorded in the database’s data dictionary
- DML Statements = compiled into low level instructions that are executed by the query
evaluation engine
- DML compiler will optimize the query

DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

DATA DEFINITION LANGUAGE (DDL)


= a language to create, modify, and remove the data structures that form a database
- Written as scripts that uses syntax similar to a computer program
- To work on relational databases structure

DATA MANIPULATION LANGUAGE (DML)


= a language used to add, modify, delete, and retrieve the data stored in a relational database
- written in a script that is similar to a computer program
- To work with the data stored in the relational database

STRUCTURED QUERY LANGUAGE (SQL)


= a list of SQL commands that perform a given task, often stored in a File for reuse

You might also like