SlideShare a Scribd company logo
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 1
An Introduction to
Computer Science
Chapter 1
Topics:
The Definition of Computer Science
Algorithms
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 2
Misconceptions about
Computer Science
• Computer science is the study of computers.
– “Computer science is no more about computers
than astronomy is about telescopes, biology is
about microscopes, or chemistry is about
beakers and test tubes. Science is not about
tools. It is about how we use them, and what
we find out when we do”.
(M. Fellows and I. Parberry)
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 3
Misconceptions ( cont. … )
• Computer science is the study of how to
write computer programs.
– Programming is an important part of
computer science, but so primarily as a tool
to implement ideas and solutions.
– A program is only a means to an end, not
an end in itself.
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 4
Misconceptions ( cont. … )
• Computer science is the study of the
uses and applications of computers and
software.
– Learning how to use a computer/software
is no more part of computer science than
driver’s education is a branch of automotive
engineering.
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 5
What is Computer Science
then?
• The previous definitions:
– although not necessarily (completely) wrong, are
incomplete and thus misleading.
• A more accurate definition:
Computer science is the study of algorithms,
including their properties, their hardware and
linguistic realizations, and their applications.
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 6
OK, but what is an
algorithm?
• Formal definition:
– A well-ordered collection of unambiguous and
effectively computable operations that, when
executed, produces a result and halts in a
finite amount of time.
• Or, more informally:
A step-by-step method for accomplishing
some task.
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 7
“Algorithms” in our Daily
Life
• Algorithms are not necessarily limited to
specify mathematical tasks.
• We use “algorithms” all the time in our daily
life, for example:
– Cooking recipes.
– Instructions for assembling things.
– Directions how to get to places.
– When performing routine tasks.
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 8
An Algorithm for
Shampooing Your Hair
Step Operation
1 Wet your hair
2 Lather your hair
3 Rinse your hair
4 Lather your hair
5 Rinse your hair
6 Stop, you have finished shampooing your hair
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 9
An Algorithm for Calculating
your GPA
Step Operation
1 total_gp = 0
2 course_count = 0
3 Repeat steps 4-5 for all your coursesi
4 total_gp = total_gp + grade in coursei
5 course_count = course_count + 1
6 GPA = total_gp / course_count
7 Print the value of GPA
8 Stop.
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 10
Aren’t all “instructions” then an
algorithm?
• … a well-ordered collection …
– Must know in which order to perform the steps
(matters whether you rinse or lather your hair first!).
• …unambiguous and effectively computable
operations …
– must know specifically how to perform each step.
• … that produces a result …
– must be doing something well defined.
• … and halts in a finite amount of time …
– must guarantee that the process stops (eventually).
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 11
Algorithms and Problem
Solving
• We have a task or a problem that needs
to be solved:
• We want to translate the procedure for solving
the problem into an algorithm that is:
– Correct
– Efficient
– Each step is computable
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 12
Why bother?
If we can specify an algorithm to solve a
problem, then we can automate its solution.
Step 1: …
Step 2: …
Step 3: …
Computing agent
Problem Algorithm Solution
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 13
Computing Agent
• A computing agent is an entity capable of
performing the steps described in the
algorithm, that is, execute the algorithm.
• Could be a:
– Person
– DNA (!)
– Computer
• In our case, typically a computer.
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 14
Definition of Computer
Science
Computer science - the study of algorithms, including:
1) Their formal and mathematical properties
2) Their hardware realizations
3) Their linguistic realizations
4) Their applications
Step 1: …
Step 2: …
Step 3: …
Computing agent
Problem Algorithm Solution
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 15
1) Formal and Mathematical
Properties
• Computer Science is about:
– How to design algorithms to solve a wide
range of problems.
– How to determine whether problems are
(efficiently) computable
• That is, can be specified as an algorithm!
– Studying the behavior of algorithms to
decide whether they are correct and how
efficient they are.
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 16
2) Their Hardware
Realization
• Computer Science is about:
– Designing and building computer systems
capable of executing algorithms.
– Non-stopping technological advances:
• Faster and faster computers, networks, …
• Parallel computing
• “Quantum computing”?
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 17
3) Their linguistic
realizations
• Computer Science is about:
– Designing programming languages and
translating algorithms into these languages
so they can be executed by the hardware.
• Functional programming
• Object Oriented programming
• Visual programming
• …
CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 18
4) Their applications
• Computer Science is about:
– Identifying important problems (new uses) for
computers.
– Designing software to solve these new problems.
• New and new applications:
– First computers were used mainly for numerical
calculations and massive data storage/retrieval.
– Then, … business use, graphics, multimedia,
games, Internet, WWW, cars, house appliances, …
• What’s to come?

