You are on page 1of 11

1

COMP 110 UNIT I


HOW DO YOU DEFINE A COMPUTER?

A computer is a general purpose device that can be programmed to carry out


a finite set of arithmetic or logical operations. Since a sequence of operations
can be readily changed, the computer can solve more than one kind of
problem.

WHAT IS COMPUTER SCIENCE?


Computer Science is the study of computers and computational systems.
Unlike electrical and computer engineers, computer scientists deal mostly with
software and software systems; this includes their theory, design,
development, and application.

Principal areas of study within Computer Science include artificial


intelligence, computer systems and networks, security, database
systems, human computer interaction, vision and graphics, numerical
analysis, programming languages, software engineering,
bioinformatics and theory of computing.

Although knowing how to program is essential to the study of computer


science, it is only one element of the field. Computer scientists design and
analyze algorithms to solve programs and study the performance of computer
hardware and software. The problems that computer scientists encounter
range from the abstract-- determining what problems can be solved with
computers and the complexity of the algorithms that solve them – to the
tangible – designing applications that perform well on handheld devices, that
are easy to use, and that uphold security measures.

Why Should You Study Computer Science?


Computer Science degrees are some of the most popular study programmes
worldwide. If you’re passionate about computer hardware and software, you

© September 2020 Instructor: Jones Katiku (Mr.)


2

might already know that Bachelor’s and Master’s degrees in Computer


science lead to rewarding and lucrative careers.
But are the benefits enough to compensate for the difficulty of the classes and
projects you’ll undertake? What follows are the answers to this question.

1. Computer scientists make the world better

As we live in a digital age, most industries rely on data and software


programmes. Computer Science & IT impacts everything, from scientific
research to health development, transport, banking, communications, you
name it. Even objects like microwave ovens, fridges, or door locks are now
connected to our Wi-Fi networks and personal assistants.
Technology has made the world better, faster, and more connected. But this
didn’t happen by magic. We arrived here thanks to the brilliant minds of IT
graduates, who took their passion for technology and used it to create gadgets
and computer programmes which help us every single day.

You can be one of the people who work on innovations that will take
humanity forward.

 Is blockchain the future?


 Can we predict when the next big earthquake or tsunami will happen?
 How can we stop the next major cyber-attack?
 Will AI have the answer to humanity’s major problems?

With a Computer Science degree, you’ll learn all the concepts and skills you
need to answer these questions and many others. Technology is part of our
future, and it is up to people like you to decide how it will impact and shape
our world.
You don’t need to dream of becoming the next Bill Gates or Steve Jobs. After
all, Windows is still buggy, and even iPhones are not what they once were.

© September 2020 Instructor: Jones Katiku (Mr.)


3

But you can develop the next generation of gadgets or software programmes
which will improve the lives of millions of people.

2. Computer Science jobs are lucrative and rewarding

The constant development of new technologies also means that there’s a


constant demand for brilliant tech minds who can create, maintain, and fix
both gadgets and code.
According to the US Bureau of Labour Statistics, there will be a 13% increase
in Computer Science jobs by 2026. You can notice a similar trend in the EU,
where the number of ICT (Information and Communications Technology)
specialists grew by 36.1% over 10 years (2007–2017). Africa and in particular
KENYA should not be left behind!!!

3. The best Computer Science jobs

This demand for qualified IT specialists means that Computer Science careers
are well-paid. In the United States, for example, the median annual salary for
IT occupations was 86,000 USD in 2018. With that in mind, let’s look at some
of the best IT jobs and their average annual salary according to U.S. News:

 Software Developer: 101,000 USD/year


 Computer Systems Analyst: 88,000 USD/year
 IT Manager: 139,000 USD/year
 Information Security Analyst: 95,000 USD/year
 Database Administrator: 87,000 USD/year
 Web Developer: 67,000 USD/year
 Computer Network Architect: 104,000 USD/year

4. Develop transferable IT skills for a successful career

© September 2020 Instructor: Jones Katiku (Mr.)


4

