Foundation Course for Advanced Computer Studies


204 Pages
Read an excerpt
Gain access to the library to view online
Learn more


In the modern world, computer systems are playing a greater and greater part in everyday life. From office work, to entertainment, to providing information, the personal computer is quickly becoming a more integral part of the home. However, most PC users have no idea how most of the parts which make up their computer work internally. I am one of those who find that the framework provided by the school curriculum in the United Kingdom is of great assistance in planning lessons and learning plans but the curriculum does not plan out the work for us. We therefore need to invest a lot of time and effort into developing schemes of work that will suit the people we are going to teach. For me, it is a fantastic opportunity to employ our imagination and creativity to make lessons useful and interesting for children of different abilities. It is why I wrote this book. This book is a foundation course for Advanced Computer Studies and designed as a blueprint to teach users with a basic knowledge of computer science. Computer science is a subject that combines the use of technology which is ICT (Information Communication Technology) and the creation of technology. To use ICT (the subject about how to use technology to communicate information) more effectively, we need to know how technology works. Computing or computer science will create a generation of young people able to work at the forefront of technology change. It is the umbrella term for the subject that comprises 3 elements: computer science, information technology and digital literacy. It is helpful to think of these as the foundations, applications and implications of digital technology. The new focus on computer science will provides a well-defined and rigorous academic discipline and a unique lens through which pupils can understand the world. Children must therefore be taught computing if they are to be ready for tomorrow technology challenges. Our ingenuity to invent new means of communicating with each other, our very human compulsion to communicate have driven the technological innovations of the past two centuries however still a lot remain to be done with the arrival of quantum computing. A more rigorous approach to computer science teaching will help compete across the full spectrum of digital industries. This can only be achieved by equipping ourselves with the foundation skills, knowledge and understanding of computing do the necessity to introduce “computational thinking” at school via the new national curriculum (programmes of study and targets), the 2014 national curriculum that introduces computing which will replace ICT.



Published by
Published 13 November 2015
Reads 4
EAN13 9782312039503
Language English
Document size 4 MB

Legal information: rental price per page €. This information is given for information only in accordance with current legislation.

Report a problem

Franck Ismael Djédjé
Foundation Course for Advanced Computer

Learn tomorrow’s computer today

To project our self in the next generation of computers (quantum computers), in the next era of
computing, it is important to understand how today’s computers (silicon-based computer) works.

A quantum computer is a computer design which uses the principles of quantum physics to increase
the computational power beyond what is attainable by a traditional computer.

This book is a foundation course for Advanced Computer Studies and designed as a blueprint to teach
users with a basic knowledge of computer science. Computer science is a subject that combines the
use of technology which is ICT (Information Communication Technology) and the creation of
technology. To use ICT (the subject about how to use technology to communicate information) more
effectively, we need to know how technology works.

© Les Éditions du Net, 2015
ISBN : 978-2-312-03950-3
Table of Contents

PC - Peripheral Devices
PC Internal Architecture, CPU & CPU Socket
Personal Microcomputer
The Processor Unit
Lesson 1
The Fetch Execute cycle & the Processor
Matrices and Digital Images
The components of the simplified processor
Lesson 2
The ‘fetch’ section of the instruction execution cycle
Lesson 3
The Fetch execute cycle - C programming language as exampleWhat Are Pointers?
How to use Pointers?
NULL Pointers in C
Pointers and string
A variable's address vs a variable's value
Lesson 4
Logic gates
De Morgan’s Laws
Lesson 5
Binary Mathematics
Lesson 6
Binary number and transportation cables (USB and PS2 cables as example)
Lesson 7
Introduction to SSADM (Structured Systems Analysis and Design Method).
Lesson 8
Tree Diagrams
The tree Diagram, example of a search engine
The tree Diagram, in software testing
Lesson 9
Lesson 10
The atomic world
Lesson 11
The photovoltaic effect
Moore’s law (transistor as example)
Lesson 12
Introduction to a Personal Computer or PC
How to clean a PC (Personal Computer)?
Index 1
Algorithm: adding and subtracting binary numbers using JavaScript
Algorithm: adding and subtracting binary numbers using Python
Index 2 (CPU and CPU fan)
Index 3 (exercises sheet)
Index 4 - from a DVD to a computer screen
Index 5 - Learn tomorrow’s computer today
Index 6 - Computer Programming Board Game
Livres du même auteur

PC - Peripheral Devices
Integrated Peripherals

Printer Scanner

PC Internal Architecture, CPU & CPU Socket

Power Supply Sound card

Video card Memory card

Cooling fun Central Processing Unit (CPU)

Personal Microcomputer1. Raspberry Pi

Raspberry Pi 3 is a micro-computer. It is a micro-motherboard of a PC (Personal Computer).

Raspbian is the Foundation’s official supported Operating System.
Noobs is an easy installer for Raspbian.

Raspberry Pi 3
1. The microcontroller

The microcontroller is an even micro-computer than the Raspberry Pi is. I can also be seen as a
micromotherboard of a PC (Personal Computer).

Good practices:

Turn off your PC, remove the power cable and the monitor cable, wear an
antistatic wrist strap or ground yourself, and take the case off your PC.



Microcontrollers are widely used in everyday items such as
washing machines, remote controls, microwave ovens,
mobile phones and vending machines. A modern car can
contain around 40 of them. Several different types are
commonly used in school electronics projects, including
PICs, PICAXE and GENIE microcontrollers.
They are a type of IC and range in size from 8 to 40 pins.
They can be programmed to respond to one or more inputs
and to control one or more outputs. At their most simple,they can be programmed to act as a series of logic gates.

