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

Introduction to Computer Science Concepts

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)
12 views39 pages

Introduction to Computer Science Concepts

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
atarhan@[Link]
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!

■ [Link]
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