100% found this document useful (1 vote)
531 views29 pages

CSC 101-CSC 111 - Introduction To Computer Science - Lecture 4

The document discusses several topics related to computer science including: - Definitions of key computer science concepts like hardware, software, algorithms, and data representation - The history and evolution of computing from mechanical to modern computers - Basic components of a computing system including hardware, software, and data/instruction flow - Software types, applications, and characteristics of computers - Problem solving techniques like flowcharts and algorithms - Data representation in computer systems and different numbering systems - Networking concepts like the world wide web and network architectures

Uploaded by

CODE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
531 views29 pages

CSC 101-CSC 111 - Introduction To Computer Science - Lecture 4

The document discusses several topics related to computer science including: - Definitions of key computer science concepts like hardware, software, algorithms, and data representation - The history and evolution of computing from mechanical to modern computers - Basic components of a computing system including hardware, software, and data/instruction flow - Software types, applications, and characteristics of computers - Problem solving techniques like flowcharts and algorithms - Data representation in computer systems and different numbering systems - Networking concepts like the world wide web and network architectures

Uploaded by

CODE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

BALOGUN JEREMIAH ADEMOLA

ASSISTANT LECTURER,
DEPARTMENT OF COMPUTER SCIENCE AND MATHEMATICS
MOUNTAIN TOP UNIVERSITY, OGUN STATE, NIGERIA
▪ Definition of Computer
▪ History and Overview of Computing and Computers
▪ Evolution of Ideas and Machines from Mechanical Computer to Multimedia Computer
▪ Introduction to computing system
▪ Basic elements of a computer system hardware
▪ Block diagram, data/instruction flow, control flow

▪ Software types, packages and applications


▪ Characteristics of computer
▪ Problem solving using flowcharts and algorithms
▪ Data representation in computer system
▪ Communications and networks
▪ World wide web, network access, network architectures, data communications. Safety and security

▪ File management in Windows and basic word processors, spreadsheets, presentation, graphics
and other applications
▪ Introduction to programming:
▪ Statements, symbolic names, arrays, expressions and control statements
2
3
▪ Problem Solving is the sequential process of analysing information related to a
given solution and generating appropriate response options.

▪ Examples of tasks include:


▪ If you are watching a news channel on your TV and you want to change it to a sports channel, you
need to do something.
▪ A student is ready to go to school but yet he/she has not picked up those books and copies which
are required as per timetable.
▪ If someone asks to you, what is time now?
▪ Some students in a class plan to go on picnic and decide to share the expenses among them.

▪ There are six (6) steps that should be followed in problem solving:
▪ Understand the problem
▪ Formulate the model
▪ Develop an algorithm
▪ Write a program
▪ Test the program
▪ Evaluate the solution
4
▪ Understanding the Problem
▪ The first step to solving any problem is to make sure that you
understand the problem that you are trying to solve.

▪ You need to know:


▪ What input data/information is available ?
▪ What does it represent ?
▪ What format is it in ?
▪ Is anything missing ?
▪ Do I have everything that I need ?
▪ What output information am I trying to produce ?
▪ What do I want the result to look like … text, a picture, a graph … ?
▪ What am I going to have to compute ?
5
▪ Formulate a Model
▪ Now we need to understand the processing part of the problem.

▪ Many problems break down into smaller problems that require some kind of
simple mathematical computations in order to process the data.

▪ If there is no such “formula”, we need to develop one.

▪ Often, however, the problem breaks down into simple computations that we well
understand.

▪ Sometimes, we can look up certain formulas in a book or online if we get stuck.

▪ In order to come up with a model, we need to fully understand the information


available to us.
6
▪ Develop and Algorithm
▪ An algorithm is a precise sequence of instructions for solving a problem.
▪ To develop an algorithm, we need to represent the instructions in some way that is
understandable to a person who is trying to figure out the steps involved.
▪ Two commonly used representations for an algorithm is by using:
▪ pseudo code; or
▪ flow charts.