Some microcontrollers also have the capability to accept and process analogue inputs, play ringtones
and run parallel programs at the same time.

Advantages of using a microcontroller

size of a circuit can be reduced significantly - one microcontroller can replace several
other ICs

allows greater flexibility - can be reprogrammed to change its function

Disadvantage of using a microcontroller

they are often more expensive than other ICs

Programming a microcontroller

Microcontrollers have different amounts of memory to hold the program that controls them. They read
this program in a form called machine code. This looks like a long string of numbers and letters and is
very difficult to understand. For this reason, their programs are normally written in other languages
and converted into machine code using computer software.

In schools, programs are normally written on a computer as flowcharts, although sometimes a
programming language called BASIC is used. The program might be transferred from the computer to
the microcontroller in a number of different ways, depending upon the type of microcontroller used
and the design of the circuit:

By placing the microcontroller into a piece of hardware known as a programmer. This is
normally only used if the circuit includes an IC socket to allow the microcontroller to be
easily removed and replaced.

Through a jack socket connected to the computer USB port.

Through a USB port connected to the computer USB port.

The Processor Unit
The CPU (Central Processing
Unit) is the part of a computer
system that is commonly
referred to as the "brains" of a
The CPU is responsible for
interpreting and executing a
sequence of stored instructions
called a program (commands
from the computer’s hardware
and software).
This program will take inputs
from an input device, process
input in some way and output the results to an output device.

CPUs are not only found in desktop or laptop computers, many electronic devices now rely on them
for their operation. Mobile phones, DVD players and washing machines are examples of equipment
that have a CPU.

Image Lesson 1
The fetch cycle takes the address required from memory, stores it in the instruction register, and
moves the program counter on one so that it points to the next instruction.

Briefly describe what happens in the fetch-execute cycle.
In the fetch phase an instruction is copied into the control unit and decoded.
In the execute phase the instruction is obeyed.

A simplified model processor
The diagram shows the basic processor, along with memory for storage of data and instructions.
The model processor is able to process one byte of data during the execution of one instruction –
called an 8 bit processor.
A fetch-execute machine, which must perform the following:
‘pick out’ the correct memory location
Fetch the instruction from that memory location
Store the instruction temporarily
‘understand’ the instruction
Repeat the sequence as long as there are instructions to be executed

The format of instructions

You are familiar with complex instruction in a high level language typically consisting form of
assignment statements, control structures and selection structures. Below is an example in JavaScript.


V o l v o
S a a b
F o r d

Typical instructions from a high level language:
Enable the programmer to achieve large amounts processing using a few reserved words.
Have variable format and length.
At the processor level, instructions perform much more elementary operations such as addition or
comparison of two values. The format and length of such instructions are much more uniform. When
a high level language is compiled (translated into machine code that the processor can understand and
execute), each line of the program can become many lines of machine code.

Example: The GW-BASIC programming language (one of most first-generation BASIC versions) is
not a low level language but I like to use it to explain, to give an idea of that a low level languagelook like.

Below a GW-BASIC program

10 INPUT "What is your name: "; U$
20 PRINT "Hello "; U$
30 INPUT "How many stars do you want: "; N
40 S$ = ""
50 FOR I = 1 TO N
60 S$ = S$ + "*"
90 INPUT "Do you want more stars? "; A$
100 IF LEN(A$) = 0 THEN GOTO 90
110 A$ = LEFT$(A$, 1)
120 IF A$ = "Y" OR A$ = "y" THEN GOTO 30
130 PRINT "Goodbye "; U$
140 END

What is your name: Mike
Hello Mike
How many stars do you want: 7
Do you want more stars? yes
How many stars do you want: 3
Do you want more stars? no
Goodbye Mike

Below the above GW-BASIC program written in JavaScript

function MAIN()
var U = prompt("What is your name: ","");
document.write('Hello ' + U + '
var N = prompt("How many stars do you want: ","");
');for (var i=0; iN; i++)
var A = prompt("Do you want more stars? ","");
while ( (A == "yes") || (A == "y") || (A == "YES") || (A == "Y") );
document.write('Goodbye ' + U + '

Looking at the GW-BASIC programming language, we find it more or less structured like ‘Machine

1. The list of instructions are numbered and they are in order and

1. the instructions or are divided into 2 fields:

- The job that needs to be done (opcode) followed by
- The data that needs to be acted on (operand).

An opcode is short for 'Operation Code'. An opcode is a single instruction that can be executed by the
CPU. The opcode specifies the operation that is to be performed. Example: add numbers or store data
in a register.

Operands are manipulated by the opcode. The operand stores the data that is to be used or the register
in which it can be found or has to be stored.

Example of Machine Language code for the above GW-BASIC and JavaScript programs

Instruction set

Instruction set Opcode Operands
00001010 001 1 000101
00010100 010 0 001111
00011110 001 1 000000
101 0 00111100101000
00110010 110 1 000110
00111100 111 0 000000
01000110 011 1 000001
110 1 00001101010000
111 1 1111110101101001100100 001 0 100110
010 1 11100001101110
001 0 00010101111000
10000010 110 0 101011
10001100 011 0 001101

We use
instead of binary
because It makes it
easier for humans
to read and
understand it.

The images you see on internet pages and the photos you take with your mobile phone are examples of
digital images. It is possible to represent this kind of image using matrices. For example, the small image
of Felix the Cat can be represented by a matrix whose elements are the numbers and . These