0% found this document useful (0 votes)
31 views39 pages

Week2-An Introduction To Computer Science

This chapter introduces computer science as the study of algorithms, detailing their definitions, properties, and the operations involved in designing them. It also provides a brief history of computing, highlighting key developments from early mechanical calculators to modern electronic computers. The chapter concludes by emphasizing the importance of algorithms in automating problem-solving processes.

Uploaded by

rosewolf4066
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
0% found this document useful (0 votes)
31 views39 pages

Week2-An Introduction To Computer Science

This chapter introduces computer science as the study of algorithms, detailing their definitions, properties, and the operations involved in designing them. It also provides a brief history of computing, highlighting key developments from early mechanical calculators to modern electronic computers. The chapter concludes by emphasizing the importance of algorithms in automating problem-solving processes.

Uploaded by

rosewolf4066
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

Chapter 1:

An Introduction to Computer Science

BMM 105 Introduction to Computer Engineering


Fall 2022
Assoc. Prof. Dr. Ayça Kolukısa Tarhan
[email protected]
Objectives

In this chapter, you will learn about

■ The definition of computer science

■ Algorithms

■ A brief history of computing

Invitation to Computer Science, C++ Version, Fourth Edition 2


Introduction

■ Common misconceptions about computer


science

❑ Computer science is the study of computers

❑ Computer science is the study of how to write


computer programs

❑ Computer science is the study of the uses and


applications of computers and software

Invitation to Computer Science, C++ Version, Fourth Edition 3


The Definition of Computer Science
■ Gibbs and Tucker definition of computer science

❑ The study of algorithms

■ Formal and mathematical properties

■ Hardware realizations

■ Linguistic realizations

■ Applications

Invitation to Computer Science, C++ Version, Fourth Edition 4


The Definition of Computer Science
(continued)
■ Computer scientist designs and develops
algorithms to solve problems
■ Operations involved in designing algorithms
❑ Formal and mathematical properties
■ Studying the behavior of algorithms to determine
whether they are correct and efficient
❑ Hardware realizations
■ Designing and building computer systems that are
able to execute algorithms

Invitation to Computer Science, C++ Version, Fourth Edition 5


The Definition of Computer Science
(continued)
❑ Linguistic realizations

■ Designing programming languages and translating


algorithms into these languages

❑ Applications

■ Identifying important problems and designing correct


and efficient software packages to solve these
problems

Invitation to Computer Science, C++ Version, Fourth Edition 6


The Definition of Computer Science
(continued)
■ Algorithm
❑ Dictionary definition
■ Procedure for solving a mathematical problem in a
finite number of steps that frequently involves
repetition of an operation
■ A step-by-step method for accomplishing a task
❑ Informal description
■ An ordered sequence of instructions that is
guaranteed to solve a specific problem

Invitation to Computer Science, C++ Version, Fourth Edition 7


The Definition of Computer Science
(continued)
■ An algorithm is a list that looks like
❑ STEP 1: Do something.
❑ STEP 2: Do something.
❑ STEP 3: Do something.
❑ . .
❑ . .
❑ . .
❑ STEP N: Stop. You are finished.

Invitation to Computer Science, C++ Version, Fourth Edition 8


Video:
Long way to a well-instructed algorithm!

■ https://www.youtube.com/watch?v=Ct-
lOOUqmyY&t=33s

■ What problem(s) do you see here?

9
The Definition of Computer Science
(continued)
■ Categories of operations used to construct
algorithms

❑ Sequential operations
■ Carry out a single well-defined task; when that task is
finished, the algorithm moves on to the next operation
■ Examples:
❑ Add 1 cup of butter to the mixture in the bowl
❑ Subtract the amount of the check from the current
account balance
❑ Set the value of x to 1
Invitation to Computer Science, C++ Version, Fourth Edition 10
The Definition of Computer Science
(continued)
❑ Conditional operations

■ Ask a question and then select the next operation to


be executed on the basis of the answer to that
question

■ Examples:

❑ If the mixture is too dry, then add one-half cup of


water to the bowl

Invitation to Computer Science, C++ Version, Fourth Edition 11


The Definition of Computer Science
(continued)
■ Conditional operations examples (continued):

