40
(c) Kasim Rashid 1 Kasim Rashid About this book This book is intended to go over the essentials of what is needed for the GCSE Computer Science exam. This is designed to go over the important (but not all) content in GCSE Computer Science. The content in this eBook is based on Edexcel GCSE Computer Science (2016) (9-1 specification.) course, but can be used with any exam board course. This book is not endorsed by Edexcel. Any feedback would be much appreciated as it took over two years to get to this finished point since I started from scratch. Please let me know on TES. This Book has an Attribution Licence which means "I want credit for my work and to freely share my resource with no restrictions on what others can do with it." The material for this booklet has been written by myself with information complied together from various sources such as BBC bitesize computer science website. These include the images as well as some form Google. As this booklet is free to use, all attempt has been used to get images that will not harm any intellectual property. This is to be used for educational purpose. If you believe that your intellectual property has been misused, please contact me on TES. Contents: 1. Problem Solving & Programming Page 2 2. Data and Data Representation Page 14 3. Computers Page 23 4. Network Communication & The Internet Page 32 5. Emerging Trends, Issues and Impact Page 40 Kasim Rashid Computer Science Teacher at FBS

Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

1

Kasim Rashid

About this book

This book is intended to go over the essentials of what is needed for the GCSE

Computer Science exam. This is designed to go over the important (but not

all) content in GCSE Computer Science.

The content in this eBook is based on Edexcel GCSE Computer Science (2016)

(9-1 specification.) course, but can be used with any exam board course.

This book is not endorsed by Edexcel.

Any feedback would be much appreciated as it took over two years to get to

this finished point since I started from scratch. Please let me know on TES.

This Book has an Attribution Licence which means "I want credit for my work and to

freely share my resource with no restrictions on what others can do with it."

The material for this booklet has been written by myself with information complied

together from various sources such as BBC bitesize computer science website.

These include the images as well as some form Google. As this booklet is free to use,

all attempt has been used to get images that will not harm any intellectual property.

This is to be used for educational purpose. If you believe that your intellectual

property has been misused, please contact me on TES.

Contents:

1. Problem Solving & Programming Page 2

2. Data and Data Representation Page 14

3. Computers Page 23

4. Network Communication & The Internet Page 32

5. Emerging Trends, Issues and Impact Page 40

Kasim Rashid Computer

Science Teacher at FBS

Page 2: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

2

1. Problem Solving & Programming

Algorithms

Algorithms are sets of rules that define a solution to a problem. Algorithms can be

expressed in many ways but typically as a flowchart or in pseudocode:

There are four ways you can interpret algorithms (flowcharts, pseudocode, written

descriptions & program code)

Producing Algorithms - Flowcharts

Display how data flows and decisions are made. The basic ones include:

The flowchart below is created from simple written instructions in the black box.

Stop

Start

Input Value 1 Output

Out of

Range

The start and stop (there may be

more than one Stop) Decision

(Yes/No)

Process (Something that

happens) Input or Output

Value1 >=1

Value2 >=1

Testing data with trace tables

Trace table are used to run through an

algorithm to see how it performs step by step.

Input values: 0, 3, 5

Input Output

0 Out of range

3

5 15

SquareValue = Value1*Value2

Output SquareValue

No

No Yes

Yes

A simple flowchart a number between 1 to

10 and its square

1. Enter the number between 1 and 10

2. Reject values not in range and

request the input again

3. If valid input, calculate the square of

the value

4. Output the value and its square.

Input Value 2

Page 3: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

3

Producing Algorithms - Pseudocode

Pseudocode is a way to write algorithms using code-like language.

However these are not actual programming code. There is no "correct" way to write it

Variables and Constants

Variables Constant

Assign values to variables Value always stays the same and cannot change. They are written in capitals so no not to confuse with variables and sometimes are written with a CONST when setting up. E.g. CONST REAL PI

Datatype

Data types are used to identify what type the value is

Data type Description Examples

Integer Whole numbers 3, 0, -777

Float/Real number with decimal points 0.15, -588.432

String Alphanumerical or symbol data "good", “football123???”

Character Single text data 'x'

Boolean One of the other e.g. true or False True/False

Data Structures –Strings

String data is a collection of individual characters. You can manipulate strings, such

as joining strings together (concatenation), find string length, using loops to find each

character in a string etc. Arrays and Lists are the same expect arrays are fixed sizes,

Data Structures –Arrays & 2D Arrays

A variable can store only 1 piece of data at a time. Arrays can store multiple values

under one array name. Each array data is an element and they start at 0

Example, a set of names for 8 people could be stored like name (0), name (1), etc.

Index value 0 1 2 3 4 5 6 7 8

Elements Ash Gary Brock Misty Surge Sabrina Erika Blane Giovanni

An array that contains arrays is called a two-dimensional array. This is usually seen

as a table. In python they are usually declared with the name and the amount of row

and column in square brackets. chessBoard[0,0]

Page 4: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

4

Operations & Comparison Operators

Operators are symbols and statements that do certain functions within a

program. There are different types of operator:

○ Arithmetic (mathematical) operators

Arithmetic Operator Purpose

+ addition

- subtraction

/ division

* multiplication

^ exponentiation (powers)

MOD Module (Division Remainder)

DIV Integer Davison

○ Relational operators

Relational operators Purpose

> Greater than

>= Greater than or equal to

< Less than

<= Less than or equal to

== Equal to

<> Not Equal to

○ Boolean (logical) operators

AND OR NOT AND - Retunes true if both conditions are true

OR – Returns TRUE id any of the conditions are true.

NOT – Reverses the outcome so true becomes false and vice versa

Page 5: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

5

Pseudocode Code – Writing Pseudocode

Below is the main pseudocode from different exam boards from Edexcel, other exam

boards, slightly change their pseudocode, but the table is still helpful.

structural

component Pseudocode

Comment # comment text

Input (collects data from user)

RECEIVE <variable/identifier> FROM (data type) <device>

Output (outputs data)

SEND <expression/variable> TO DISPLAY

Assignment – assigns data to the Array, variables, constants

SET variableName TO <value> or <maths calculation>

SET arrayName TO [value, value, value…] SET arrayName[index] TO <value>

SET twoDArrayName[row,column] TO <value>

CONST (data type) <CONSTANTNAME>

Selection/ Conditional Statement (selects which data to run based on the condition)

IF condition THEN

<true alternative command>

ELSE

<false alternative command>

ENDIF

IF condition THEN

<true alternative command>

ELSEIF condition THEN

RECEIVE Name FROM (STRING) KEYBOARD

RECEIVE YesNo FROM (CHARACTER) READER

SEND ‘Welcome to my system. Thank you for turning me on.’ TO DISPLAY

SEND variable TO DISPLAY

CONST REAL PI

SET PI TO 3.14159

SET circumference TO radius * PI * 2