▪ Pseudocode is a simple and concise sequence of English-like instructions to solve


the problem unlike Flowcharts which are graphical.
▪ Pseudocode is often used as a way of describing a computer program to someone who
doesn’t understand how to program a computer.
▪ When learning to program, it is important to write pseudocode because it helps you
clearly understand the problem that you are trying to solve.
7
8
9
▪ Consider the pseudo-code of the broken lamp shown earlier.
▪ Various parts of the pseudo-code could be explained as follows:
▪ Sequence – listing instructions step by step in order

▪ Condition – making decision and doing one thing or something else depending on the
outcome of the decision

10
▪ Repetition – repeating something a fixed number of times or until some conditions
occurs

▪ Storage – storing information for use in instructions further down the list

▪ Jumping – being able to jump to a specific step when needed

11
▪ Write the Program
▪ Writing a program is often called writing code or implementing an algorithm.
▪ The code (or source code) is actually the program itself.
▪ In the figure below, the code looks quite similar in structure to the pseudocode,
however, the processing code is less readable and seems somewhat more
mathematical.

▪ At this stage, the program is compiled by the computer.


▪ Compilation is the process of converting a program into instructions that can be
understood by the computer. 12
▪ Test the Program
▪ Running a program is the process of telling the computer to evaluate the
compiled instructions.
▪ When you run your program, if all is well, you should see the correct output.
▪ It is possible however, that your program works correctly for some set of data input
but not for all.
▪ If the output of your program is incorrect, it is possible that you did not convert your
algorithm properly into a proper program.
▪ It is also possible that you did not produce a proper algorithm back in step 3 that
handles all situations that could arise.
▪ Maybe you performed some instructions out of sequence.
▪ Whatever happened, such problems with your program are known as bugs.

▪ Bugs are problems/errors within a program that causes it to stop working or


produce incorrect or undesirable results.
▪ As a result of this, the reasons for these bugs must be found and corrected. 13
▪ Evaluate the Solution
▪ Once your program produces a result that seems correct, you need to re-consider the
original problem and make sure that the answer is formatted into a proper solution to the
problem.
▪ It is often the case that you realize that your program solution does not solve the problem the
way that you wanted it to.
▪ You may realize that more steps are involved.

▪ It is also possible that when you examine your results, you realize that you need
additional data to fully solve the problem.
▪ Or, perhaps you need to adjust the results to solve the problem more efficiently.

▪ It is important to remember that the computer will only do what you told it to do.
▪ It is up to you to interpret the results in a meaningful way and determine whether or not it solves
the original problem.
▪ It may be necessary to re-do some of the steps again, perhaps going as far back as step 1 again,
if data was missing 14
15
▪ Data representation is a major part of the software-hardware interface.

▪ As a result of this, data need to be represented in a convenient way that simplifies


▪ The common operations, such as: addition, subtraction, comparison etc.
▪ Hardware implementation thus making them faster cheaper, and more reliable.

▪ The Bit is short for Binary digit – the smallest amount of meaningful information
stored on a computer.
▪ The advantage includes:
▪ Too little information per bit (each bit stores 2 possible states)
▪ In order to store more information, one needs more bits.

▪ The disadvantage includes:


▪ It is easy to do computation with bits
▪ They are more reliable
▪ Used to construct simpler digital circuits. 16
▪ All number are represented using a polynomial standard representation which is a
sum of the product of each digit with the power of its base representation.
▪ Consider an n digit number with the most significant digit on the left and the least
significant digit on the right
▪ Given a base representation b for each digit 𝑎𝑖 , then:
(𝑎𝑛 × 𝑏 𝑛−1 ) + (𝑎𝑛−1 × 𝑏 𝑛−2 ) + ⋯ + (𝑎2 × 𝑏1 )+(𝑎1 × 𝑏 0 )
▪ where 0 ≤ 𝑖 ≤ 𝑛 − 1