More Related Content

Similar to Intro to Computer Science.ppt

CS4109 Computer System Architecture
CS4109 Computer System ArchitectureCS4109 Computer System Architecture
CS4109 Computer System Architecture
ktosri
 
W4647 _ JVNArchitecture.ppt
W4647 _ JVNArchitecture.pptW4647 _ JVNArchitecture.ppt
W4647 _ JVNArchitecture.ppt
TrungNguynTin5
 
Lec0.ppt
Lec0.pptLec0.ppt
Lec0.ppt
putmy
 
lecture_1.pptx
lecture_1.pptxlecture_1.pptx
lecture_1.pptx
GargTutorials
 
Bt0068, computer organization and architecture
Bt0068, computer organization and architectureBt0068, computer organization and architecture
Bt0068, computer organization and architecturesmumbahelp
 
Session 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.xSession 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.x
Mousuf Zaman C
 
Strobe & ConicIT integration (June 2016)
 Strobe & ConicIT integration (June 2016) Strobe & ConicIT integration (June 2016)
Strobe & ConicIT integration (June 2016)
Eli Hizkiyev
 
Strobe & Strobe integration
Strobe & Strobe integrationStrobe & Strobe integration
Strobe & Strobe integration
Eli Hizkiyev
 
Programming beyond cs
Programming beyond csProgramming beyond cs
Programming beyond csuditproject
 
Emotion recognition and drowsiness detection using python.ppt
Emotion recognition and drowsiness detection using python.pptEmotion recognition and drowsiness detection using python.ppt
Emotion recognition and drowsiness detection using python.ppt
Gopi Naidu
 
Segment_1_New computer algorithm for cse.pptx
Segment_1_New computer algorithm for cse.pptxSegment_1_New computer algorithm for cse.pptx
Segment_1_New computer algorithm for cse.pptx
fahmidasetu
 
Acm icpc-briefing-prof-nbv
Acm icpc-briefing-prof-nbvAcm icpc-briefing-prof-nbv
Acm icpc-briefing-prof-nbv
Nagasuri Bala Venkateswarlu
 
Brain access
Brain accessBrain access
Brain access
Jay Lohokare
 
Silent sound technology NEW
Silent sound technology NEW Silent sound technology NEW
Silent sound technology NEW
Neha Tyagi
 
21AI401 AI Unit 1.pdf
21AI401 AI Unit 1.pdf21AI401 AI Unit 1.pdf
21AI401 AI Unit 1.pdf
DivyaDivya208851
 
SoftComputingUNIT-1_Neural_Network_Architectures.pptx
SoftComputingUNIT-1_Neural_Network_Architectures.pptxSoftComputingUNIT-1_Neural_Network_Architectures.pptx
SoftComputingUNIT-1_Neural_Network_Architectures.pptx
PrateekPatidar13
 
01CHAP_1.PPT
01CHAP_1.PPT01CHAP_1.PPT
01CHAP_1.PPT
ManoRanjani30
 
Embedded Systems PPt.pptx
Embedded Systems PPt.pptxEmbedded Systems PPt.pptx
Embedded Systems PPt.pptx
Tabrezahmed39
 
Screencasting and Presenting for Engineers
Screencasting and Presenting for EngineersScreencasting and Presenting for Engineers
Screencasting and Presenting for Engineers
Kunal Johar
 
Assessing computational thinking
Assessing computational thinkingAssessing computational thinking
Assessing computational thinking
Daniel Duckworth
 

