Lecture Note 01 Intro to comp
Introduction to Computing
(CS111)
Junar A. Landicho
junarlandicho@ustp.edu.ph
“
When we are no longer able to change a situation we are challenged to change ourselves.
Viktor Frankl
Topic 1:
Data Storage
IT 416
Information Systems Development and Management
Learning Outcomes
By the end of this topic, students will be able to: Create a computational artifact for creative expression. Describe the variety of abstractions used to represent data.
Explain how binary sequences are used to represent digital data.
Identify multiple levels of abstractions that are used when writing programs.
CS 111 – Introduction to Computing
Learning Outcomes
Analyze how data representation, storage, security, and transmission of data involve computational manipulation of information.
Use abstraction to manage complexity in programs. Evaluate the correctness of a program.
Employ appropriate mathematical and logical concepts in programming.
CS 111 – Introduction to Computing
Overview
1. Bits and Their Storage
2. Main Memory
3. Mass Storage
4. Representing Information as Bit Patterns 5. The Binary System
6. Storing Integers
7. Storing Fractions
8. Data and Programming
9. Data Compression
10. Communications Errors
CS 111 – Introduction to Computing
Bits and Their Storage Java
PHP
Python
CS 111 – Introduction to Computing
Bits and Their Storage
Bit: Binary Digit (0 or 1)
Bit Patterns are used to represent information
▪ Numbers
▪ Text characters
▪ Images
▪ Sound
▪ And others
CS 111 – Introduction to Computing
Boolean Operations
Boolean Operation: An operation that manipulates one or more true/false values
Specific operations
▪ AND
▪ OR
▪ XOR (exclusive or)
▪ NOT
CS 111 – Introduction to Computing
Boolean Operations
The possible input
and output values of
Boolean operations
AND, OR, and XOR
(exclusive or)
CS 111 – Introduction to Computing
Gates
Gate: A device that computes a
Boolean operation
Often implemented as small electronic
circuits called transistors
Can be constructed from a variety of
other technologies
Provide the building blocks from which
computers are constructed
CS 111 – Introduction to Computing
Gates
A pictorial representation of AND, OR, XOR, and NOT gates as well as their input and output values
CS 111 – Introduction to Computing
Flip-flops
Circuits built from gates that act as a
fundamental unit of computer memory
▪ One input line is used to set its stored
value to 1
▪ One input line is used to set its stored
value to 0
▪ While both input lines are 0, the most
recently stored value is preserved
CS 111 – Introduction to Computing
Flip-flops
A simple flip-flop circuit
CS 111 – Introduction to Computing
Setting the output of a Flip-flop to 1CS 111 – Introduction to Computing
Setting the output of a Flip-flop to 1 (continued)
CS 111 – Introduction to Computing
Setting the output of a Flip-flop to 1 (continued)
CS 111 – Introduction to Computing
Another way of constructing a flip-flopCS 111 – Introduction to Computing
Hexadecimal Notation
Hexadecimal notation: A shorthand notation for long bit patterns
▪ Divides a pattern into groups of four bits each
▪ Represents each group by a single symbol Example: 10110101 becomes 0xB5
CS 111 – Introduction to Computing
Main Memory Java
PHP
Python
CS 111 – Introduction to Computing
Main Memory
Cell: A unit of main memory (typically
8 bits which is one byte)
▪ Most significant bit: the bit at the left (high
order) end
▪ Least significant bit: the bit at the right
(low-order) end
CS 111 – Introduction to Computing
Main Memory
The organization of a byte-size memory cell
CS 111 – Introduction to Computing
Main Memory Addresses
Address: A “name” that uniquely
identifies one cell in the computer’s
main memory
▪ The names are actually numbers.
▪ These numbers are assigned
consecutively starting at zero.
▪ Numbering the cells in this manner
associates an order with the memory
Memory cells arranged by address cells.
CS 111 – Introduction to Computing
Memory Terminology
Random Access Memory (RAM):
Memory in which individual cells can
be easily accessed in any order
Dynamic Memory (DRAM): RAM
composed of volatile memory
CS 111 – Introduction to Computing
Measuring Memory Capacity
Kilobyte: 210 bytes = 1024 bytes
▪ Example: 3 KB = 3 times1024 bytes
Megabyte: 220 bytes = 1,048,576 bytes
▪ Example: 3 MB = 3 times 1,048,576 bytes
Gigabyte: 230 bytes = 1,073,741,824 bytes
▪ Example: 3 GB = 3 times 1,073,741,824 bytes
CS 111 – Introduction to Computing
Measuring Memory Capacity Additional devices:
▪ Magnetic disks ▪ CDs
▪ DVDs
▪ Magnetic tapes ▪ Flash drives
▪ Solid-state drives
Advantages over main memory ▪ Less volatility
▪ Larger storage capacities
▪ Low cost
▪ In many cases can be removed
CS 111 – Introduction to Computing
Mass Storage Java
PHP
Python
CS 111 – Introduction to Computing
Mass Storage Performance
Bandwidth: The total amount of bits that can be transferred in a unit of time
Latency: The total time between the request for data transfer and its arrival
CS 111 – Introduction to Computing
A Magnetic Disk Storage SystemCS 111 – Introduction to Computing
CD storage
CS 111 – Introduction to Computing
Flash Drives
Flash Memory – circuits that traps electrons in tiny silicon dioxide chambers
Repeated erasing slowly damages the media
Mass storage of choice for: ▪ Digital cameras
▪ Smartphones
SD Cards provide GBs of storage
CS 111 – Introduction to Computing
Representing Information as Bit Patterns
Python
Java
PHP
CS 111 – Introduction to Computing
Representing Information as Bit Patterns
Many different kinds of information
can be encoded as bit patterns
Systems for encoding information
have been established for
▪ Text
▪ Numeric Data
▪ Images
▪ Sound
▪ Other data
CS 111 – Introduction to Computing
Representing Text
Each character (letter, punctuation, etc.) is assigned a unique bit pattern.
ASCII: Uses patterns of 7-bits to represent most symbols used in written English text
ISO developed a number of 8 bit extensions to ASCII, each designed to accommodate a major language group
Unicode: Uses patterns up to 21-bits to represent the symbols used in
languages world wide, 16-bits for world’s commonly used languages
The message “Hello.” in ASCII or UTF-8 encoding
CS 111 – Introduction to Computing
Representing Numeric Values
Binary notation: Uses bits to
represent a number in base two
▪ All numeric values in a computer are
stored in sequences of 0s and 1s
▪ Counting from 0 to 8:
▪ 0000, 0001, 0010, 0011, 0100, 0101,
0110, 0111, 1000
CS 111 – Introduction to Computing
Representing Images
Bit map techniques
▪ Pixel: “picture element” represents one dot ▪ RGB: Red, Green, and Blue components ▪ Luminance and chrominance
▪ Problems with scaling up images
Vector techniques
▪ Represent images with geometric
structures
▪ Scalable
▪ TrueType and PostScript
CS 111 – Introduction to Computing
Representing Sound
Sampling techniques that record
actual audio
▪ Long-distance telephone: 8000
samples/sec
▪ CD sound: 44,100 samples/sec
MIDI stores directions for making
sound
The sound wave represented by the sequence 0, 1.5, 2.0, 1.5, 2.0, 3.0, 4.0, 3.0, 0
▪ Used in music synthesizers
▪ Encodes which instrument, note, and duration
CS 111 – Introduction to Computing
The Binary System Java
PHP
Python
CS 111 – Introduction to Computing
Binary Notation
The traditional decimal system is based on powers of ten. The Binary system is based on powers of two.
CS 111 – Introduction to Computing
Binary Notation
Decoding the binary representation 100101
CS 111 – Introduction to Computing
Binary Notation
An algorithm for finding the binary representation of a positive integer.
CS 111 – Introduction to Computing
Binary Notation
Applying the algorithm in Slide 41 to obtain the binary
representation of thirteen
CS 111 – Introduction to Computing
Binary Addition & Fractions
The binary addition facts Decoding the binary representation 101.101CS 111 – Introduction to Computing
Storing Integers Java
PHP
Python
CS 111 – Introduction to Computing
Two’s Complement
Notation
Two’s complement notation:
The most popular means of
representing integer values
Excess notation: Another
means of representing integer
values
Two’s complement notation systems
CS 111 – Introduction to Computing
Two’s Complement Notation Coding the value -6 in two’s complement notation using four bits
CS 111 – Introduction to Computing
Addition in Two’s Complement Notation
Addition problems converted to two’s complement notation
CS 111 – Introduction to Computing
The Problem of Overflow
There is a limit to the size of the values that can be represented in any system
Overflow
▪ occurs when a computation produces a value that falls outside the range of values that can be represented in the machine
▪ If the resulting sign bit is incorrect, an overflow has occurred
▪ 16 bit systems have been upgraded to 32 bit systems
CS 111 – Introduction to Computing
Excess Notation
An excess eight conversion table An excess notation system using bit patterns of length three
CS 111 – Introduction to Computing
Storing Fractions Java
PHP
Python
CS 111 – Introduction to Computing
Floating-Point Notation
Floating-point Notation: Consists of a sign bit, a mantissa field, and an exponent field.
Normalized form: fill the mantissa starting with the left-most 1
Floating-point notation components
CS 111 – Introduction to Computing
Truncation Errors
Encoding the value 2 5⁄8
CS 111 – Introduction to Computing
Truncation Errors
Occur when part of the value being stored is lost because the mantissa is not large enough
Non-terminating expansions of fractions ▪ This happens more often with binary notation
▪ The value of one-tenth cannot be stored exactly binary notation
▪ Often these values are converted to integers
CS 111 – Introduction to Computing
Numerical Analysis
The study of dealing with problems
when computing large values that
require significant accuracy
The order in which values are added
can lead to two different results
Adding very small values to very
large values can result in errors
CS 111 – Introduction to Computing
Data and Programming Java
PHP
Python
CS 111 – Introduction to Computing
Data and Programing
A programming language is a computer system created to allow humans to precisely express algorithms using a higher level of abstraction.
CS 111 – Introduction to Computing
Programming Languages
CS 111 – Introduction to Computing
Getting Started with Python
Python: a popular programming
language for applications, scientific
computation, and as an introductory
language for students
Freely available from www.python.org
Python is an interpreted language
▪ Typing:
print('Hello, World!')
▪ Results in:
Hello, World!
CS 111 – Introduction to Computing
Getting Started with Python
Variables: name values for later use
Analogous to mathematic variables in
algebra
s = 'Hello, World!'
print(s)
my_integer = 5
my_floating_point = 26.2
my_Boolean = True
my_string = 'characters'
my_integer = 0xFF
CS 111 – Introduction to Computing
Getting Started with Python
Operators and Expressions
print(3 + 4) # Prints 7
print(5 – 6) # Prints -1
print(7 * 8) # Prints 56
print(45 / 4) # Prints 11.25
print(2 ** 10) # Prints 1024
s = 'hello' + 'world'
s = s * 4
print(s)
CS 111 – Introduction to Computing
Getting Started with Python
Currency Conversion
# A converter for currency exchange.
USD_to_GBP = 0.66 # Today's exchange rate
GBP_sign = '\u00A3' # Unicode value for £
dollars = 1000 # Number dollars to convert
# Conversion calculations
pounds = dollars * USD_to_GBP
# Printing the results
print('Today, $' + str(dollars))
print('converts to ' + GBP_sign + str(pounds))
CS 111 – Introduction to Computing
Getting Started with Python
Debugging
Syntax errors
print(5 +)
SyntaxError: invalid syntax
pront(5)
NameError: name 'pront' is not defined
Semantic errors
▪ Incorrect expressions like
total_pay = 40 + extra_hours * pay_rate
Runtime errors
▪ Unintentional divide by zero
CS 111 – Introduction to Computing
Data Compression Java
PHP
Python
CS 111 – Introduction to Computing
Data Compression
Lossy versus lossless
Run-length encoding
Frequency-dependent encoding (Huffman codes)
Relative encoding
Dictionary encoding (includes adaptive dictionary encoding such as LZW encoding)
CS 111 – Introduction to Computing
Compressing Images
GIF: Good for cartoons
JPEG: Good for photographs
TIFF: Good for image archivingCS 111 – Introduction to Computing
Compressing Audio and Video
MPEG
▪ High definition television broadcast
▪ Video conferencing
MP3
▪ Temporal masking
▪ Frequency masking
CS 111 – Introduction to Computing
Communication Errors Java
PHP
Python
CS 111 – Introduction to Computing
Communication Errors
Goal: To reduce errors and increase the reliability of computing
equipment
Parity bits (even versus odd)
Checkbytes
Error correcting codes
Hamming Distance
CS 111 – Introduction to Computing
Parity Bits
The ASCII codes for the letters A and F adjusted for odd parity
CS 111 – Introduction to Computing
Error-Correcting Codes
An error-correcting code Decoding the pattern 010100 using the code CS 111 – Introduction to Computing
CS 111 – Introduction to Computing
</End>
Introduction to Computing
(CS111)
Junar A. Landicho
junarlandicho@ustp.edu.ph
“
When we are no longer able to change a situation we are challenged to change ourselves.
Viktor Frankl
Topic 1:
Data Storage
IT 416
Information Systems Development and Management
Learning Outcomes
By the end of this topic, students will be able to: Create a computational artifact for creative expression. Describe the variety of abstractions used to represent data.
Explain how binary sequences are used to represent digital data.
Identify multiple levels of abstractions that are used when writing programs.
CS 111 – Introduction to Computing
Learning Outcomes
Analyze how data representation, storage, security, and transmission of data involve computational manipulation of information.
Use abstraction to manage complexity in programs. Evaluate the correctness of a program.
Employ appropriate mathematical and logical concepts in programming.
CS 111 – Introduction to Computing
Overview
1. Bits and Their Storage
2. Main Memory
3. Mass Storage
4. Representing Information as Bit Patterns 5. The Binary System
6. Storing Integers
7. Storing Fractions
8. Data and Programming
9. Data Compression
10. Communications Errors
CS 111 – Introduction to Computing
Bits and Their Storage Java
PHP
Python
CS 111 – Introduction to Computing
Bits and Their Storage
Bit: Binary Digit (0 or 1)
Bit Patterns are used to represent information
▪ Numbers
▪ Text characters
▪ Images
▪ Sound
▪ And others
CS 111 – Introduction to Computing
Boolean Operations
Boolean Operation: An operation that manipulates one or more true/false values
Specific operations
▪ AND
▪ OR
▪ XOR (exclusive or)
▪ NOT
CS 111 – Introduction to Computing
Boolean Operations
The possible input
and output values of
Boolean operations
AND, OR, and XOR
(exclusive or)
CS 111 – Introduction to Computing
Gates
Gate: A device that computes a
Boolean operation
Often implemented as small electronic
circuits called transistors
Can be constructed from a variety of
other technologies
Provide the building blocks from which
computers are constructed
CS 111 – Introduction to Computing
Gates
A pictorial representation of AND, OR, XOR, and NOT gates as well as their input and output values
CS 111 – Introduction to Computing
Flip-flops
Circuits built from gates that act as a
fundamental unit of computer memory
▪ One input line is used to set its stored
value to 1
▪ One input line is used to set its stored
value to 0
▪ While both input lines are 0, the most
recently stored value is preserved
CS 111 – Introduction to Computing
Flip-flops
A simple flip-flop circuit
CS 111 – Introduction to Computing
Setting the output of a Flip-flop to 1CS 111 – Introduction to Computing
Setting the output of a Flip-flop to 1 (continued)
CS 111 – Introduction to Computing
Setting the output of a Flip-flop to 1 (continued)
CS 111 – Introduction to Computing
Another way of constructing a flip-flopCS 111 – Introduction to Computing
Hexadecimal Notation
Hexadecimal notation: A shorthand notation for long bit patterns
▪ Divides a pattern into groups of four bits each
▪ Represents each group by a single symbol Example: 10110101 becomes 0xB5
CS 111 – Introduction to Computing
Main Memory Java
PHP
Python
CS 111 – Introduction to Computing
Main Memory
Cell: A unit of main memory (typically
8 bits which is one byte)
▪ Most significant bit: the bit at the left (high
order) end
▪ Least significant bit: the bit at the right
(low-order) end
CS 111 – Introduction to Computing
Main Memory
The organization of a byte-size memory cell
CS 111 – Introduction to Computing
Main Memory Addresses
Address: A “name” that uniquely
identifies one cell in the computer’s
main memory
▪ The names are actually numbers.
▪ These numbers are assigned
consecutively starting at zero.
▪ Numbering the cells in this manner
associates an order with the memory
Memory cells arranged by address cells.
CS 111 – Introduction to Computing
Memory Terminology
Random Access Memory (RAM):
Memory in which individual cells can
be easily accessed in any order
Dynamic Memory (DRAM): RAM
composed of volatile memory
CS 111 – Introduction to Computing
Measuring Memory Capacity
Kilobyte: 210 bytes = 1024 bytes
▪ Example: 3 KB = 3 times1024 bytes
Megabyte: 220 bytes = 1,048,576 bytes
▪ Example: 3 MB = 3 times 1,048,576 bytes
Gigabyte: 230 bytes = 1,073,741,824 bytes
▪ Example: 3 GB = 3 times 1,073,741,824 bytes
CS 111 – Introduction to Computing
Measuring Memory Capacity Additional devices:
▪ Magnetic disks ▪ CDs
▪ DVDs
▪ Magnetic tapes ▪ Flash drives
▪ Solid-state drives
Advantages over main memory ▪ Less volatility
▪ Larger storage capacities
▪ Low cost
▪ In many cases can be removed
CS 111 – Introduction to Computing
Mass Storage Java
PHP
Python
CS 111 – Introduction to Computing
Mass Storage Performance
Bandwidth: The total amount of bits that can be transferred in a unit of time
Latency: The total time between the request for data transfer and its arrival
CS 111 – Introduction to Computing
A Magnetic Disk Storage SystemCS 111 – Introduction to Computing
CD storage
CS 111 – Introduction to Computing
Flash Drives
Flash Memory – circuits that traps electrons in tiny silicon dioxide chambers
Repeated erasing slowly damages the media
Mass storage of choice for: ▪ Digital cameras
▪ Smartphones
SD Cards provide GBs of storage
CS 111 – Introduction to Computing
Representing Information as Bit Patterns
Python
Java
PHP
CS 111 – Introduction to Computing
Representing Information as Bit Patterns
Many different kinds of information
can be encoded as bit patterns
Systems for encoding information
have been established for
▪ Text
▪ Numeric Data
▪ Images
▪ Sound
▪ Other data
CS 111 – Introduction to Computing
Representing Text
Each character (letter, punctuation, etc.) is assigned a unique bit pattern.
ASCII: Uses patterns of 7-bits to represent most symbols used in written English text
ISO developed a number of 8 bit extensions to ASCII, each designed to accommodate a major language group
Unicode: Uses patterns up to 21-bits to represent the symbols used in
languages world wide, 16-bits for world’s commonly used languages
The message “Hello.” in ASCII or UTF-8 encoding
CS 111 – Introduction to Computing
Representing Numeric Values
Binary notation: Uses bits to
represent a number in base two
▪ All numeric values in a computer are
stored in sequences of 0s and 1s
▪ Counting from 0 to 8:
▪ 0000, 0001, 0010, 0011, 0100, 0101,
0110, 0111, 1000
CS 111 – Introduction to Computing
Representing Images
Bit map techniques
▪ Pixel: “picture element” represents one dot ▪ RGB: Red, Green, and Blue components ▪ Luminance and chrominance
▪ Problems with scaling up images
Vector techniques
▪ Represent images with geometric
structures
▪ Scalable
▪ TrueType and PostScript
CS 111 – Introduction to Computing
Representing Sound
Sampling techniques that record
actual audio
▪ Long-distance telephone: 8000
samples/sec
▪ CD sound: 44,100 samples/sec
MIDI stores directions for making
sound
The sound wave represented by the sequence 0, 1.5, 2.0, 1.5, 2.0, 3.0, 4.0, 3.0, 0
▪ Used in music synthesizers
▪ Encodes which instrument, note, and duration
CS 111 – Introduction to Computing
The Binary System Java
PHP
Python
CS 111 – Introduction to Computing
Binary Notation
The traditional decimal system is based on powers of ten. The Binary system is based on powers of two.
CS 111 – Introduction to Computing
Binary Notation
Decoding the binary representation 100101
CS 111 – Introduction to Computing
Binary Notation
An algorithm for finding the binary representation of a positive integer.
CS 111 – Introduction to Computing
Binary Notation
Applying the algorithm in Slide 41 to obtain the binary
representation of thirteen
CS 111 – Introduction to Computing
Binary Addition & Fractions
The binary addition facts Decoding the binary representation 101.101CS 111 – Introduction to Computing
Storing Integers Java
PHP
Python
CS 111 – Introduction to Computing
Two’s Complement
Notation
Two’s complement notation:
The most popular means of
representing integer values
Excess notation: Another
means of representing integer
values
Two’s complement notation systems
CS 111 – Introduction to Computing
Two’s Complement Notation Coding the value -6 in two’s complement notation using four bits
CS 111 – Introduction to Computing
Addition in Two’s Complement Notation
Addition problems converted to two’s complement notation
CS 111 – Introduction to Computing
The Problem of Overflow
There is a limit to the size of the values that can be represented in any system
Overflow
▪ occurs when a computation produces a value that falls outside the range of values that can be represented in the machine
▪ If the resulting sign bit is incorrect, an overflow has occurred
▪ 16 bit systems have been upgraded to 32 bit systems
CS 111 – Introduction to Computing
Excess Notation
An excess eight conversion table An excess notation system using bit patterns of length three
CS 111 – Introduction to Computing
Storing Fractions Java
PHP
Python
CS 111 – Introduction to Computing
Floating-Point Notation
Floating-point Notation: Consists of a sign bit, a mantissa field, and an exponent field.
Normalized form: fill the mantissa starting with the left-most 1
Floating-point notation components
CS 111 – Introduction to Computing
Truncation Errors
Encoding the value 2 5⁄8
CS 111 – Introduction to Computing
Truncation Errors
Occur when part of the value being stored is lost because the mantissa is not large enough
Non-terminating expansions of fractions ▪ This happens more often with binary notation
▪ The value of one-tenth cannot be stored exactly binary notation
▪ Often these values are converted to integers
CS 111 – Introduction to Computing
Numerical Analysis
The study of dealing with problems
when computing large values that
require significant accuracy
The order in which values are added
can lead to two different results
Adding very small values to very
large values can result in errors
CS 111 – Introduction to Computing
Data and Programming Java
PHP
Python
CS 111 – Introduction to Computing
Data and Programing
A programming language is a computer system created to allow humans to precisely express algorithms using a higher level of abstraction.
CS 111 – Introduction to Computing
Programming Languages
CS 111 – Introduction to Computing
Getting Started with Python
Python: a popular programming
language for applications, scientific
computation, and as an introductory
language for students
Freely available from www.python.org
Python is an interpreted language
▪ Typing:
print('Hello, World!')
▪ Results in:
Hello, World!
CS 111 – Introduction to Computing
Getting Started with Python
Variables: name values for later use
Analogous to mathematic variables in
algebra
s = 'Hello, World!'
print(s)
my_integer = 5
my_floating_point = 26.2
my_Boolean = True
my_string = 'characters'
my_integer = 0xFF
CS 111 – Introduction to Computing
Getting Started with Python
Operators and Expressions
print(3 + 4) # Prints 7
print(5 – 6) # Prints -1
print(7 * 8) # Prints 56
print(45 / 4) # Prints 11.25
print(2 ** 10) # Prints 1024
s = 'hello' + 'world'
s = s * 4
print(s)
CS 111 – Introduction to Computing
Getting Started with Python
Currency Conversion
# A converter for currency exchange.
USD_to_GBP = 0.66 # Today's exchange rate
GBP_sign = '\u00A3' # Unicode value for £
dollars = 1000 # Number dollars to convert
# Conversion calculations
pounds = dollars * USD_to_GBP
# Printing the results
print('Today, $' + str(dollars))
print('converts to ' + GBP_sign + str(pounds))
CS 111 – Introduction to Computing
Getting Started with Python
Debugging
Syntax errors
print(5 +)
SyntaxError: invalid syntax
pront(5)
NameError: name 'pront' is not defined
Semantic errors
▪ Incorrect expressions like
total_pay = 40 + extra_hours * pay_rate
Runtime errors
▪ Unintentional divide by zero
CS 111 – Introduction to Computing
Data Compression Java
PHP
Python
CS 111 – Introduction to Computing
Data Compression
Lossy versus lossless
Run-length encoding
Frequency-dependent encoding (Huffman codes)
Relative encoding
Dictionary encoding (includes adaptive dictionary encoding such as LZW encoding)
CS 111 – Introduction to Computing
Compressing Images
GIF: Good for cartoons
JPEG: Good for photographs
TIFF: Good for image archivingCS 111 – Introduction to Computing
Compressing Audio and Video
MPEG
▪ High definition television broadcast
▪ Video conferencing
MP3
▪ Temporal masking
▪ Frequency masking
CS 111 – Introduction to Computing
Communication Errors Java
PHP
Python
CS 111 – Introduction to Computing
Communication Errors
Goal: To reduce errors and increase the reliability of computing
equipment
Parity bits (even versus odd)
Checkbytes
Error correcting codes
Hamming Distance
CS 111 – Introduction to Computing
Parity Bits
The ASCII codes for the letters A and F adjusted for odd parity
CS 111 – Introduction to Computing
Error-Correcting Codes
An error-correcting code Decoding the pattern 010100 using the code CS 111 – Introduction to Computing
CS 111 – Introduction to Computing
</End>