▪ Decimal Representations
▪ If a number is in base 10, then the number 56432 can be represented as:
(5× 104 ) + (6 × 103 ) + (4 × 102 ) + (3 × 101 )+(2 × 100 )

▪ Binary Representations
▪ If a number is in base 2, then the number 101012 can be represented as:
(1× 24 ) + (0 × 23 ) + (1 × 22 ) + (0 × 22 )+(1 × 20 )
17
▪ The general idea behind positional numbering systems is that a numeric value is
represented through increasing powers of a radix (or base number).

▪ The popular number systems to be considered are presented as follows:

Number System Radix Allowable Digits


Binary 2 0, 1
Octal 8 0, 1, 2, 3, 4, 5, 6, 7
Decimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Hexadecimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

▪ There are two important groups of number base conversions:


▪ Converting decimal numbers to base-r numbers
▪ Converting base-r numbers to decimal numbers

18
▪ Convert 10410 to base 3 using ▪ Convert 14710 to base 2 using
the division-remainder method the division-remainder method

▪ 10410 = 102123

▪ 14710 = 100100112
19
▪ Other bases can be converted to base 10 using the standard polynomial
expressions shown earlier.

▪ Given a base representation b for each digit 𝑎𝑖 , then:


(𝑎𝑛 × 𝑏 𝑛−1 ) + (𝑎𝑛−1 × 𝑏 𝑛−2 ) + ⋯ + (𝑎2 × 𝑏1 )+(𝑎1 × 𝑏 0 )
▪ where 0 ≤ 𝑖 ≤ 𝑛 − 1

▪ For example,

▪ 𝟏𝟎𝟎𝟏𝟏𝟐 = (1× 24 ) + (0 × 23 ) + (0 × 22 ) + (1 × 22 )+(1 × 20 ) = 16+0+0+4+1

▪ 𝟐𝟔𝟑𝟒𝟖 = (2× 83 ) + (6 × 82 ) + (3 × 81 ) + (4 × 80 ) = 512+384+24+4

▪ 𝑨𝑬𝟔𝟑𝑪𝟏𝟔 = (10× 164 ) + (15 × 163 ) + (6 × 162 ) + (3 × 162 )+(C × 160 )


20
▪ Other fractional bases can be converted to base 10 using the standard
polynomial expressions.

▪ Consider, a set of digits 𝑎𝑖 occurring after the decimal point of a fraction expressed
in a given base, b; the fraction can be converted to decimal fraction according to:
(𝑎1 × 𝑏 −1 ) + (𝑎2 × 𝑏 −2 ) + ⋯ + (𝑎𝑛−1 × 𝑏 −(𝑛−1) )+(𝑎𝑛 × 𝑏 −𝑛 )
▪ Where n is the number of digits on the right hand side of the decimal point

▪ For example,
▪ 𝟎. 𝟏𝟏𝟎𝟏𝟐 = (1× 2−1 ) + (1 × 2−2 ) + (0 × 2−3 ) +(1 × 2−1 ) = 0.5+0.25+0+0.0625

▪ 𝟎. 𝟒𝟐𝟓𝟖 = (4× 8−1 ) + (2 × 8−2 ) + (5 × 8−3 ) = 0.5+0.03125+0.009765625

▪ 𝟎. 𝑬𝟐𝑨𝑪𝟏𝟔 = (15 × 16−1 ) + (2 × 16−2 ) + (10 × 16−3 ) +(𝐶 × 16−4 )


21
▪ Putting the conversion of the whole part and the fractional part together, it is
now possible to convert any mixed fraction of a given base into a base 10
number.

▪ For example:

▪ 𝟏𝟎𝟏𝟏. 𝟎𝟏𝟐 = (1 × 23 ) + (0 × 22 ) + (1 × 21 ) + (1 × 20 ) + (0 × 2−1 ) + (1 × 2−2 ) =


8 + 0 + 2 + 1 + 0 + 0.25 = 11.25