Similar to Intro to Computer Science.ppt (20)

CS4109 Computer System Architecture
CS4109 Computer System ArchitectureCS4109 Computer System Architecture
CS4109 Computer System Architecture
 
W4647 _ JVNArchitecture.ppt
W4647 _ JVNArchitecture.pptW4647 _ JVNArchitecture.ppt
W4647 _ JVNArchitecture.ppt
 
Lec0.ppt
Lec0.pptLec0.ppt
Lec0.ppt
 
lecture_1.pptx
lecture_1.pptxlecture_1.pptx
lecture_1.pptx
 
Bt0068, computer organization and architecture
Bt0068, computer organization and architectureBt0068, computer organization and architecture
Bt0068, computer organization and architecture
 
Session 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.xSession 1: Overview of OOAD and UML 2.x
Session 1: Overview of OOAD and UML 2.x
 
Strobe & ConicIT integration (June 2016)
 Strobe & ConicIT integration (June 2016) Strobe & ConicIT integration (June 2016)
Strobe & ConicIT integration (June 2016)
 
Strobe & Strobe integration
Strobe & Strobe integrationStrobe & Strobe integration
Strobe & Strobe integration
 
Programming beyond cs
Programming beyond csProgramming beyond cs
Programming beyond cs
 
Emotion recognition and drowsiness detection using python.ppt
Emotion recognition and drowsiness detection using python.pptEmotion recognition and drowsiness detection using python.ppt
Emotion recognition and drowsiness detection using python.ppt
 
Segment_1_New computer algorithm for cse.pptx
Segment_1_New computer algorithm for cse.pptxSegment_1_New computer algorithm for cse.pptx
Segment_1_New computer algorithm for cse.pptx
 
Acm icpc-briefing-prof-nbv
Acm icpc-briefing-prof-nbvAcm icpc-briefing-prof-nbv
Acm icpc-briefing-prof-nbv
 
Brain access
Brain accessBrain access
Brain access
 
Silent sound technology NEW
Silent sound technology NEW Silent sound technology NEW
Silent sound technology NEW
 
21AI401 AI Unit 1.pdf
21AI401 AI Unit 1.pdf21AI401 AI Unit 1.pdf
21AI401 AI Unit 1.pdf
 
SoftComputingUNIT-1_Neural_Network_Architectures.pptx
SoftComputingUNIT-1_Neural_Network_Architectures.pptxSoftComputingUNIT-1_Neural_Network_Architectures.pptx
SoftComputingUNIT-1_Neural_Network_Architectures.pptx
 
01CHAP_1.PPT
01CHAP_1.PPT01CHAP_1.PPT
01CHAP_1.PPT
 
Embedded Systems PPt.pptx
Embedded Systems PPt.pptxEmbedded Systems PPt.pptx
Embedded Systems PPt.pptx
 
Screencasting and Presenting for Engineers
Screencasting and Presenting for EngineersScreencasting and Presenting for Engineers
Screencasting and Presenting for Engineers
 
Assessing computational thinking
Assessing computational thinkingAssessing computational thinking
Assessing computational thinking
 

Recently uploaded

Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
Vivekanand Anglo Vedic Academy
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
Celine George
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
rosedainty
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
EduSkills OECD
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
Celine George
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
PedroFerreira53928
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
GeoBlogs
 

Recently uploaded (20)

Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
The geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideasThe geography of Taylor Swift - some ideas
The geography of Taylor Swift - some ideas
 