❑ If the amount of the check is less than or equal to the


current account balance, then cash the check;
otherwise, tell the person that the account is
overdrawn

❑ If x is not equal to 0, then set y equal to 1/x;


otherwise, print an error message that says we
cannot divide by 0

Invitation to Computer Science, C++ Version, Fourth Edition 12


The Definition of Computer Science
(continued)
❑ Iterative operations
■ Tell us to go back and repeat the execution of a
previous block of instructions
■ Examples
❑ Repeat the previous two operations until the mixture
has thickened
❑ While there are still more checks to be processed, do
the following five steps
❑ Repeat steps 1, 2, and 3 until the value of y is equal
to 11

Invitation to Computer Science, C++ Version, Fourth Edition 13


Algorithm for Shampooing Your Hair

Invitation to Computer Science, C++ Version, Fourth Edition 14


Another way (without iteration condition)

Invitation to Computer Science, C++ Version, Fourth Edition 15


The Definition of Computer Science
(continued)
■ If we can specify an algorithm to solve a
problem, we can automate its solution

■ Computing agent

❑ The machine, robot, person, or thing carrying out


the steps of the algorithm

❑ Does not need to understand the concepts or


ideas underlying the solution

Invitation to Computer Science, C++ Version, Fourth Edition 16


The Formal Definition of an
Algorithm (continued)
■ A primitive operation (or a primitive) of the
computing agent
❑ Operation that is unambiguous for computing agent
❑ Primitive operations of different individuals (or machines)
vary
❑ An algorithm must be composed entirely of primitives

■ Effectively computable
❑ Computational process exists that allows computing
agent to complete that operation successfully

Invitation to Computer Science, C++ Version, Fourth Edition 17


■ Step 1 is not effectively computable

■ Why we had to initialize the value of the variable?

Invitation to Computer Science, C++ Version, Fourth Edition 18


A BRIEF HISTORY OF COMPUTING

19
The Early Period: Up to 1940

■ 3,000 years ago: Mathematics, logic, and


numerical computation
❑ Important contributions made by the Greeks,
Egyptians, Babylonians, Indians, Chinese, and
Persians
■ 1614: Logarithms
❑ Invented by John Napier to simplify difficult
mathematical computations
■ Around 1622: First slide rule created

Invitation to Computer Science, C++ Version, Fourth Edition 20


The Early Period: Up to 1940
(continued)
■ 1672: The Pascaline
❑ Designed and built by Blaise Pascal
❑ One of the first mechanical calculators
❑ Could do addition and subtraction
■ 1674: Leibnitz’s Wheel
❑ Constructed by Gottfried Leibnitz
❑ Mechanical calculator
❑ Could do addition, subtraction, multiplication, and
division

Invitation to Computer Science, C++ Version, Fourth Edition 21


Figure 1.4
The Pascaline: One of the Earliest Mechanical Calculators

Invitation to Computer Science, C++ Version, Fourth Edition 22


The Early Period: Up to 1940
(continued)
■ 1801: The Jacquard Loom
❑ Developed by Joseph Jacquard
❑ Automated loom
❑ Used punched cards to create desired pattern
■ 1823: The Difference Engine
❑ Developed by Charles Babbage
❑ Did addition, subtraction, multiplication, and
division to 6 significant digits
❑ Solved polynomial equations and other
complex mathematical problems
Invitation to Computer Science, C++ Version, Fourth Edition 23
Figure 1.5
Drawing of the Jacquard Loom

Invitation to Computer Science, C++ Version, Fourth Edition 24


The Early Period: Up to 1940
(continued)
■ 1830s: The Analytic Engine
❑ Designed by Charles Babbage
❑ More powerful and general-purpose
computational machine
❑ Components were functionally similar to the four
major components of today’s computers
■ Mill (modern terminology: arithmetic/logic unit)
■ Store (modern terminology: memory)
■ Operator (modern terminology: processor)
■ Output (modern terminology: input/output)

Invitation to Computer Science, C++ Version, Fourth Edition 25


The Early Period: Up to 1940
(continued)
■ 1890: U.S. census carried out with
programmable card processing machines

❑ Built by Herman Hollerith