To become an expert and occupy one of the best Computer Science jobs, you’ll
need to develop certain skills. Critical thinking and problem-solving go hand
in hand and will help you whether you work on debugging a programme or
are trying to figure out how to prevent hackers from breaching your company’s
firewall. Analytical skills are especially useful for professionals who work with
big data or algorithms and are looking for patterns or creating instructions.
Attention to detail can make or break your application or software programme.
One bad line of code is all it takes to create a bug or a security breach. This
is why you’ll need a lot of patience to go through trial and error countless
times until you finally create the result you want.
But you know what’s the best part? You can take these skills and apply them
to IT occupations anywhere in the world. Programming languages are the
same everywhere, and if you want to travel throughout your career, IT careers
will allow you to do that.
Computer Science is a lot of hard work, but it’s also one of the most rewarding
careers out there. Remember when you created your first page in HTML? You
felt like a billion bucks, and that’s what IT careers are all about.

5. Top universities offer IT degrees

The best universities and colleges in the world realise the importance of
studying Computer Science. This is why they offer numerous IT degrees
taught in English, thus making them available to international students like
you. Below, we’ve listed some of the best Computer Science universities
according to Times Higher Education 2019 Rankings:

 University of Oxford, in the UK


 ETH Zurich, in Switzerland
 Massachusetts Institute of Technology (MIT), in the US
 University of Toronto, in Canada
 Tsinghua University, in China

© September 2020 Instructor: Jones Katiku (Mr.)


5

Ready to start your Computer Science education?

We live in a digital age, and there’s no going back. As we move towards the
future, technology will keep developing and help us overcome problems for
which we don’t have a solution right now. A Bachelor’s or Master’s degree in
Computer Science is not easy, but it’s definitely rewarding.

This is not the kind of career path that you only choose for the money, though.
You’ll need a lot of passion and determination to go through the curriculum
and take in all the theory and concepts. If you’re up to the task, it is now
easier than ever to study computer Science degree that satisfies all your
needs.

Do not Confuse Computer Science With Other Careers

The general public sometimes confuses computer science with careers that
deal with computers (such as the noun Information Technology), or think that
it relates to their own experience of computers, which typically involves
activities such as gaming, web-browsing, and word-processing. However, the
focus of computer science is more on understanding the properties of the
programs used to implement software such as games and web-browsers, and
using that understanding to create new programs or improve existing ones.

Professions and organizations

As the use of computers has spread throughout society, there are an


increasing number of careers involving computers.

Computer-related professions

Electrical engineering, Electronic engineering, Computer


Hardware-
engineering, Telecommunications engineering, Optical
related
engineering, Nanoengineering

© September 2020 Instructor: Jones Katiku (Mr.)


6

Computer science, Desktop publishing, Human–computer


Software- interaction, Information technology, Information systems,
related Computational science, Software engineering, Video game
industry, Web design

In computer engineering, computer architecture is the conceptual design


and fundamental operational structure of a computer system. It is a blueprint
and functional description of requirements and design implementations for the
various parts of a computer, focusing largely on the way by which the central
processing unit (CPU) performs internally and accesses addresses in memory.

It may also be defined as:

 The science and art of selecting and interconnecting hardware


components to create computers that meet functional, performance and
cost goals.
 The coordination of abstract levels of a processor under changing forces,
involving design, measurement and evaluation. It also includes the
overall fundamental working principle of the internal logical structure of
a computer system.
 Designing of task performing part of computers, i.e how various gates,
transistor are interconnected and are forced to do functions as per
instructions given by assembly language programmer

All computers are the same whether big or small. Their only difference lies in
performance characteristics, the way the different modules are
connected together and the way the computers are controlled by
programs.

Computer architecture comprises at least three main subcategories:

© September 2020 Instructor: Jones Katiku (Mr.)


7

 Instruction set architecture, or ISA, is the abstract image of a


computing system that is seen by a machine language (or assembly
language) programmer, including the instruction set, word size, memory
address modes, processor registers, and address and data formats.

 Microarchitecture, also known as Computer organization is a lower level,


more concrete and detailed, description of the system that involves how
the constituent parts of the system are interconnected and how they
interoperate in order to implement the ISA. [2] The size of a computer's
cache for instance, is an organizational issue that generally has nothing to
do with the ISA.

 System Design which includes all of the other hardware components


within a computing system such as:

1. System interconnects such as computer buses and switches


2. Memory controllers and hierarchies
3. CPU off-load mechanisms such as direct memory access (DMA)
4. Issues like multiprocessing.

Instruction Set Architecture

1. The ISA is the interface between the software and hardware.


2. It is the set of instructions that bridges the gap between high level
languages and the hardware.
3. For a processor to understand a command, it should be in binary and
not in High Level Language. The ISA encodes these values.
4. The ISA also defines the items in the computer that are available to a
programmer. For example, it defines data types, registers, addressing
modes, memory organization etc.