Intro to Computer Science.ppt

  • 1. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 1 An Introduction to Computer Science Chapter 1 Topics: The Definition of Computer Science Algorithms
  • 2. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 2 Misconceptions about Computer Science • Computer science is the study of computers. – “Computer science is no more about computers than astronomy is about telescopes, biology is about microscopes, or chemistry is about beakers and test tubes. Science is not about tools. It is about how we use them, and what we find out when we do”. (M. Fellows and I. Parberry)
  • 3. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 3 Misconceptions ( cont. … ) • Computer science is the study of how to write computer programs. – Programming is an important part of computer science, but so primarily as a tool to implement ideas and solutions. – A program is only a means to an end, not an end in itself.
  • 4. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 4 Misconceptions ( cont. … ) • Computer science is the study of the uses and applications of computers and software. – Learning how to use a computer/software is no more part of computer science than driver’s education is a branch of automotive engineering.
  • 5. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 5 What is Computer Science then? • The previous definitions: – although not necessarily (completely) wrong, are incomplete and thus misleading. • A more accurate definition: Computer science is the study of algorithms, including their properties, their hardware and linguistic realizations, and their applications.
  • 6. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 6 OK, but what is an algorithm? • Formal definition: – A well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts in a finite amount of time. • Or, more informally: A step-by-step method for accomplishing some task.
  • 7. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 7 “Algorithms” in our Daily Life • Algorithms are not necessarily limited to specify mathematical tasks. • We use “algorithms” all the time in our daily life, for example: – Cooking recipes. – Instructions for assembling things. – Directions how to get to places. – When performing routine tasks.
  • 8. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 8 An Algorithm for Shampooing Your Hair Step Operation 1 Wet your hair 2 Lather your hair 3 Rinse your hair 4 Lather your hair 5 Rinse your hair 6 Stop, you have finished shampooing your hair
  • 9. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 9 An Algorithm for Calculating your GPA Step Operation 1 total_gp = 0 2 course_count = 0 3 Repeat steps 4-5 for all your coursesi 4 total_gp = total_gp + grade in coursei 5 course_count = course_count + 1 6 GPA = total_gp / course_count 7 Print the value of GPA 8 Stop.
  • 10. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 10 Aren’t all “instructions” then an algorithm? • … a well-ordered collection … – Must know in which order to perform the steps (matters whether you rinse or lather your hair first!). • …unambiguous and effectively computable operations … – must know specifically how to perform each step. • … that produces a result … – must be doing something well defined. • … and halts in a finite amount of time … – must guarantee that the process stops (eventually).
  • 11. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 11 Algorithms and Problem Solving • We have a task or a problem that needs to be solved: • We want to translate the procedure for solving the problem into an algorithm that is: – Correct – Efficient – Each step is computable
  • 12. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 12 Why bother? If we can specify an algorithm to solve a problem, then we can automate its solution. Step 1: … Step 2: … Step 3: … Computing agent Problem Algorithm Solution
  • 13. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 13 Computing Agent • A computing agent is an entity capable of performing the steps described in the algorithm, that is, execute the algorithm. • Could be a: – Person – DNA (!) – Computer • In our case, typically a computer.
  • 14. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 14 Definition of Computer Science Computer science - the study of algorithms, including: 1) Their formal and mathematical properties 2) Their hardware realizations 3) Their linguistic realizations 4) Their applications Step 1: … Step 2: … Step 3: … Computing agent Problem Algorithm Solution
  • 15. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 15 1) Formal and Mathematical Properties • Computer Science is about: – How to design algorithms to solve a wide range of problems. – How to determine whether problems are (efficiently) computable • That is, can be specified as an algorithm! – Studying the behavior of algorithms to decide whether they are correct and how efficient they are.
  • 16. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 16 2) Their Hardware Realization • Computer Science is about: – Designing and building computer systems capable of executing algorithms. – Non-stopping technological advances: • Faster and faster computers, networks, … • Parallel computing • “Quantum computing”?
  • 17. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 17 3) Their linguistic realizations • Computer Science is about: – Designing programming languages and translating algorithms into these languages so they can be executed by the hardware. • Functional programming • Object Oriented programming • Visual programming • …
  • 18. CMPUT101 Introduction to Computing (c) Yngvi Bjornsson 18 4) Their applications • Computer Science is about: – Identifying important problems (new uses) for computers. – Designing software to solve these new problems. • New and new applications: – First computers were used mainly for numerical calculations and massive data storage/retrieval. – Then, … business use, graphics, multimedia, games, Internet, WWW, cars, house appliances, … • What’s to come?

Editor's Notes

  1. Chapter 1: An Introduction to Computer Science