SET chessBoard[8,8]

SET chessBoard [8,8] TO Rook

SET classSize TO [ ]

SET classSize TO [1:30]

SET classSize TO [16, 16, 19, 17, 15]

SET Age [3] TO 21

SET age TO 18

SET count TO count +1

SET count TO Count -1

SET name TO “Ben”

SET total TO total + total

IF number > 5 THEN

SEND “Value is greater than 5” TO DISPLAY

ELSE

SEND “Value is zero or less” TO DISPLAY

ENDIF

Page 6: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

6

<true alternative command>

ELSE

<false alternative command>

ENDIF

Iteration (WHILE – pre-condition, FOR – post condition [count controlled] REPEAT – post condition [done in expression]

FOR variable FROM expression TO expression DO <command> <command> END FOR (Some arrays will be END FOREACH)

WHILE condition DO <command> <command> ENDWHILE

REPEAT <command> <command> UNTIL … (Some repeats have END REPEAT)

IF (numA = 0) AND (numb =1) THEN

SEND numA TO DISPLAY

ELSEIF numB > numC THEN

SEND number TO DISPLAY

ELSE

SEND number TO DISPLAY

ENDIF

WHILE dangerLevel = 0 DO

SEND ‘All is well’ TO DISPLAY

END WHILE

SET total to 0

FOR count FROM 1 TO 10 DO

SEND “input pounds” TO DISPLAY

RECEIVE number FROM (INTERGER) keyboard

SET total TO total + number

SET count TO count +1

END FOR

SEND total TO DISPLAY

REPEAT

SEND “Please enter A or B” TO DISPLAY

RECEIVE letter FROM (CHARACTER) keyboard

UNTIL response = “A” OR “a” OR “B” OR “b”

Page 7: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

7

Data validation checks (String Handling)

Length check - LEN (variableName) Presence check - variableName = NULL Range check – (condition) <logial operator> (condition) Using & with a STRING and a non-STRING will coerce to STRING. For example, SEND `Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation.

File handling (how to read/write to file)

READ <File> <record> WRITE <File> <record>

Declaring Function/ Procedure (sub-programs) Used as a program within a program) – consists of local variables

PROCEDURE id name (parameter 1, para2, ...) <command> <command> END PROCEDURE

FUNCTION <id name> (<parameter>, …) BEGIN FUNCTION <command> RETURN <variable> END FUNCTION

Calling Function/ Procedure

CALL <function/parameter id name> (parameter)

AddRace (Race1, Race2, Race3)

FUNCTION AddRace ((Race1, Race2, Race3)

BEGIN FUNCTION

SET Total to (Race1 + Race2 + Race3)/3

RETURN Total

END FUNCTION

PROCEDURE CalculateAverage (Race1, Race2, Race3)

BEGIN PROCEDURE

SET Average to (Race1 + Race2 + Race3)/3

END PROCEDURE

You can either create a flowchart

or pseudocode to show the same

solution

It is up to you to decide which one

is going to be more efficient when

show a solution to a problem

using these methods.

LEN(password)

READ MyFile.doc Record

WRITE MyFile.doc Answer1, Answer2, ‘xyz 01’

LEN = NULL

(age > 10) AND (age < 17)

Page 8: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

8

Subroutines (Procedures and Functions)

Subroutines are used as a sub-program within a program and helps with

decomposing your program to make it easier to structure.

Using subroutines makes it easy to read as there is no long block of text, reduces

duplication as once written it can be called to be reused, instead of writing the code

again and more reliable as it can be tested.

Parameters

Parameters are like variables that are used to pass

values into a subroutine. They are declared inside

the brackets after a subroutine's name.

There are two types of subroutines functions and

procedures.

Procedures

Procedures are basic subroutine.and are blocks of

instructions that run but don't return a value back to the

part of the program that has called it. Procedures can

have parameters

They may have one or more parameters, but they don't have to

Functions

Function are subroutines that always return an output value

and have at least one parameter.

Functions are defined in Python like procedures

(i.e. def functionname()),

Global and local variables

Variables declared inside a subroutine can only be used within the subroutine. These

are called local variables as they can only be accessed within the subroutine.

Global variables on the other hand can be accessed by any part of the program. If

accessed in a subroutine, the global keyword needs to be used.

def triangleArea (height, width):

area = height * width/2

return area

The example shows both a global

and local variable with the same

name been run and producing

different results.

Page 9: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

9

Programming Constructs – in Pseudocode code

Sequence Selection The flow goes from top to bottom For example, a program to input two numbers then output their total.

Usually used for as choices. The IF-THEN-ELSE construct allows the program to take one of several paths. To determine if a person can go onto a ride in a theme park, we might use:

Iteration The program completes a set of instructions a number of times until a condition is met.

Count-control Condition Control

To make a program execute a set of commands several times, we can use a count-controlled loop. In a count-controlled loop, we use an index value to tell the program how many times to complete the loop. For example, to print a times table

In a condition-controlled loop, we tell the program to either stop executing the commands when a condition is reached or tell it to execute the commands while a condition is true.

Repeat-Until executes the code that follow until a condition is true.

While-End executers the code that follows while a condition is true.

.

Input num1

Input num2

Total = num + num 2

Output total

Get height

IF height >= 1.5M THEN

Alow onto ride

ELSE

Do not allow onto ride

ENDIF

FOR k= 1 TO 12 OUTPUT k “times 7 is k*7 Next K END FOR

Count = 0 Total = 0 REPEAT INPUT “enter number” value Count = count +1 Total = total + value INPUT”More numbers?” more UNTIL more <> “yes” OUTPUT total,total/count

Count = 0 Total = 0 More = “yes” WHILE more = “yes” INPUT “enter number” value Count = count +1 Total = total + value INPUT”More numbers?” more ENDWHILE OUTPUT total,total/count

Page 10: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

10

Programming Constructs – In Flowcharts

Sequence as flowcharts Selection as flowcharts

Iteration as flowcharts

WHILE loops (Condition control) [pre-condition]

REPEAT UNTIL loops [Post-Condition

FOR Loops (Count-controlled) [Post-

Condition]

Start

Start

stop

stop

Page 11: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

11

Algorithms - Searching and Sorting

In a data structures, you can using sorting and searching algorithms

Sorting Algorithm Searching Algorithm

A sort algorithm sorts item of data within a data set. There are two main sort algorithms:

Bubble Sort

Merge Sort

A search algorithm finds a specific item of data within a data set. There are two different search algorithms:

Linear search

Binary search

The merge sort algorithm: Use the “divide and conquer” where you break down the list by splitting, until every item is on its own. Then soft list will merge once sorted Merging ordered lists is easier than unordered lists

The Bubble Sort algorithm:

1. Compare first and second item, if the 2nd item is smaller than, swap, other- wise leave them

2. Move onto the 2nd and 3rd item and repeat the steps until the end.

3. This is the end of the first pass

4. Keep repeating until no more swaps are needed to sort.

The linear search algorithm:

1. Start with the first item

2. Compare the item to target

3. if matches then stop search

4. Move onto the next item in the list if match not found.

5. Repeat until item is found or every item has been checked

6. If every item has been checked and the target has not been found then it is not in the list

The binary search algorithm:

1. Find the middle item in dataset

2. Compare middle item to target:

3. if matched then item found

4. If target is smaller, then ignore the bigger section.

5. If the target is larger than ignore the smaller section.

6. Repeat until the target has been found or the dataset cannot split any more

EXAMPLE: Break down following until it is on its own

41 73 4 1 7 3 Then you merge 14 37 1 3 4 7

4 1 7 3

1 3 4 7

EXAMPLE: Sort the following list:3, 2, 4, 1, 5 • 3, 2, 4, 1, 5 (2<3) • 2, 3, 4, 1, 5 (3<4) • 2, 3, 4, 1, 5 (1<4) • 2, 3, 1, 4, 5 (4<5) • 2, 3, 1, 4, 5 (First pass completed) It will do it until the numbers are in order and there are no more passes.

EXAMPLE: Use linear search to find 3

4 7 3

1. Compare 4 with 7

move to next item 2. Compare 7 to 3 3. 3 found

EXAMPLE: Use binary search to find 3

1 2 3

1. Go to middle which

is two. 2. Anything smaller

than two gets ignored.

3. Go to the right as it is larger

4. 3 is found.

GOOD – Efficient BAD – Whole algorithms runs

GOOD – Simple BAD – Slow on long lists

GOOD – easy & items can be in any order BAD – Slow

GOOD - Efficient BAD - Data must be ordered

Page 12: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

12

Algorithm Thinking – Computational thinking

Computational thinking (CT) helps understands complex problems in order to

form a solution.

There are two main things to computational thinking:

Abstraction - removing details that are not relevant to solving the problem

Decomposition - breaking a problem down into smaller pieces

Abstraction

Abstraction is a CT technique that simplifies a problem by removing unnecessary detail

so that you can focus on the important parts

EXAMPLE

When doing a find Wally puzzle, to find Wally, you focus on his clothes in the picture, when

trying to find him and ignore everything else.

Maps can also be seen as abstraction as they are representative of routes. They don’t show all

the detail e.g. signposts, grass etc.), only outlines.

In programming, Variables to represent real entities such as the age of a player or score.

.

Decomposition

Decomposition is when you break down a complex problem into smaller parts. Each part

can then be solved separately.

EXAMPLE

When you creak down a dance move into steps, so you can learn it.

When you break down a programming code into subroutines such as functions or procedures.

.

Page 13: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

13

Readability of code

There are benefits of producing programs that can be broken down so they are

easy to read so another person can understand them easier. This is better than

having one huge block of code. The techniques include:

Comments – which explain parts of the code usually done with # or //

Descriptive names (variables, constants, subprograms) – must fit into the

purpose of program.

Indentation – Code is spaced, so you know where it belongs to e.g. IF

statements, have the command after the condition.

Testing a program to find errors.

You can test a program in many ways such as using suitable test data, using trace

tables and inputting validation to checking that input data meets certain criteria.

The purpose of testing errors is to see if there are any bugs and if the program

works with both correct and incorrect data.

Types of test data

There are lots of test data that can be used:

Valid data (normal) - data that is correct and know will produce the right

output.

Invalid data - data that you know is not going to be acceptable

Boundary data - data that is just on the edge of the range.

Erroneous data - data that of the wrong type altogether, e.g. entering 'Brock'

instead of a real number.

Types of Errors

Syntax errors – problems with the code that is written

Logic errors – conditions that cannot be met, infinite loops, incorrect

expressions. This can lead to run time errors.

Runtime errors - Errors that occur when the program is running, e.g. system

run out of memory.

Test plans

Test plans are like a checklist that goes through each tests with test data.

Each test on the test plan should refer to one success criteria. Each test

usually ends up with a "pass" or "fail".

Test # Test Test data Outcome

1 Only enter age as a whole number

12 Expected to accept data

Misty Expected to no accepted data

Page 14: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

14

2. Data and Data Representation

Morden computers work in binary because it is easy to represent two states.

Made of loads of transistors a tiny switch activated electronic signals Binary is

a number system with just two symbols, 0 and 1. They can be represented by

numbers, text, sound and graphics.

₣ Each digit in a binary number is called a bit (Binary digit) 27

₣ Denary uses base 10 - tens, units (100, 101) and binary uses base two (20, 21)

Converting from binary to denary

The binary number system works like the familiar base10 system using multiples

of two instead of ten, for column values. In binary, the column values are:

128 27 64 26 32 25 16 24 8 23 4 22 2 21 1 20

If we want to know what the binary number 10110 is in denary (base 10). Then we

put the number into the table and add together the column values where there’s a ‘1’.

Values 128 64 32 16 8 4 2 1 Total

Bit 1 0 1 1 0 32 Add 16 4 2

8 bits in a byte, the column goes up to 255 and 8 columns. To make 256 you add

another column, but it will become a more

than one byte

Units

A group of 8 binary digits or bits is called a

byte. As in base 10, we have numbers for key

values based on 210 or 1024 bytes.

Converting from denary to binary

One method for converting denary (base 10) to binary (base 2) is repeated

division by 2, recording the remainder each time.

For example, convert 205 base into binary.

Number ÷ 2 Total Remainder Binary Number for 205

205 ÷ 2 102 1 10110011 205 in base 10 =110011001 in base 2 (binary)

102 ÷ 2 51 0

51 ÷ 2 25 1

25 ÷ 2 12 1

12 ÷ 2 6 0

6 ÷ 2 3 0

3 ÷ 2 1 1

1 ÷ 2 0 1

Values Name

8 bits 1 byte

1024 bytes 1 kilobyte

1024 kilobytes 1 megabyte

1024 megabytes 1 gigabyte

1024 gigabytes 1 Terabyte

Half a byte, 4 bits called a nibble.

Page 15: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

15

Negative Binary Numbers

Sign & Magnitude - In a bit pattern, the first bit shows positive (1) or negative (0).

The other seven bits would be used to store the actual size of the number.

Negative Binary 1 0 0 0 1 0 0 1

The smallest negative binary number using this method is -127 (or 11111111)

the largest possible number is +127 (or 01111111).

Negative numbers: Two's complement (TC) With TC, the bit far left of the bit most significant bit (MSB) MSB MSB is used to indicate positive or negative and the remaining bits are used to store the actual size of the number. Positive numbers always start with a 0 Four-bit, positive, two's complement numbers would be 0000 = 0 up to 0111 = 7.

Negative numbers always start with a 1. Smallest negative number is the largest binary value 1111 is -1 down to 1000 = -8.

Using two's complement for negative numbers

1. Find the positive binary value for the negative number you want to represent.

2. Add a 0 to the front of the number, to indicate that it is positive.

3. Invert or find the complement of each bit in the number.

4. Add 1 to this number.

Examples Find -1 using two's complement numbers

1 = 001 o Adding 0 to the front becomes 0001

'Inverted' becomes 1110 Add 1 = 1111 (-8 + 4 + 2 + 1 = -1)

Find -4 using two's complement numbers

4 = 100 o Adding 0 to the front becomes 0100

'Inverted' becomes 1011 Add 1 = 1100 (-8 + 4 = -4)

This table shows the two's complement set for 4-bit numbers.

Denary 4-bit binary

-8 1000

-7 1001

-6 1010

-5 1011

-4 1100

-3 1101

-2 1110

-1 1111

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

The first bit, 1, indicates a

negative number (sign)

The other seven bits indicate the

number, 0001001 = 9 (magnitude)

Page 16: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

16

Adding Binary Numbers

Adding in binary uses the same approach as in base 10, we add the values and if

the values is larger than the column, we “carry” the value into the next column.

To add 1101 to 1011 in binary

1 1 0 1

+ 1 0 1 1

Answer 1 1 0 0 0

If a computer uses storage values that are 8 bits long and we add together

11000010 and 10111010, the following happens. We need a ninth binary digit.

1 1 0 0 0 0 1 0

+ 1 0 1 1 1 0 1 0

Answer 1 0 1 1 1 1 1 0 0

If our computer has only 8 bits to store, this last bit will be lost which is called

overflow. The result of the addition is too big to fit in the available space.

Binary Shifts (Logical Shifts)

A binary shift is a way to perform multiplication or division on a binary number,

where each digit is moved ("shifted") per column to the right or left. Extra 0 bits

are added to the start or end of the binary number to fill any missing spaces.

Shifting Left – Each time you shift left, you multiply the binary number by 2.

o 0010 1100 left-shifted twice = 1011 0000 (multiplied by 2 twice = x4)

o 0010 1100 is 44 in denary and 1011 0000 is 176 in denary.

Shifting Right – Each time you shift right, you divide the binary number by 2.

o 1000 right shifted twice = 0010 (divided by 2 twice = /4)

o 1000 is 8 in denary and 0010 is 2 in denary

Binary Shifts (Arithmetic Shifts)

Arithmetic shifts are used with positive/negative binary numbers. This means the

first bit in the number is kept in place to show it is a positive or negative number.

Extra 0’s or 1’s are fill in either at the end (shift left) or after the first digit (shift right).

Arithmetic Shifting Left –shift left, you add a 0 at the end.

o 01111111 left-shifted once = 01111110 (zero added at last bit)

Arithmetic Shifting Right –shift right, add the sign bit number after first digit.

o 11111100 right shifted once = 11111110 (one added after first digit.)

Sometimes the shifts are not always accurate and may cause overflow or not

rounded correctly.

1+1 = 10 (in binary), we write 0 for

the answer and carry 1

0+1+1 = 10 so we write 0 and carry 1

1+0+1 = 10 so we write 0 and carry 1

1+1+1=11 so we write 1 and carry 1

0+1=1 so we write 1

Page 17: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

17

Hexadecimal numbers

Large binary numbers hard to remember – Used for colour references (RGB)

Hexadecimal is easy to remember. An 8-bit byte splits easily into 4-bit nibbles.

128 64 32 16 8 4 2 1

8 4 2 1 8 4 2 1

These are now 16’s

In four bits, the largest value we can

store is 1111 or 8+4+2+1 = 15

If we are to represent each nibble using

a single digit, we need more symbols.

In hexadecimal, we use the letters A

to F to represent the base 10 numbers

10 to 15.

Converting between hexadecimal and denary

Converting from Hex (base 16) to Denary (base 10) uses column values.

27 hex in base 10 is

32+7=39 in base 10

Convert BD in hex into base 10

176+13 = 189 in base 10

To convert from base 10 to hexadecimal, we can use the repeated division

approach: divide by 16 and record the remainders until the results is 0.

Convert 197 in base 10 into

hexadecimal

Base 10 (Den) Base 2 (Bit) Base 16 (Hex)

0 0 0

1 1 1

2 10 2

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

16 10000 10

16 1

2 7

2 x 16 = 32 7 x 1 = 7

16 1

B D

11 x 16 = 176 13 x 1 = 13

197 ÷ 16 = 12 5

12 ÷ 16 = 0 C

Answer C5

197 base 10 is CS in hexadecimal.

Page 18: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

18

Converting between binary and hexadecimal

To convert from binary to hexadecimal, split the binary number into two nibbles

and convert each one to get the hexadecimal equivalent.

Convert 10100011 (binary) into hexadecimal

8 4 2 1 8 4 2 1

1 0 1 0 0 0 1 1

10 in base 10 = A in Hex 3 in base 10 = 3 in Hex

So 10100011 in A3 in hexadecimal

Converting between hexadecimal and binary

To convert from hexadecimal to binary, we replace each hex digit with the

equivalent to the binary nibble.

Convert BD (Hex) to a binary number

o B (Hex) = 11 (base 10) = 1011 (binary)

o D (Hex) = 13 (base 10) = 1101 (binary)

BD in hex is 10111101 in binary

Convert C5 in hex to a binary number

o C (Hex) = 12 (base 10) = 1100 (binary)

o 5 (Hex) = 5 (base 10) = 0101 (binary)

C5 in hex is 10111101 in binary

Data representation

Characters

- Symbols display by a computer are represented by a code.

- The codes used are stored in binary which determines how many symbols.

- ASCII uses 7 bits so can provide 127 characters or symbols plus a null

character (128 in total- 27). Extended ASCII 8 bits - 256 characters

- ASCII is in order - When we sort words ‘Zebra’ comes before ‘apple’

Page 19: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

19

Images – How They Are Stored

Images are stored in binary on a computer. This image of flowers is stored as

many binary values.

Computers are able to work out how to turn these binary values into the image

because the file with the binary data contains metadata (data about the data).

The height and width of the image is measured in pixels:

- A pixel is one “dot” in the image.

- The number of bits we use for a pixel determines how many colours each

dot can represent:

Images - Colour depth

The more Bits per Pixels (BPP) the greater the colour depth and more bits stored

16 BPP is called high colour --------------------------------- 24 BPP is called true colour

Bitmap images digital cameras, online - file types JPEG, GIF and PNG.

Bitmap images are organised as a grid of coloured squares called pixels.

When zooming - the pixels are stretched why bitmaps appear as poor quality

The greater the number of bits to represent each pixel, the greater the number of

colours that are available for each pixel.

The resolution of a bitmap image is number of pixels that make up the image.

Higher resolution & Colour depth means a bigger file size.

Images - Calculate image File Size (a formula is used)

file size = Colour-depth x high image x width image

e.g. 100 x 100, 8 bit image = 100 x 100 x 8 = 80000

Binary values of a photo

stored in a file

Page 20: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

20

Sound

Sound files can interpret the sound data accurately. When sound is recorded by

a computer its volume (amplitude) is logged as binary values at regular intervals.

This process is called sampling.

The data stored includes:

- Sample rate - Makes continuous signal a non-continuous signal. It determines

the range of values that are available to represent the amplitude

- Bit rate - the number of bits required to store one second of audio.

Sound is analogue form (continuously varying) form.

To transfer sound to a computer, it needs to be digitally sampled.

The sample interval is used to describe the sample rate and is the time between

samples being taken – the higher the sample interval, the lower the sample rate.

Sound - Calculate sound bit rate (a formula is used)

bit rate = sampling frequency x sample size

o e.g. a CD uses one audio channels, sampled 44,100 times per second,

using 8-bit samples - bit-rate expression is 1 * 44100 * 8

When sound is sampled at a low rate: When sound is sampled at a high rate:

Very few samples are taken

There is poor match between original sound and sampled sound.

A small size file is required.

Many more samples are taken

These is a good match between the original sound and the sampled sound

A large size file is required.

A high bit rate means accurate sampling, better quality & bigger storage.

Digital audio quality – factors

Factors that improve the quality of audio/ Increasing the sample size - allows for greater sound wave accuracy

Increasing the sampling frequency (sample rate)

Taking samples more often means matches more to the original recording

Doing these two techniques will make a larger file.

Factors that affect the quality of digital audio include:

sample rate - the number of audio samples captured every second

bit depth - the number of bits available for each clip

bit rate - the number of bits used per second of audio

Page 21: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

21

Compression

Files compression means reducing the size of a file. This is done in order to:

- Save storage space on device media

- Reduce transmission times on a network, especially the internet

One disadvantage of using compression slower operations.

There are two main types of file compression

Lossy Compression Lossless Compression

Lossy Compression works by removing some of

the data from the file.

The data removed cannot be recovered.

Lossy compression is used in file formats such

as MP3, JPEG – good for websites.

The more an image is compressed, the less

details will be visible.

Lossy compression algorithms often attempt to

remove the least important details such as the

highest frequency sounds in a music file that

many people cannot hear.

Lossy compressions can produce dramatic

savings in file size.

Lossless Compression does not

store repeated details such as lots

of blue pixels in a photo that

includes the sky.

It allows the original file to be

reconstructed exactly.

A computer program will not work

if much of it has been removed to

save space.

Here is one way lossless compression can be used.

A table of details such as words or pixels is set up in order to store the data, the

table is stored plus an index for each word whine it occurs.

1 2 3 4 5 6 7 8 9

If you are not fired with Enthusiasm will be

Therefore, a sentence could be written from the table such as 1234567289567 aka if

you are not fired with enthusiasm you will be fired with enthusiasm

Run-length encoding (RLE) is a form of lossless compression that replaces

sequences with more efficient representations. Example in a representation of

colour rrrbbyyrgggr can be RLE to 3r 2b 2y 1r 3g 1r (always remember that when it

comes to data been on its own, you must always include the 1 e.g. 1r

Page 22: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

22

Encryption and Caesar Cipher

Encryption "scrambles" data by applying an encryption algorithm to the binary

data. This can be used on a file. Encrypted data can only be decrypted by applying a

secret "key”,

The most famous of these is the Caesar Cipher. They are used with alphabets to

decrypt code. They can be encoded by shifting the letters a certain way to decode

In the example below, the Caesar Cipher has been

shifted three places to the left (-3). E.g. E becomes B.

When it does reaches A, it will go to the back of the

alphabet again e.g. A = X

Database

Structured data refers to data that that is grouped and belongs to a category. E.g.

data on a list is structured as it all belongs to the list.

A database stores structured data like entities and attributes on a system.

An entity is a representation of an object in the real world, while an attributes

describe each entity

Data models (Flat file vs Rational)

Flat file database

Just rows (records) & columns (fields), suitable for address

book using just a spreadsheet

Relational database

Relational databases are common and flexible. Relational

databases store data in separate tables. The tables are linked

together so related data is easily extracted.

You can show these

relationships through entity-

relationships diagram ERD

Important things to know about a database

Record (row) – all related data about 1 thing can

be shown in a row.

Field (column) – a piece of data that has different

attributes,

Primary Key - a field that uniquely identifies each

record within a table.

Foreign Key - a field in table that is used as a

primary key field in another table. These two

tables are linked.

Page 23: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

23

3. Computers A Technical system is collection of hardware and software that work together to

achieve some data processing task. The input–process–output (IPO) model (shown

below), or input-process-output pattern, is a widely used for describing the structure

of the processing of a device.

Computer System Input Output Processing

ATM Card details Balance, Cash Check balance, adjust balance

GPS Signals from satellite, Input from User.

Route, Warnings Check Position, Locate on Map

Travel Card (Oyster Card)

Money, Input Journey

Display Balance Calculate Journey Cost

Embedded Systems Part of a larger system and are usually control systems and portable devices. Designed for as fixed purpose. - USB, - Scientific Calculator - Controllers of machinery in factory.

Advantages Disadvantages - Faster - Cheaper - Less power use

- Devices many not use the same systems - Does not upgrade with technology - Hard to backup

Computer Architecture

Architecture internal logical and organisation of the computer hardware.

Von Neumann architecture basis for all modern digital computers.

All data and instructions are stored in RAM, as binary numbers

The Central Processing Unit (CPU)

The CPU carries out all the processing in the computer.

The Arithmetic and Logic Unit (ALU) carries out all A & L operations

The Control Unit (CU) uses signals to control the flow of data in the CPU.

Registers (R) [Internal memory] - small amount of fast temporary memory

where ALU/CU can store/change instructions values. Some include the

accumulator (ACC) and program counter (PC)

Secondary Storage

Main memory Storage

Input Processing Output

Page 24: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

24

The Fetch-Execute Cycle (basic explanation)

The input that is processed and outputted is data and instructions. Data is a

value, while instructions tell the computer what to do with the value.

The Fetch-Execute Cycle (Advanced Explanation)

Fetch

The address of next instruction to be

processed is copied from Program

Counter and is incremented to point

to the next instruction that will be

needed when the fetch decode

execute cycle starts again

Execute

The operation is performed by the

ALU which given by the Control Unit.

Decode

The Control Unit decodes the

instruction and sends control signals

to the component and the cycle starts

again.

.

The speed at which a CPU can process data depends on:

The CPU Clock

How fast the CPU can run The speed of the fetch-execute cycle is determined by an electronic clock chip. The clock speed is measured in cycles per second, known as hertz (Hz)

Cache Memory

Small amount of storage - temporarily holds instructions that the CPU is likely to reuse The CPU control unit checks cache for instructions before requesting data Data that is in use is transferred to cache memory to make access to it faster.

Type & number or processor cores

Multi-core processors use multiple CPU’s working together. The CPUs can all fetch, decode and execute instructions at the same time.

Advantage Disadvantage

more data is processed simultaneously

More complicated operating systems needed to manage them.

Fetch

DecodeExecute

1. Fetch the instruction from

memory

2. Decode the instruction to

find out what processing

to do.

3. Execute the instruction

Fetch

Decode

Execute

Page 25: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

25

CPU - Running a stored program

For a CPU to execute instructions translated into Machine code Machine code is simple binary codes that activate parts of the CPU.

The CPU only performs a few basic functions: Cache

Cache memory is very fast memory in the CPU and used to store frequently

used data and instructions so the CPU can retrieve them quickly.

CPU and memory working together

Storage - Primary Storage (Main Memory)

T

Random Access Memory (RAM) Read Only Memory (ROM)

Volatile (data is lost when power is turned off and can change)

Non-Volatile (data is remembered when the power is turned off and can’t change)

Can be accessed and changed by the computer at anytime

Programmed during computer manufacture

Stores programs and data being used by the computer

Stores instructions and data required to start up the computer

Contains the operating system Contains the boot program

Large (4GB or more in a typical computer) Small 1 or 2 MB required for boot.

CPU Cache Main Memory

Data sent to CPU

Data copied to

cache

Request for Data If data not in cache: Request

data from main memory

RAM

Is the main place for storing instructions and data

whilst a program is being executed. It is also called

main memory. Programs are loaded on RAM and

data is sent one by one to decode and execute.

ROM

Is a flash memory chip that contains a small

amount of non-volatile memory

Computers use binary values because it is easy to tell to switch, on/off 0/1.

The Von Neumann principle uses binary to store data and instructions.

Data and instructions are stored in RAM

Page 26: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

26

Magnetic Hard Disk

A magnetic hard disk stores the operating system, installed programs and user data. Hard disks are:

Strong & Reliable

High Storage Size

Low cost

Optical Disk

An optical disk is excellent for transferring files or distributing software. Optical disks are:

Lightweight & Portable

Good Storage size

Low cost

Solid state Memory

Memory consumes little power. memory is:

Small Size

Used in hand held devices

East to transfer files

Storage - Secondary Storage

As well as primary stage. Secondary storage

(backing storage) can connect to the computer.

Secondary storage stores data and programs when the power is switched off.

Binary Logic - All computers work in binary and use Truth Tables for calculations.

Some questions will require you to draw logic tables from expressions –

Example: X = A AND (NOT B)

Truth

Table Input Output

0 1

1 0

Input A Input B Output

0 0 0

0 1 0

1 0 0

1 1 1

Input A Input B Output

0 0 0

0 1 1

1 0 1

1 1 1

Define input is going to be different for the value of the output

both inputs must be postive for it to be positive

If either or both are positive the output is positive

Input A Input B NOT B Output (X)

0 0 1 0

0 1 0 0

1 0 1 1

1 1 0 0

Page 27: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

27

Software

One of the main software on a digital system is an operating system. There are

different types of operating systems on different devices (i.e. phones, computers,

games consoles etc.)

Operating System (OS)

The operating system is a set of programs that controls the hardware and lets

the users and applications work with the computer.

Kernel main part of the OS that actually makes the hardware do things.

Shell Software users need to communicate with the kernel.

OS Management

Memory Management

Operating systems decide what goes where in memory. This is so memory efficient and important data is not overwritten during the running of a program.

1. To do this, memory is divided into pages.

2. A program, when it is been executed, is called a process.

3. When a job needs to be done, the process is loaded into a vacant page. The operating system keeps track of this and protects it from been overwritten by other processes.

Peripheral Management

A file is a named store of data on a secondary storage medium. Files can be: - Data files – word processing, database - Program Files – Operating Systems (OS) - Configuration Data – Windows registry

OS needs to tracks files. Stored on secondary storage copied to main memory when needed.

1. The OS must know where these files are located on the storage medium. 2. When you save a file, the OS looks up where there is free space on the

medium and makes a record of where it is located. 3. Next time the file is used the OS looks up location & finds and retrieves it.

User

Application

Operating system Hardware

Page 28: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

28

Managing the CPU with the OS – running software

When the OS runs a piece of software it has to find the program files on the storage drive load them into main memory and instruct the CPU to start

OS - Multi-tasking

Multiprogramming: Serval programs loaded into memory at the same time.

Multitasking: the processes (programs) are running at the same time

E.g. Word and print so the OS swaps the processes from one to another

Files and Directories

OS organise files on secondary storage Likely Hierarchical systems:

o Files are stored in Directories (folders) and include

subdirectories and file extension (.mdb Access database)

Page 29: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

29

Various types of software System software Software that controls hardware and data between locations (OS) - Hides complexities - No program needs to be written

Application software Handles jobs that users do (Word on PC)

Modelling (simulation software) Models software on real world e.g. flight simulation

Utility Software

Utilities software tools that help maintain the

system easier.

Fragmentation and Defragmentation

Larger files than segment files are split into blocks across many segments.

If a file is split across many locations, it takes longer to read and write it.

Each block contains information (pointers) about the location of the next block, so

the operating system can follow to pointers to recover the whole file.

A process called defragmentation is used to access files faster. Reorganises

files that have been split up on secondary storage, so fragments are close together.

Software Security

There are lots of software such as anti-virus/malware/spyware that help stop

Replicator programs attaching themselves to legitimate programs. They help stop:

¶ Damaged files ¶ Taking control of a computer

¶ Getting Confidential data

Other programs like backing up software can also be used to secure your data.

Page 30: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

30

High level vs Low level language

High-level language

A high-level language command may represent serval machine code

instructions as assembler:

- In a high-level language, we can usually multiply two numbers together in

one command.

- At machine level, that is not possible and it has to be repeated addition.

High-level commands have to be turned into binary instructions the machine can

understand, this process is called translation.

There are two ways of translating high-level code to machine code:

- Complier: converts the whole code into machine code before running it.

- Interpreter: converts the code one instructions at a time, running each

instruction before translating the next

Source code is the code written by the programmer.

A complier translates this source code into an object code in machine language.

Object code runs independently of the source code and translator

Translator Advantage Disadvantage

Assembler Precise and direct instructions to the

computer hardware

Difficult to code

Limited range of commands available

Complier Code runs quickly once complied

Difficult for others to modify no access

to the source code

Process can be slow

Errors generated at one - hard debug.

Interpreter easy to debug - executes 1 at a time

Tested in stages - Code

More portable - any machine

Interpreter needed on target machine

interpreter takes up space in memory

Code executes more slowly

Represents

Complier

Interpret

er

Page 31: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

31

Integrated development Environment (IDE)

Translators usually include an IDE to help programmers.

IDE Features include:

- Source code editor – indents & colour coding words, variables and comments

- Error diagnostics and debugger – warning identify potential problems with

code and listing errors with the code

- Run time environment – allows the developer to run code during development

to check for logical errors.

- Translator (complier or interpreter) – complies or interprets the source code in

to runnable machine code

Low-level Language

This is also a low-level language.

- An assembler translates assembly language (low-level) into machine code (lower level. Assembly language is a low-level language - reflects operations of CPU.

- As with machine language, each instruction causes one processor operation.

- Assembly language uses mnemonics to represent instructions.

- Machine code is the lowest language and is read only in binary – 0 & 1

Blue J

Page 32: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

32

4. Network Communication & the Internet

Networks

A network is a collection of computers. Each device on a network is a node.

- Computers process and store data

- The data is represented as binary as it is very simple way to store data.

- Binary data is easy to transmit without errors, because distinguish of 0 and 1.

VPN

LAN WAN

LANs cover one site (office, university campus)

Connected and maintained (outsource) using company owned equipment

WANs covers a large area (city, country) This could be a network of school

computers Not all WANs might meet local needs

Advantage Advantage

share devices - laser printer fileserver can be used to share

documents and files centrally Email - sent between computers Centrally managed e.g. one copy of

word for all workstations

Wider geographical coverage - for accessing files and sending emails.

Messages can be sent very quickly Everyone can use the same data-

older information cannot be rewritten

Disadvantage Disadvantage

Security due to authorised access Networks are difficult to set up and

need to be maintained by technicians. One down all done file server is down,

all users are affected.

Security - against hackers and viruses. Lot of maintaining - network supervisors

and technicians to be employed. Expensive and complicated

Page 33: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

33

Network hardware

This is to do with creating receiving and routing electrical signals.

Network Interface Controllers/cards (NICS) [LAN Adaptor]

Each device on a network needs an NIC (LAN adaptor) Most LANs make use of a network standard called Ethernet Every NIC has a unique number stored in its ROM MAC address allows node on the network to be identified. The NIC generates and receives suitable electrical signals. It can also carry out simple addressing by making use of MAC addresses

Cables Hubs Switches

LAN made with copper cable light and flexible which makes it easy to install. WAN made with fibre-optic cable transmits signals by using light waves. Fibre-optic cables can carry more signals for their size than copper cables and are cheaper too.

Hardware device that connect many network devices together (BT Hub) making them in a single network segment.

Switches connect network segments or bridges with other networks. A switch differs from a hub by transmitting a message only to the device intended instead of all connections

Wireless Access Points – Standard WIFI Routers

Access points - connected to router save money/effort nodes are wireless Introduce security risks encryption, hiding broadcast and MAC Addresses.

Router receives data form of packets and forwards them to their stop another router. Routers direct traffic through large networks, notably the internet or Small routers connect individual computers to the (ISP).

Page 34: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

34

Types of network

Networks are organised in two principal ways.

Client-server network

Most common as one or more servers provide service to many client machines

Servers are computers - set up to handle network functions. Servers include:

- Database servers which store the corporate database/

- Game servicers – which provide online gaming access

- Web servers – which holds a website

Servers do not have to be separate – They can be a virtual server, where one

physical machine can take on multiple function. Backup main server

Peer to peer network

All computers are equal. No single provider is responsible for being the server.

Each computer stores files and acts as a server. (Bit torrent). Delete easily

Advantage

Easy to modify - many services that can

also be used by multiple users.

Security is more advanced – multiple

password profiles

Access and resources better - appropriate

permissions may enter

Disadvantages

Expensive start-up - you have to pay for the start-

up cost.

One down all done - server crashes all the

computers become unavailable.

Same thing – longer - When everyone does the

same thing, it takes

Advantage

Cheaper – as it’s all users that are needed

No Web Server - files can be shared

directly with users without web servers.

Disadvantages

Maintenance - is more difficult

Poor Security.

Slow – amount of multitasking

Page 35: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

35

Network Topologies

Topology layout of the network components, the cabling and the node positions.

These are three principles layouts that you need to know about:

Bus Network

Attached to a single backbone.

A terminator is attached at each end to prevent

reflection of signals. Signals travel in either

directions.

In a bus network all the workstations, servers

and printers are joined to one cable (the bus).

Star Network

Connected to a central switch or hub than servers.

Signals travel in either directions.

Each device has its own cable that connects to a

switch or hub. A hub sends every packet of data to

every device, switch only sends a packet of data to

the destination device.

Ring Network

Data passes through each node, carried in data

units in one way, which prevents collisions.

Each device (workstation, server, and printer) is

connected to two other devices, like a ring.

Each packet of data travels in one direction and

each device receives each packet, until the

destination device receives it.

Disadvantages

If one fails than all fail – one breaks

down, all break down

Disadvantages

Expensive install – lots of cables

Extra hardware – hubs & switches

Hubs/switches must work – network fails

Advantage

Cheaper – as it’s all users that are

needed

Cheap to install – Not much cables

Disadvantages

Whole network down - main cable fails

Slow performance - data collisions every

workstation on the network

Data risk – “sees" all data on the network

Advantage

Reliable – if one cable or device fails

then all others will work

High performing - no data collisions

Advantage

Quick transfer – even if large no. of

devices – one direction

Mesh topology is a network where each computer and network device is interconnected with one another.

st transmissions to be distributed,

Page 36: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

36

Network Technicalities

Protocols (TCP/IP)

Widely adopted Protocols TCP/IP (Transmission Control Protocol/Internet

Protocol). TCP/IP de facto standard for data transmission over the internet.

Hosts

Hosts are computer systems that accessed remotely and hold data or other

facilities such as web servers. TCP is concerned with the host connections.

It is not concerned with the nature of data being sent.

TCP/IP (transmission control protocol/internet protocol)

TCP/IP (also known as the internet protocol suite) is the set of protocols used over

the internet. It organises how data packets are communicated and makes sure

packets have the following information:

- source - which computer the message came from

- destination - where the message should go

- packet sequence - the order the message data should be re-assembled

- data - the data of the message

- error check - the check to see that the message has been sent correctly

Packets

Packets are collections of data forming part of a message. A packet is

constructed according to rules laid down by the appropriate protocol. A packet

contains a standard field such as:

- Protocol

- Checksum: number is checked to ensure packet has not been corrupted

- Total length

- Senders & Address

- Time to live – if not delivered it needs to be destroyed

- Packet number – This is used to reconstruct the message in the original order

- Data - the part of the message that is being constructed.

IP is concerned with the construction of the packets

Packet switching

Packets sent individually across a network. Packets may take different routes

according to availability and traffic conditions. They assembled from the complete

message at the receiving end. This process is called packet switching. It

improves the reliability if some route is down or congested, another can be found.

A

B

Page 37: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

37

Protocol Meaning Application

DNS Domain Name System Translates domain names, such as

ocr.org.uk in to IP addresses

TSL/SSL Transport Layer security/Secure

socket layer

Designed for secure communication

Wi-Fi Wireless Internet Wi-Fi is a way of connecting to a computer network using radio waves instead of wires

FTP File transfer protocol From copying files from hosts

HTTP Hypertext transfer protocol For distributing hypermedia file as –

almost web pages

HTTPS Hypertext transfer protocol Secure

Secure version of HTTPS

IMAP Internet message access

protocol (Email protocol)

One method for accessing emails

POP3 Post office protocol (VER 3)

(Email protocol)

Another method for accessing emails,

used by most webmail servers

SMPT Simple Mail Transfer Protocol (Email protocol)

is another Internet standard for email transmission

IP Addressing

A letter sent through the post needs an address in order to be delivered

correctly. Similarly, a data packet in a network needs an address for delivery.

Each computer on a network has an IP address 32 binary numbers.

10000011 01101011 00010000 11001000

Each group of 8 bits is called an octet can store numbers ranging from 0 to 255.

The address is quoted in four groups. For example, 131.107.32.200.

IP addresses can be permanently allocated to a device (static addressing), but

they can also be temporally allocated (dynamic addressing), so computers will not

always have the same IP address.

MAC Addressing

MAC means Media Access Control. A MAC address is a unique number stored in

each NIC used to identify a device on a network.

A MAC address given six pairs of hexadecimal numbers e.g. 01:1F:33:69:BC:14.

Page 38: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

38

Network Security

Data can be lost by unauthorised access - Data loss, Theft of data & malware

Data can be lost by accident – fires, malfunctions, wars, terrorism hazards.

Data should be copied to a secure facility off site.

Other forms of setting up security on a system include:

Authentication (User ID & Password)

Privileges rights assigned to users and groups – read, write, Execute

Encryption – Zipped files

Other ways to protect your systems and data include physical security, backing up

files and firewalls (a piece of software that monitors the network traffic and protects

from unauthorised access).

Forms of attack

Attacks on networks come in different forms:

Social Engineering - When a person is tricked into giving away

information that gives others access to the network. Examples include call

calling pretending to be of an authority figure to get details e.g. bank or

clicking an suspicious link in an email (phishing)

Active attack - when someone uses things like malware to compromise a

network's security and take control over its devices. This could include

releasing malware onto the network or cracking a password via a brute-force

attack. A DoS attack could be used to bring down servers by flooding them

with many requests in an effort to overload them. Firewalls can protect against

this.

Preventing vulnerabilities

Penetration testing - looks at vulnerabilities in a network's security by

attempting a controlled attack on the network.

Network policy - is a written company document that sets out the details

about how their network is to be setup and maintained.

User access levels - can give different users different levels of access

e.g. a teacher might use a USB drive on computer, but a student cannot.

Ethical hacking – Hackers are known to the user’s system and are brought in

to test how strong a system is by them hacking into it.

Protecting using software

There are lots of ways to protect a system form cyber-attacks. These include:

considerations at the design stage, audit trails, securing operating systems,

code reviews to remove code vulnerabilities in programming languages and

bad programming practices, modular testing, eavesdropping and effective

network security provision

Page 39: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

39

The internet and World Wide Web

Broadband internet is maintained by ISP (Internet Service Providers) and transmitted

on physical wires that run underground/ocean. Most people use the internet to view

WWW web pages, emails & communication. Download speeds tend to be faster

than upload speeds more demand Network speeds

Can be measured in megabytes per second (MBps)

Hardware

To connect to the internet, some specialised hardware is needed.

Modem – phones are analogue. Computers are digital signals.

A modern converts between these signals and allows connections.

Router – connect networks together.

Digital Subscriber Line (DSL) routers are combined with a modem in order

to make use of unused bandwidth in telephone line, ADSL – Subscriber cable

Broadband connections

The speed that data can be transferred is dependent on a number of factors:

- Signal quality can vary between phone lines. - The distance between the modem and the telephone

Addressing

IP addressing are used to identify connected resources. (DNS) is a protocol that

connects IP Addresses (212.58.253.67) to user-friendly names (bbc.co.uk).

DNS servers maintain databases that match the names against the numbers.

A URL is a Uniform Resource Locator - a resource on the internet.

Internet domain names are split up like this: www.bbc.co.uk/computing/ipaddresses

- The domain name www.bbc.co.uk

- The path /computing

- The web page required - /ipaddresses

Page 40: Kasim Rashid - Teaching Ideas...`Fred’ & age TO DISPLAY, will display a single STRING of `Fred1. This can be called Concatenation. File handling (how to read/write to file) WRITE

(c) Kasim Rashid

40

5. Emerging Trends, Issues & Impact

Environmental impact

Health

Technology can improve health by computers helping look at things like scanning

people or building systems that predict and help with health issues.

E.g. building a system to predict the spread of disease. AI can also diagnose

conditions faster than doctors.

Using technology can lead to bad health e.g. eye strain back problems etc.

Energy use, resources and recycling

Travel – Reduction of transporting goods (email)

Waste –contains toxic and plastic material long time to decompose.

Less Robots – Robots goods – efficient products

Consumes Energy – Computers use energy Run air-conditioning systems to cool computers. Methods include:

o Modern screen instead of CRT and Automatic standby

Ethical impact (morally breaking)

Technology can also help us socially connect with others, anywhere, through

technology like social media. Through this could become obsessive and may lead

to things like trolling and cyberbullying.

More people in the world have access to technology and the internet than other

people. This is called the digital divide. The digital divide can happen in the UK with

for instance some schools could be in remote areas and not have good connections

to internet.

Internet Censorship of countries could also exist due to political reasons.

It is also easy to track online activity such as Websites visited (violate privacy).

Legal Impact (law breaking)

These can include a wide variety of issues such as (intellectual property, patents,

licensing, open source and proprietary software & cyber-security)

Data Protection – Government laws - (deals with Cyberbullying and trolling)

Data Protection Act Computer Misuse Act Freedom of Information Act

Who can access personal data collected.

Protect against hacking and cybercrime.

Request information that is held by public bodies.

Cause Cybercrimes difficult to police as the internet crosses borders and law.

Creative Commons Producers to publish their work with licenses for other to use

Open Source Software Public domain. Improve their skills or for the public good. E.g. Linux, Open Office, Firefox,

Proprietary Software Software for profit. Only the complied code is realised. Users buy a licence to use it. E.g. ASC