Please enable JavaScript.
Coggle requires JavaScript to display documents.
CS M2 - Coggle Diagram
CS M2
error checking (don't memorize them all)
parity check
checks for data corruption
parity bit
(0 or 1) is allocated to every byte before transmitted to
ensure the number of '1' bits in every byte matches the agreed odd or even parity
the receiver checks if the number of 1' bits in every byte matches the odd or even parity, if it mismatches, an error occurs
the sender and receiver agree to use
odd or even parity
before transmission, that is,
whether the number of '1' bits in each byte
is odd or even
weakness
does not indicate
where
the error occurred in the byte
designed for single-bit error detection
because it cannot tell the difference between a correct byte and a byte with even number of bits flipped, because they will have the same odd or even parity. Inaccurate for non-even errors
strength
easy and quick to implement
errors occur using wired or wireless technology due to
interferences
wired interference causes
physical components damaged
intermittent data transmission (start and stop periodically)
interference results in
unwanted changes
in the data during transmission, including data loss, gain, and swapped bits, which causes
data error or corruption
wireless interference (uses
radio signals
) causes
signals blocked by physical barriers
bad weather
signals interfered by other wireless signals
block check (advanced parity check)
strength
able to locate the error (if there is no more than 1 error in every parity block)
sender can automatically fix the errors (if there is no more than 1 error in every parity block)
parity block
a parity byte is sent (after every multiple bytes of parity checked bytes, e.g. 8 bytes) which contains the parity bits from the
vertical parity calculation
parity bit tracks error in each bit row (horizontally), while parity byte tracks error in each bit column (vertically)
parity block contains a
block of actual data
with horizontal and vertical parity bytes
if there is only one error in a parity block, the sender can
cross-reference
both horizontal and vertical values to locate the error
weakness
unable to locate multiple errors
nobody cares about this method, really ;(
checksum
uses an algorithm to calculate a
checksum
(usually a long, complex string) of the original data, which is added to the transmission
the receiver re-calculates the checksum of the received data and compares to the original. If it mismatches, an error has occured
weakness
identifies data error or corruption but cannot locate the error
checksum is essentially a hash, which can miss certain data errors
echo check
transmitting the received data back to the sender to compare with the original data
weakness
unreliable, because error can also occur when the receiver transmits the data
nobody really cares about this method
check digits
standarised algorithms is used to validate the sequence with the check digit
a check digit is appended to the
end
of a
numerical sequence
e.g. ISBN book number
e.g. barcode
automatic repeat query
def: set of rules that notifies the sender that an error has occured
after data transmission, the receiver should send an acknowledgement transmission back to the sender
positive acknowledgement: data is correct
negative acknowledgment: data is corrupted, data is automatically resend until it is positively acknowledged
no acknowledgement within certain time frame: timeout occurred. Data is automatically resend after each waits until data has been acknowledged
Artificial Intelligence (brief)
machine learning
branch of AI
algorithm to improve the AI's ability on a certain task through training and feedback
enables AI to learn and adapt
raise ethical and legal issues such as safety and privacy
not covered by IGCSE, but recommended (By 3B1B):
https://www.bilibili.com/video/BV1xmA2eMEFF/?spm_id_from=333.1387.homepage.video_card.click&vd_source=b130bab7c4c40ec2624425d5ff5e7116
able to carry out more complex tests such as object identification
assembly language
uses combinations of letters and numbers
low level language, but fast
uses assembler to translate program to
machine code
for machines
understandable for humans
systems
embedded systems
used to perform a
specific, dedicated
function, allowing to be optimized for a sole purpose
properties compared with
general-purpose computers
small in size
uses less power
lower cost in production
usually built inside a larger mechanical unit
always uses microprocessor or microcontroller
examples
washing machines
("Nemo, don't you know what a washing machine is?")
car navigation systems
traffic lights
automated systems
robotics
advantages
continuous operations 24/7
human workers need to rest
precision and accuracy
human workers aren't as precise as robots
consistent in repetitive tasks
human workers can get tired
as a result, increased production, quality control, and less accidents
can conduct hazardous tasks
human workers don't need to risk themselves
weaknesses
expensive in setup and maintenance
result in repetitive and laborious jobs replaced by robots
only react to programmed scenarios, can't respond to emergency situations
halt production if it malfunctions
def of
robotics
: a branch of computer science that deals with the design, construction, and operation of robots
characteristics
mechanical structure
, a physical body that can interact with environment
electrical components
, including sensor, microprocessor and actuator
programmable
, designed to follow a precise set of instruction
def of
robots
: programmable machines that can perform tasks automatically
def: a system that collects information and perform tasks based on the data which
runs in a continuous loop
components
sensors
collects information in reality
converts analogue data (physical measurements) to digital (representations using binary code)
sends data to microprocessor
types
motion
proximity (e.g. distance)
light
humidity
microprocessors
makes decisions based on pre-programmed rules
in IGCSE, always involves comparing the data to
stored data
send activation/deactivation signal to actuator based on rules
actuator
make physical changes based on signals given by microprocessors
converts digital (binary signals) to analogue (in this case, voltage or current used to activate output devices, such as motors)
boolean logic
logic circuits
logic circuits
use
logic gates
to perform
logical operations
on binary information
have different arrangements of logic gates and input/output signals
representations
visual representation
you just need to connect the input/output of different logic gates and input/output signals correctly
e.g.:
boolean expression
use brackets to clarify the order of expressions
, just like in arithmetical operations
e.g.: Q=NOT(A OR B)
make sure to include the given input/output symbols
truth table
brute force every possible input and output in a boolean expression
use multiple columns to list the truth value of different stages during the evaluation
TIP: to list every combinations of 3 inputs, start from 000 and count up in 3-bit binary to 111. (e.g.: 000, 001, 010, 011, 100, 101, 110, 111)
logic gates
AND 2I1O; 00-0, 01-0, 10-0, 11-1
OR 2I1O; 00-0, 01-1, 10-1, 11-1
NOT 1I1O; 0-1, 1-0
XOR 2I1O; 00-0, 01-1, 10-1, 11-0
NAND 2I1O; 00-1, 01-1, 10-1, 11-0
NOR 2I1O; 00-1, 01-0, 10-0, 11-0