▪ 𝟔𝟓𝟑. 𝟐𝟑𝟖 = (6 × 82 ) + (5 × 81 ) + (3 × 80 ) + (2 × 8−1 ) + (3 × 8−2 ) = 384 + 40 +


0 + 0.25 + 0.046875 = 424.296875

▪ 𝟏𝟗. 𝑬𝟒𝟏𝟔 = (1 × 162 ) + (9 × 161 ) + (15 × 16−1 ) + (4 × 16−2 ) = 256 + 144 +


0.9375 + 0.015625 = 400.953125
22
▪ In order to convert decimal (base 10) fractions into other bases
a. The fractional part is multiplied by the required base, b
b. The integer part of the result is recorded and removed from the result
c. Repeat steps (a) and (b)
d. The conversion of the decimal fraction to other bases is a collection of the
recorded integer part arranged in order of record.

▪ For example,
▪ Convert (0.513)10 to octal (base 8)
▪ 0.513 x 8 = 4.104
▪ 0.104 x 8 = 0.832
▪ 0.832 x 8 = 6.656
▪ 0.656 x 8 = 5.248
▪ 0.248 x 8 = 1.984
▪ 0.984 x 8 = 7.872
∴ (𝟎. 𝟓𝟏𝟑)𝟏𝟎 = (𝟎. 𝟒𝟎𝟔𝟓𝟏𝟕 … )𝟖
23
▪ Strings unlike numbers are sequences of characters (alphabets and special
symbols).
▪ e.g. player, #saveLara, McLaren, steven123, etc..

▪ Strings are human-readable characters and must be converted to computer-


understandable bit patterns.

▪ The conversion is achieved using some form of character encoding scheme.

▪ Examples of character encoding scheme include:


▪ Binary Coded Decimal (BCD)
▪ Extended Binary-Coded Decimal Interchange Code (EBCDIC)
▪ American Standard Code for Information Interchange (ASCII)
▪ Unicode
24
▪ Binary-Coded Decimal (BCD) is a numeric coding system used primarily in
IBM mainframe and midrange systems in the 1950s and 1960s.
▪ BCD is very common in electronics, particularly those that display numerical
data, such as alarm clocks and calculators.
▪ BCD encodes each digit of a decimal number into a 4-bit binary form.
▪ When stored in an 8-bit byte, the upper nibble is called zone and the lower
part is called the digit.

25
▪ Extended Binary-Coded Decimal Interchange Code (EBCIDIC)
▪ In 1964, BCD was extended to an 8-bit code, Extended Binary-Coded Decimal
▪ Interchange Code (EBCDIC).
▪ EBCDIC was one of the first widely-used computer codes that supported upper
and lowercase alphabetic characters, in addition to special characters, such as
punctuation and control characters.
▪ EBCDIC and BCD are still in use by IBM mainframes today.

▪ American Standard Code for Information Interchange (ASCII)


▪ ASCII is based on a 7-bit representation scheme
▪ It can represent the characters A – Z, a – z, 0 – 9, and control characters.
▪ 128 unique characters are represented using the ASCII representation
▪ ASCII is basically only for Roman, unaccented characters, although many people
have created their own variations of ASCII with different characters.

26
27
28
▪ Both EBCDIC and ASCII were built around the
Latin alphabet.
▪ In 1991, a new international information exchange
code called Unicode was created.
▪ Unicode is a 16-bit alphabet that is downward
compatible with ASCII and Latin-1 character set.
▪ Because the base coding of Unicode is 16 bits, it
has the capacity to encode the majority of
characters used in every language of the world.
▪ Unicode is currently the default character set of
the Java programming language.

▪ The Unicode code-space is divided into six parts.


▪ The first part is for Western alphabet codes,
including English, Greek, and Russian.
▪ The lowest-numbered Unicode characters
comprise the ASCII code.
▪ The highest-numbered Unicode characters 29
provide for user-defined codes.

You might also like