© September 2020 Instructor: Jones Katiku (Mr.)


8

5. Register are high speed storage for numbers that can be accessed by a
processor. Data as well as instructions can be in a register.

Addressing modes are the ways in which the instructions locate there
operands.

Memory organization defines how instructions interact with the memory.

Computer Organization

Computer organization helps optimize performance-based products. For


example, software engineers need to know the processing ability of
processors. They may need to optimize software in order to gain the most
performance at the least expense. This can require quite detailed analysis of
the computer organization. For example, in a multimedia decoder, the
designers might need to arrange for most data to be processed in the fastest
data path.

Computer organization also helps plan the selection of a processor for a


particular project. Multimedia projects may need very rapid data access, while
supervisory software may need fast interrupts.

Sometimes certain tasks need additional components as well. For example, a


computer capable of virtualization needs virtual memory hardware so that the
memory of different simulated computers can be kept separated.

The computer organization and features also affect the power consumption
and the cost of the processor.

Design goals

The exact form of a computer system depends on the constraints and goals
for which it was optimized. Computer architectures usually trade off

© September 2020 Instructor: Jones Katiku (Mr.)


9

standards, cost, memory capacity, latency and throughput. Sometimes other


considerations, such as features, size, weight, reliability, expandability and
power consumption are factors as well.

The most common scheme carefully chooses the bottleneck that most reduces
the computer's speed. Ideally, the cost is allocated proportionally to assure
that the data rate is nearly the same for all parts of the computer, with the
most costly part being the slowest. This is how skillful commercial integrators
optimize personal computers.

Performance

Computer performance is often described in terms of clock speed (usually in


MHz or GHz). This refers to the cycles per second of the main clock of the
CPU. However, this metric is somewhat misleading, as a machine with a higher
clock rate may not necessarily have higher performance. As a result
manufacturers have moved away from clock speed as a measure of
performance.

Computer performance can also be measured with the amount of cache a


processor has. If the speed, MHz or GHz, were to be a car then the cache is
like the gas tank. No matter how fast the car goes, it will still need to get gas.
The higher the speed, and the greater the cache, the faster a processor runs.

Modern CPUs can execute multiple instructions per clock cycle, which
dramatically speeds up a program. Other factors influence speed, such as the
mix of functional units, bus speeds, available memory, and the type and order
of instructions in the programs being run.

There are two main types of speed, latency and throughput. Latency is the
time between the start of a process and its completion. Throughput is the
amount of work done per unit time. Interrupt latency is the guaranteed

© September 2020 Instructor: Jones Katiku (Mr.)


10

maximum response time of the system to an electronic event (e.g. when the
disk drive finishes moving some data). Performance is affected by a very wide
range of design choices — for example, pipelining a processor usually makes
latency worse (slower) but makes throughput better. Computers that control
machinery usually need low interrupt latencies. These computers operate in a
real-time environment and fail if an operation is not completed in a specified
amount of time. For example, computer-controlled anti-lock brakes must
begin braking almost immediately after they have been instructed to brake.

The performance of a computer can be measured using other metrics,


depending upon its application domain. A system may be CPU bound (as in
numerical calculation), I/O bound (as in a webserving application) or memory
bound (as in video editing). Power consumption has become important in
servers and portable devices like laptops.

Benchmarking tries to take all these factors into account by measuring the
time a computer takes to run through a series of test programs. Although
benchmarking shows strengths, it may not help one to choose a computer.
Often the measured machines split on different measures. For example, one
system might handle scientific applications quickly, while another might play
popular video games more smoothly. Furthermore, designers have been
known to add special features to their products, whether in hardware or
software, which permit a specific benchmark to execute quickly but which do
not offer similar advantages to other, more general tasks.

Power consumption

Power consumption is another design criterion that factors in the design of


modern computers. Power efficiency can often be traded for performance or
cost benefits. With the increasing power density of modern circuits as the
number of transistors per chip scales (Moore's Law), power efficiency has

© September 2020 Instructor: Jones Katiku (Mr.)


11

increased in importance. Recent processor designs such as the Intel Core 2


put more emphasis on increasing power efficiency. Also, in the world of
embedded computing, power efficiency has long been and remains the
primary design goal next to performance.

© September 2020 Instructor: Jones Katiku (Mr.)

You might also like