As Cs Notes All Chaps
As Cs Notes All Chaps
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
*Nibble = 4 bits
*Byte = 8 bits
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
CHARACTER SETS
- All the character/symbols a computer can represent
- Each character has a unique binary value used to represent them
UNICODE
+ Covers majority of different languages across the world
+ Uses 16 bits/32 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
+ To edit the design, need to change each of + Consists of a matrix of individual dots (or
the geometric shapes pixels) that all have their own color (made up
+ File size is small since made up of of binary)
geometric shapes + Made up of pixels
+ Created by a drawing package or a + Image built from pixel by pixel, final image
computer-aided design (CAD) are usually very realistic
+ Constructed using mathematical formulas, + Can edit each pixel to change the design of
which makes it scalable the image
+ Has a drawing list + Most images are typically stored as a bitmap
+ Bitmap image usually have a file header
- 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
NOTE : If either sampling rate or sampling resolution is increased or both , there will be smaller gaps between
sample (rate) which makes the digital sound more accurate and reduce quantisation error and increase
amount of detailed [Link] digital waveform will more closely resemble the analogue waveform
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
+ 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 the
+ Use run length encoding audio file to reduce the file size.
- Lossy not used on text file as it can corrupt + an image which has a large background
the file 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
HARDWARE:
1. hubs
- Connects devices to form LANS
- Send data packets to every computer in the network this leads to security risks and wastes
bandwidth
2. Switch
- Connects devices to form LAN send the data packets to appropriate node thus more secure
than hubs
- Devices within a network that forward packets within the network itself
- Allow multiple computers to connect to a network through a single node
3. Server
- Computer or system that provides resources, data, service to computers, known as clients
4. Network Interface Card (NIC)
- Computer hardware component that connects a wire-based computer to a computer network
usually the company’s network
- It allows computers to connect to networks such as the internet.
5. Wireless Network Interface Card (WNIC)
- Computer hardware component that connects a radio-based computer to a computer network
usually the company’s network
- Use antennas to communicate with the computer via microwaves
- And usually plugged to the USB port
6. Wireless Access Point (WAP)
- Access point which allows wired devices to connect to a wired network the wap itself is
connected to the wired network.
- Hardware device on a LAN that allows wireless capable devices and wired networks to connect
through a wireless standard (WiFi or Bluetooth).
7. Cables
- Wired transmission medium that allow communication in wired networks
- Coaxial, Twisted Pair, and Fibre optic cables
8. Bridge
- Connect two lans with the same protocols
- Connect multiple devices that has the same protocol & provide communication between them
9. Repeater
- Extend the range of a network by regenerating and amplifying signals allowing signals to reach
long distances
- Prevents dead spots
- Non logical devices as the boost all signals detected
- Unmanageable
- latency
- 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(Public switched telephone network)
- Use fibre optic Cable, satellite radio, and microwave radio
Benefits:
- Wider reach : can connect locations over large distances allowing businesses to operate in different
cities.
- Resource sharing organisation can share resources such as servers database and applications
- Scalability, they are easily expandable
- 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
Disadvantages:
- Expensive to setup due to the need of dedicated lines and routers
- More complex to manage than LAN need specialised knowledge and skills
- Security vulnerability the larger the network the increase in potential attacks
HARDWARE
1. Routers
- Connect 2 different networks using the same protocol.
- Regulate network traffic
- Assign private IP address
- Calculates the most efficient route for data packets to be sent
- 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
4. modems
- It allows the computer to connect to the internet by turning digital data into an analogue signal
so it can travel over phone lines and cable wires
INTERNET WORKING
= shortened to Internet
INTERNET is massive network of networks which are made up of various computers and electronic devices
- uses IP protocol/ transmission control protocols (TCP)
- Access provided by internet service providers
- 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
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
Decentralised network where each node connected to each other stores its own data and acts as a client
and server
= 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/less network traffic each peer can
simultaneously receive data from different sources
- No need to authentic users
- Scalability is easier
- Cheaper since there is reduce need of servers in the network
- If one node goes down the network still works
Disadvantages:
- used in small areas
- Security risks as there is no authentication
- Data integrity issues ; data is accessed by many clients, hence may be inconsistent
- 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 an 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
- 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
Protocol used by wired lans which allows devices in the lan to send data between themselves via cables
Made up of:
A node(any device on LAN)
medium(path used by LAN devices such as ethernet cables)
frame(data is transmitted in frames which are made up of source address and destination addresses)
CONFLICTS
Occurs when devices on the same network have the same IPaddress . it is impossible for devices without
unique IP addresses to connect to the internet .
Occurs when one device having a dynamic IP address has the same address as a device having a static ip
address.
To resolve this a router may need to be restarted.
COLLISION
Occurs when two nodes are transmitting data on the same channel at the same time
Carrier sense multiple access with collision detector(CSMA/CD)
-> Protocol used to detect and prevent collisions especially in bus topologies
- A node listens to the communication channel
- Data is only sent when channel is free
- SInce there is more than 1 computer connected to the same transmission medium,
- If 2 workstations transmit at the same time , it can cause a collision
- If a collision happens , the workstations send a jamming signal
- Each node waits a random amount of time before attempting to resend
CLOUD COMPUTING; allows computers to access or store data and application over the internet
instead of local computers and servers
= the provision of computing services usually via the internet
Benefits:
- Accessibilitycan be accessed from anywhere where the internet is available.
- Acts as a backup for any accidental data loss.
- Scalability, easy to adjust to cope with an organisation's requirement.
Disadvantages:
- Security risks, data stored can be vulnerable to hacking.
- Internet dependency requires a stable internet.
- Downtime cloud service providers may experience outages that may make data unable to access.
- Ongoing costs such as subscription fees.
2. Public Cloud: computing services are provided over the internet by a third party provider
= owned by a cloud service provider for general access.
Advantages
-Cost effective, users only pay for the resources they consume while the costs of maintenance is
taken upon by service providers.
- can be accessed anywhere where the internet is available.
Disadvantages
- Security risks, shared resources can expose sensitive data to breaches.
- Limited control over infrastructures and may face limitations in customization .
- Downtime,cloud services providers can experience outages preventing accessibility.
TOPOLOGIES
1. Bus
- Single central cable connecting all devices with terminators at each end
- Terminators are needed at each end to prevent signal reflection
- Travels in only one direction(if data is sent between devices than the other device cannot
transmit.
- They are typically peer to peer
Benefits:
- Even if one node fails the network still functions.
- Easy to increase the size of the network by adding additional nodes.
Disadvantages:
- If the main cable breaks the entire network goes down.
- Performance deteriorates after heavy loading.
- Difficult to troubleshoot therefore not used in large networks.
- Not secure since each data packet passes through every node.
2. Star
- Uses a central switch/ hub where nodes are connected .
- Each node has a dedicated connection.
- 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:
- More secure data goes to the correct data packets.
- Easy to install and wire.
- No disruptions to the network if one node fails.
- Easy to detect faults and to remove parts.
Disadvantages:
- Requires more cable length than a linear bus topology.
- If switch/hub goes down than the entire network goes down goes down.
- More expensive than linear bus topology because of the cost of the connecting devices
(network switches).
3. Mesh
There are two types routing where nodes acts as routers and send the data to the correct node by
using the shortest route and flooding where router send to sends to all the nodes
- Every network device is connected to another network device
- Used for site-to-site WAN connectivity, to increase redundancy
Benefits:
- Easy to expand.
- Easy to recognize faults.
- Privacy as data packets are sent in dedicated routes.
- 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
organisation.
Advantages
- Can handle large traffic .
- Easy to recognize faults.
- Well suited for the creation of large networks.
Disadvantage
- Is difficult and complex to manage.
- Expensive to set up.
uses cables to connect devices Uses radio waves and infrared signals to transmit
data between devices without the need of a cable
+ Faster data transfer rates + Accessibility, can offer internet access from
+ More reliable (are less vulnerable to anywhere where wires are impractical
interference such a weather and physical + Scalability ; straightforward and easy no
obstacles providing a more stable need for additional infrastructures for
connection) expansion
+ More secure (as they require physical + Mobility as not tied to cable
access to the network making unauthorised + Cheap as it eliminates wiring expenses
access difficult + Easier installation,Easy to set up as there
are no cables.
WIRED NETWORK
= Carries data as electrical signals and can consist = Transmit data as light
of a twisted pair
- Doesn’t perform well with small charges - Needs expensive optical transmitter and
- Affected by electromagnetism receivers
- Limited bandwidth which may limit data - Only transmit data in one direction
transfer speed - fragile
- More easily intercepted
Fibre optic
Single mode uses single light source thus less reflection thus can be used in longer distances
Multi mode uses multiple light sources more reflections thus used in shorter distances
WIRELESS NETWORK
BIT STREAMING
= the transfer of a sequence of bits at a high speed one at a time, representing a stream of data over the
internet, hence it requires some form of buffering and high broadband connection.
Bit rate number of bits transmitted per second
Benefits of bit streaming
- No need to wait for the whole file to download before the user can watch.
- No need to store large files on the device.
- Allows video files to be played on demand.
- More difficult to copy streamed files than stored on hard drives.
- No need for specialist hardware.
Disadvantages of bit streaming
- Cannot stream video or music file if broadband connection is lost.
- Streaming uses a lot of bandwidth.
- Security risks associated with downloading files over the internet.
- Video files will pause if insufficient buffer capacity or slow broadband connection.
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 a bit stream from a buffer.
- The event is captured live with a video - Existing media are encoded to bit streaming
camera that is connected to a computer, format and uploaded to a server, can be
and cannot 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 - The server sends live images to the user.
- Server duplicates the feed and sends it to all - When a client requests to watch a specific
clients requesting in real time video, a bit stream is set up which transmits
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
PRIVATE PUBLIC
- Only unique within a LAN hence can be - IP Address is unique and can be across the
accessed within LAN internet
- Issued by router in a LAN - Assigned by the ISP
- NAT(network address translation required - Address can be reached over the internet
by private IP addresses to access the
internet)
- More secure than public IP addresses since
they are hidden by net NAT
- Reduce the number of public IP addresses
needed
- Need Network Address Translation (NAT) to
access the internet directly
- Can be duplicated in different networks
STATIC DYNAMIC
IPv4 IPv6
none why?
- the number of IP address needed will
exceed the number available by using only
IPv6
- 32 bits grouped into four blocks - 128 bits grouped into 16 blocks
- Range 0-255 - Range 0000 to FFFF
- Each block can have a value between 0 to - Each block can have 4 hexadecimal value
255
with range 0000 to FFFF
- Separated by a full stop
- The first two number is the network - Separated by colons
- Last two numbers are host - Only 1 double colon is allowed
- EX: - Ex:
- 192.0. 2.146 1234:1234:1234:0000:1234:1234:1234:123
4
ZERO COMPRESSION:
IPv6 can be shortened by replacing zeros with double columns but this is applied only once.
BENEFITS OF IPV6 OVER IPV4
- Has no need for NAT
- Removes the risk of private ip address collision
- Allows for more efficient routing
- Has built in authentication
IP ADDRESSES ARE DIVIDED INTO TWO PARTS:
- NetID
This identifies the specific network to which the devices belong to , it allows routers to route data to
the correct network
- HostID
It identifies a host/device on a network it ensures data sent over the network reaches the right device
EXAMPLE
[Link] the host id is 10 and the net id is 192.168.1
SUBNETTING
Is dividing LAN small into smaller manageable subnetworks.
The IP is broken down into three parts without changing the NetID The host ID is divided to two parts host
ID and subnet ID(which identifies the subnet in the network)
Subnet mask hides the net ID allowing data only to be routed in the subnet
Advantage
- Increases security by limiting access and control traffic flow between sub networks
- Reduces network traffic
- Hides the complexity of the network
- Allows better allocation of IP addresses reducing waste and ensuring efficient use of IP addresses
CH3 - HARDWARE
Laser printer
• A laser beam (bounces off moving mirrors) scans back and forth across
The drum
• ...discharging certain points (i.e. ‘drawing’ the letters and images to be printed as a pattern of electrical
charges)
• The drum is coated with oppositely charged toner (which only sticks to Charged areas)
• The drum rolls over electro-statically charged paper // Electro-statically Charged paper is fed (towards the
drum)
• The electrical charge is removed from the drum // the excess toner is Collected
3D printer
- Using x, y, z coordinates
SLS
- Uses a laser to form objects from powdered material
Microphone
sound waves
• Changes in the audio signal causes the direction of the electric current to
Change
-changing the direction of the current changes the direction of the polarity of the
electro-magnet
• That vibration is transmitted to the air in front of the cone / diaphragm as sound
• The amount of movement will determine the frequency and amplitude of the
The disc is spun at high speed • A laser is shone onto the disc to read / write • ... using optical head to move
it into position ... it follows the spiral track from the centre outwards When writing [Link] laser burns pits to
represent the data • When reading the laser reflects from pits and lands • The reflection from a pit and a
land is different ... the differences are interpreted as 1 or 0|
touchscreen
Resistive: The space between the conductive layers is removed/the layers touch and a circuit is completed ,
Capacitive: Screen is coated with transparent conductive material that stores electrical charge. The
electrical charge changes where the user pressed • The point of contact is identified ... from the change in
electrical field The software/microprocessor calculates the coordinates|
1.
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
The lens between the eyes and the screen causes a 3D effect because of the focus and reshaping
- 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 eye 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 series for sensor and LED measure this movement, which allows the image/video
on the screen to react to the user’s head movement
- Headset also use binaural sound so speaker output appears to come from behind, side, from a
distance giving a realistic 3D
- Infrared sensors to monitor eye movement which allows the depth of field on the screen to be more
realistic
STORAGE DEVICES
PRIMARY STORAGE
Why?
- to store files needed to boot the system/ part of os running/ bios/ firmware
READ ONLY MEMORY (ROM) RANDOM ACCESS MEMORY (RAM)
SECONDARY STORAGE
Why?
- to store files/software long term
1. INTERNAL SECONDARY STORAGE
HDD, Tape Drive SD Card, SSD Hard Drives, USB DVD, CD, Blu ray
Pen Drive
Solid state is made up of
transistor gate floating
gate:stores electrons and control
gate which stores flow of
electrons
- 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 - Lower power meaning it can store
speed consumption(laptop use) movies with better picture
- Uses will not have - Runs much cooler than and sound quality
to wait for videos HDD making it suitable for - Portable
to load laptops - More expensive than
- Storage costs less per - ** SSD less longevity DVDs.
unit storage hence cant be used in - Requires a Blu-ray player
- If a large number servers with huge - Can lose data when
is needed, cost amounts of write scratched.
would be quite low operations.
- Slower degradation of - Fast access speed
data - Users won’t have
- Last longer and to wait for videos
more reliable to load
under heavy use - Reliable
- Can be damaged
and would still
work
- No moving parts
- Not possible to overwrite
the existing data
- Need to erase the
old data to write
- To read/write uses
movement of
electrons
- Made of transistors floating gates (holds electrons) and control gates (controls the flow of electrons)
- 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)
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
- CHARACTERISTICS OF EMBEDDED SYSTEM
Installed into the device.
Have a specific task.
Not easily changed .
Are ,managed by microprocessors.
PROS CONS
BUFFERS
= hold data temporarily as it is transferred from one component to another e.g. keyboard buffers,printer
buffers,video buffers.
Advantages of buffers
Prevents data loss
Smooth operations/playback/communications(avoid interruptions)
Purpose of buffers
-Data transfer management
Data is transferred at different speeds , buffers hold data temporarily to avoid interruption of
processes at the receiving end and prevent data loss EG: If a laptop is sending data to the computer , the
data is sent to the buffer by laptop so that the printer can receive the data at its own speed and user can
continue to use the laptop instead of waiting for the slower printer.
-enhancing device communication
Multiple devices or processed communicate buffer facilitates interaction and allows synchronisation
-NOTE ; When the buffer is empty , an interrupt is sent to laptop to send more data
MONITORING SYSTEM
SENSORS
Are input devices which measure and read physical properties
= 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 so
processor can understand
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
Take control signals into physical action such as adjusting
= 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
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
FEATURES
- Central Processing Unit (CPU/Processor)
- Memory where both data and instructions can be stored
- Input devices such as keyboards
- Output devices such as monitors
- Storage ,such as HDD and SSD
- 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.
Current Instruction Register CIR Stores the current instruction being decoded
and executed
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
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
COMPUTER PORTS
UNIVERSAL SERIAL BUS (USB)
+ simpler technology
+ Only 1 standard available
+ Easy to split the signal and connect a number of devices from one source
+ Connection is very secure
INTERRUPTS
= a signal sent from a device or software that require attention of the processor.
- this will cause the processor to temporarily stop what it is doing and service the interrupt.
- Allow a computer to carry out many tasks
- allow it to open many windows at the same time
Caused By:
- timing signal
- Input/output processes e.g. disk drive ready to receive data
- User interaction e.g. user presses a key such as <ALT> or <BREAK>
- Hardware fault e.g. paper jams
- Software error e.g. dividing by zero and an [Link] not being found to run a program
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
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 used
- This speeds up the development time as some errors are identified during translation before the
program is executed
TYPES OF ASSEMBLER
1. One Pass
- Removes white lines.
- 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
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
RELATIVE ADDRESSING the memory address used is the current memory address added to
the operand
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
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
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
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 reorganised
- Replacing bad sectors with new unused sectors
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
Source program assembly language - high level language to high level language to
translated to... machine code machine code machine code
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
- Errors cannot be corrected in real time - end user will need to purchase a compiler or
- Code cannot be changed without an interpreter to translate source code
recompilation before use
- One error may result in other false errors - Developer have no control of source code,
being reported more difficult to change for upgrades
- Cannot test unfinished source code - Contain syntax or semantic errors if any part
of the program has not be fully tested,
hence need to debug
WHY?
– Partially compiled programs can be used on different platforms as they are interpreted when run.
-Code is optimised for CPU as machine code is generated at run time
IDE :
1. CONTEXT SENSITIVE PROMPTS: Provide hints/suggestions based on the context of the code.
2. DYNAMIC SYNTAX CHECKS: Finds possible syntax errors as code is being written into the editor
and alerts the user at the same time.
3. PRETTYPRINT: Colour-coding words, organising and indenting the code to make it more readable
and easier to understand.
4. EXPAND AND COLLAPSE CODE BLOCKS: Hide(collapse) details of a block, showing only a line
which can be re-opened(expand). This reduces on screen clutter which improves focus and reduces
excessive scrolling.
5. SINGLE STEPPING: Run program one line at a time to locate exact line where error occurs.
6. BREAKPOINT: Marker placed on a specific line of code where execution will stop automatically .
Saves time in long programs. A REPORT WINDOW shows the contents of variables and
expressions evaluated at that point in the program.
7. AUTO DOCUMENTER: Explain the function and purpose of programming code.
DATA SECURITY
DATA PRIVACY
Data Privacy= the privacy of personal information, or other information stored on a computer, that should not
be accessed by unauthorised 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
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
Aim:
- to raise awareness of ethical issues
- Promote ethical behaviours among professionals working in the electronic industries
- Ensuring engineers and scientist respect the need for ethical behaviour
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 judgement
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
A copyright is legal protection that gives creators total control of how their work is used and distributed and
prevents others from using their work without their permission
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 licence for one genuine copy to be used on a single device or a multi-use licence 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
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
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 - DATABASES
= a structured collection of items of data that can be accessed by different application programs
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/ a unique attribute used to identify a record
- 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
- tuple is a single instance of an entity that is represented as a table row.
- Attribute =a column in the table/ an individual data item stored for an entity
- entity=anything that can have data stored about it
- Referential integrity =makes sure that when data is changed the change is reflected in all related
records/the database must not contain any values of foreign key that are not matched with the
corresponding primary key.
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 normalised appear larger
ABSTRACTION
- the process of extracting essential information, while ignoring what is not
relevant, for the provision of a solution
- Encourages the development of simplified models that are suited to a specific purpose
by eliminating any unnecessary characteristics from that model
- Ex: Map, Calendar, Timetables
- Maps to show what is required for a specific purpose: road map
- Only showing essential details needed
Benefits:
+ the time required to develop the program is reduced so the program can be delivered to
the customer more quickly
+ The program is smaller in size so it takes up less space in memory and download times
are shortened
+ Customer satisfaction is greater as their requirements are met without any extraneous
features
HOW
- identify the purpose of the model of the situation that is to be built
- Once identified, sources of information need to be identified (observations, view of
potential users, evidence of existing models)
- Use information gathered from appropriate sources to identify what details need to be
included in the model (details to be presented, need to be removed, etc)
DECOMPOSITION
= the process of breaking a complex problem into smaller parts until each part is easy to
examine and understand, hence a solution can be developed for it
Pattern Recognition
= used to identify those parts that
are similar and could use the same
solution
- led to the development of
reusable program code in the form
of subroutines, procedures, and
functions
- When writing a comp
program, each final part is defined
as a separate program module that
can be written and tested with a
separate pro cedure or function
ALGORITHMS
= an ordered set of steps to be followed in the completion of a task
METHODS
1. Structured English
- method of showing the logical steps of the algorithm using an agreed subset of
straightforward English words for commands and mathematical operations
2. FlowChart
- a diagrammatic representation of an algorithm
- To show the structure of an algorithm
3. Pseudocodentax of a specific programming language, but provide sufficient detail to
allow a program to be written in a high-level language
4.
- a method of showing the detailed logical steps in an algorithm, using keywords,
identifiers with meaningful names, and mathematical operators
Not follow the sy3 fxds
STEPWISE REFINEMENT
= the practice of subdividing each part of a larger problem into a series of smaller parts, and so
on, as required
CH10 - DATA TYPES AND STRUCTURES
DATA TYPES
= a classification of different types of data
- Determine properties like what operations can be conducted on the data and how the
data will be stored
RECORD
= a composite data type comprising several related items that may be of different data types
*Composite Data Type = a data type constructed using several of the basic data types available
in a particular programming language
- must be defined before it can be used
- Any data type not provided by a programming language must be defined before it can be
used
In records, there is an IDENTIFIER
- Identifier = a unique name applied to an item of data
ARRAYS
= a data structure containing several elements of the same data types
- Index = the position of each component of an array
- Lower Bound = the index of the first element in an array
- Usually 0 or 1
- Upper Bound = the Index of the last element in an array
- Why?
- Used to store multiple data types in a uniformly accessible manner
- All data types use the same identifier and each data item can be accessed
separately by the use of an index
- Hence, a list of items can be stored, searched, and put into an order
1D ARRAYS
= a list
2D ARRAYS
= a table, with rows and columns
LINEAR SEARCH
= a method of searching in which each element of an array is checked in order
- uses variables Upperbound and Lowerbound so that the algorithm is easier to adapt for
different lengths of list
- REPEAT UNTIL loop makes use of 2 conditions, so that the algorithm is more efficient,
termination as soon as the item is found in the list
IDENTIFIER TABLE
- good practice to provide an identifier table to keep track of and explain the use of each
identifier in an algorithm
- Allows the programmer to keep track of the identifiers used and provides a useful
summary of identifiers and their uses if the algorithm requires modification at a later date
BUBBLE SORT
= a method of sorting data in an array into alphabetical or numerical order by comparing
adjacent items and swapping them if they are in the wrong order
- start from the lower bound and finishing with the element next to the upper bound
- The element at the upper bound is now in the correct position
- This comparison is repeated with 1 less element in the list until there is only 1 element
left or no swaps are made
FILE
= a collection of data stored by a computer program to be used again
2. EOF
= a list containing several = a list containing several = a list containing several items
items operating on the items operating on the first in, in which each item in the list
last in, first out (LIFO) first out (FIFO) principle points to the next item in the list
principle
➔ uses two pointers ➔ uses two pointers ➔ Uses a smart pointer that
➔ A base pointer ➔ A front pointer points points to the first item in
points to the first to the first item in the the linked list
item in the stack
queue and a rear ➔ Every item in a linked list
and a top pointer
points to the last pointer points to the is stored together with a
item in the stack last item in the queue pointer to the next item
➔ When they are ➔ When there are equal, ➔ This is called a node
equal there is only there is only one item ➔ The last item in a linked
one item in the in the queue list has a null pointer
stack
QUEUE
LINKED LIST
CH12 - SOFTWARE DEVELOPMENT
PROGRAM DEVELOPMENT LIFECYCLE
PURPOSE OF A PROGRAM DEVELOPMENT LIFECYCLE
- To develop a successful program or suite of programs that is going to be used by others
to perform a specific task
STAGES
1. Analysis
- A process of investigation, leading to the specification of what a program is required to
do
2. Design
- Uses the program specification from the analysis stage to show how the program should
be developed
3. Coding
- The writing of the program or suite of programs
4. Testing
- The testing of the program to make sure that it works under all conditions
5. Maintenance
- The process of making sure that the program continues to work during use
WATERFALL MODEL
= A linear sequential program development cycle, in which each stage is completed before the
next is begun
ITERATIVE MODEL
= a type of program development cycle in which a simple subset of the requirements is
developed, then expanded or enhanced, with the development cycle being repeated until the full
system is deployed
PROGRAM DESIGN
STRUCTURE CHART
= a modeling tool used to decompose a problem into a set of sub-tasks
- shows the hierarchy or structure of the different modules and how they connect and
interact with each other
- Show selection
- Show repetition
TYPES OF ERRORS
PROGRAM TESTING
TEST STRATEGY
= an overview of the testing required to meet the requirements specified for a particular program
- shows how and when the program is to be tested
TEST PLAN
= a detailed list showing all the stages of testing and every test that will be performed for a
particular program
- to clarifier what tests need be perform
During the program design stage, pseudocode is written
- Tested using a dry run on trace table
- Dry Run = a method of testing a program that involves working though a program
or module from a program manually
WALKTHROUGH
= formalized version of a dry run using predefined test cases
- When another member of the development team independently dry runs the
pseudocode, or the developers takes the team members through the dry run process
- Often does as a demonstration
- During the program development and testing, each module is tested as set out in the
test plan