❑ These machines could automatically read,


calculate, and sort data entered on punched cards

Invitation to Computer Science, C++ Version, Fourth Edition 26


The Birth of Computers:
1940-1950
■ Development of electronic, general-purpose
computers
❑ Did not begin until after 1940
❑ Was fueled in large part by needs of World War II
■ Early computers
❑ Mark I
❑ ENIAC (Electronic Numerical Integrator And Computer)
❑ ABC system
❑ Colossus
❑ Z1

Invitation to Computer Science, C++ Version, Fourth Edition 27


Figure 1.6
Photograph of the ENIAC Computer

Invitation to Computer Science, C++ Version, Fourth Edition 28


The Birth of Computers:
1940-1950 (continued)
■ Stored program computer model
❑ Proposed by John Von Neumann in 1946
❑ Stored binary algorithm in the computer’s memory
along with the data
❑ Is known as the Von Neumann architecture
❑ Modern computers remain, fundamentally, Von
Neumann machines
❑ First stored program computers
■ EDVAC
■ EDSAC

Invitation to Computer Science, C++ Version, Fourth Edition 29


The Modern Era: 1950 to the Present

■ First generation of computing (1950-1957)

❑ Vacuum tubes used to store data and programs

❑ Each computer was multiple rooms in size

❑ Computers were not very reliable

Invitation to Computer Science, C++ Version, Fourth Edition 30


The Modern Era: 1950 to the Present
(continued)
■ Second generation of computing (1957-1965)
❑ Transistors and magnetic cores replaced vacuum
tubes
❑ Dramatic reduction in size
■ Computer could fit into a single room
❑ Increase in reliability of computers
❑ Reduced cost of computers
❑ High-level programming languages
■ The programmer occupation was born

Invitation to Computer Science, C++ Version, Fourth Edition 31


The Modern Era: 1950 to the Present
(continued)
■ Third generation of computing (1965-1975)
❑ Integrated circuits rather than individual electronic
components were used
❑ Further reduction in size and cost of computers
■ Computers became desk-sized
■ First minicomputer developed
❑ Software industry formed

Invitation to Computer Science, C++ Version, Fourth Edition 32


The Modern Era: 1950 to the Present
(continued)
■ Fourth generation of computing (1975-1985)
❑ Reduced to the size of a typewriter
❑ First microcomputer developed
❑ Desktop and personal computers common
❑ Appearance of
■ Computer networks
■ Electronic mail
■ User-friendly systems (graphical user interfaces)
■ Embedded systems

Invitation to Computer Science, C++ Version, Fourth Edition 33


Figure 1.7
The Altair 8800, the World’s First Microcomputer

Invitation to Computer Science, C++ Version, Fourth Edition 34


The Modern Era: 1950 to the Present
(continued)
■ Fifth generation of computing (1985-?)
❑ Recent developments
■ Massively parallel processors
■ Handheld devices and other types of personal
digital assistants (smart phones)
■ High-resolution graphics
■ Powerful multimedia user interfaces incorporating
sound, voice recognition, touch, photography,
video, and television

Invitation to Computer Science, C++ Version, Fourth Edition 35


The Modern Era: 1950 to the Present
(continued)
■ Recent developments (continued)
❑ Integrated global telecommunications
incorporating data, television, telephone, fax, the
Internet, and the World Wide Web
❑ Wireless data communications

❑ Massive storage devices


❑ Ubiquitous computing

Invitation to Computer Science, C++ Version, Fourth Edition 36


Figure 1.8. Some of the Major Advancements in Computing

Invitation to Computer Science, C++ Version, Fourth Edition 37


Figure 1.8. Some of the Major Advancements in Computing

Invitation to Computer Science, C++ Version, Fourth Edition 38


Summary
■ Computer science is the study of algorithms
■ An algorithm is a well-ordered collection of
unambiguous and effectively computable
operations that, when executed, produces a
result and halts in a finite amount of time
■ If we can specify an algorithm to solve a
problem, then we can automate its solution
■ Computers developed from mechanical
calculating devices to modern electronic marvels
of miniaturization

Invitation to Computer Science, C++ Version, Fourth Edition 39

You might also like