SlideShare a Scribd company logo
1 of 34
1
The Definition of Computer Science
Mikial Singh Nijjar
Objectives
After studying this chapter, students will be able to:
• Understand the definition of computer science
• Write down everyday algorithms and evaluate them to
determine if they are ambiguous or not effectively
computable
2
Objectives (continued)
After studying this chapter, students will be able to:
• Understand the roots of modern computer science in
mathematics thousands of years old and in mechanical
machines hundreds of years old
• Summarize the key points in the historical development
of modern electronic computers
• Map the organization of the text onto the definition of
computer science
3
Introduction
• Misconceptions
– Computer science is:
• The study of computers
• The study of how to write computer programs
• The study of the uses and applications of computers
and software
4
The Definition of Computer Science
• Computer science is the study of algorithms,
including:
– Their formal and mathematical properties
– Their hardware realizations
– Their linguistic realizations
– Their applications
5
The Definition of Computer Science
(continued)
• Algorithm
– Informally, “an ordered sequence of instructions that
is guaranteed to solve a specific problem.”
• Operations used to construct algorithms
– Sequential operations
– Conditional operations
– Iterative operations
6
7
8
The Definition of Computer Science
(continued)
• Why are formal algorithms so important in
computer science?
– If we can specify an algorithm to solve a problem,
then we can automate its solution
• Computing agent
– Machine, robot, person, or thing carrying out the
steps of the algorithm
• Unsolved problems
– Some problems are unsolvable, some solutions are
too slow, and some solutions are not yet known
9
Algorithms
• The Formal Definition of an Algorithm
– A well-ordered collection of unambiguous and
effectively computable operations that, when
executed, produces a result and halts in a finite
amount of time
10
Algorithms (continued)
• Well-ordered collection
– Upon completion of an operation we always know
which operation to do next
• Ambiguous statements
– Go back and do it again (Do what again?)
– Start over (From where?)
11
Algorithms (continued)
• Unambiguous operation, or primitive
– Can be understood by the computing agent without
having to be further defined or simplified
• It is not enough for an operation to be
understandable
– It must also be doable (effectively computable) by
the computing agent
12
Algorithms (continued)
• Algorithm
– Result must be produced after the execution of a
finite number of operations
– Result may be a number, text, a light, picture, sound,
or a change in the computing agent’s environment
• Infinite loop
– Runs forever
– Usually a mistake
13
14
15
Algorithms (continued)
• The Importance of Algorithmic Problem Solving
– “Industrial revolution” of 19th century
• Mechanized and automated repetitive physical tasks
– “Computer revolution” of the 20th and 21st centuries
• Mechanized and automated repetitive mental tasks
• Through algorithms and computer hardware
16
A Brief History of Computing
The Early Period: Up to 1940
• Seventeenth century: automation/simplification of
arithmetic for scientific research
– John Napier invented logarithms as a way to simplify
difficult mathematical computations (1614)
– The first slide rule appeared around 1622
– Blaise Pascal designed and built a mechanical
calculator named the Pascaline (1672)
– Gottfried Leibnitz constructed a mechanical
calculator called Leibnitz’s Wheel (1674)
17
18
A Brief History of Computing
The Early Period: Up to 1940 (continued)
• Seventeenth century devices
– Could represent numbers
– Could perform arithmetic operations on numbers
– Did not have a memory to store information
– Were not programmable (a user could not provide a
sequence of actions to be executed by the device)
19
A Brief History of Computing
The Early Period: Up to 1940 (continued)
• Nineteenth century devices
– Joseph Jacquard designed an automated loom that
used punched cards to create patterns (1801)
– Herman Hollerith (1880s on)
• Designed programmable card-processing machines to
read, tally, and sort data on punched cards for the
U.S. Census Bureau
• Founded company that became IBM in 1924
20
21
A Brief History of Computing
The Early Period: Up to 1940 (continued)
• Charles Babbage
– Difference Engine designed and built in 1823
• Could do addition, subtraction, multiplication, and
division to six significant digits
• Could solve polynomial equations and other complex
mathematical problems
– Analytical Engine, designed but never built
• Mechanical, programmable machine similar to a
modern computer
22
A Brief History of Computing
The Early Period: Up to 1940 (continued)
• Nineteenth century devices
– Were mechanical, not electrical
– Had many features of modern computers:
• Representation of numbers or other data
• Operations to manipulate the data
• Memory to store values in a machine-readable form
• Programmable: sequences of instructions could be
pre-designed for complex operations
23
A Brief History of Computing
The Birth of Computers: 1940–1950
• Mark I (1944)
– Electromechanical computer used a mix of relays,
magnets, and gears to process and store data
• Colossus (1943)
– General-purpose computer built by Alan Turing for
British Enigma project
• ENIAC (Electronic Numerical Integrator and
Calculator) (1946)
– First publicly known fully electronic computer
24
25
A Brief History of Computing
The Birth of Computers: 1940–1950 (continued)
• John Von Neumann
– Proposed a radically different computer design
based on a model called the stored program
computer
– Research group at the University of Pennsylvania
built one of the first stored program computers,
called EDVAC, in 1951
– UNIVAC-1, a version of EDVAC, first commercially-
sold computer
– Virtually all modern computers use the Von
Neumann architecture
26
A Brief History of Computing
The Modern Era: 1950 to the Present
• First generation of computing (1950-1957)
– Similar to EDVAC
– Vacuum tubes for processing and storage
– Large, expensive, and delicate
– Required trained users and special environments
• Second generation (1957–1965)
– Transistors and magnetic cores instead of vacuum
tubes
– Era of FORTRAN and COBOL: high-level
programming languages
27
A Brief History of Computing
The Modern Era: 1950 to the Present (continued)
• Third generation (1965 to 1975)
– Era of the integrated circuit
– Birth of the first minicomputer: desk-sized, not
room-sized computers
– Birth of the software industry
• Fourth generation (1975 to 1985)
– The first microcomputers: desktop machines
– Development of widespread computer networks
– Electronic mail, graphical user interfaces, and
embedded systems
28
A Brief History of Computing
The Modern Era: 1950 to the Present (continued)
• Fifth generation (1985–?)
– Massively parallel processors capable of quadrillions
(1015) of computations per second
– Handheld digital devices
– Powerful multimedia user interfaces incorporatng
sound, voice recognition, images, video, television
– Wireless communications
– Massive storage devices
– Ubiquitous computing
29
Organization of the Text
30
Computer science is the study of
algorithms including:
Levels of the text:
1. Their formal and mathematical
properties,
Level 1: The Algorithmic Foundations
of Computer Science
2. Their hardware realizations, Level 2: The Hardware World
Level 3: The Virtual Machine
3. Their linguistic realizations, Level 4: The Software World
4. Their applications. Level 5: Applications
Level 6: Social Issues
31
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
32
About the Presentation
• All chapter objectives are listed in the beginning
of each presentation.
• You may customize the presentations to fit your
class needs.
• A complete set of images from the book can be
found on the Instructor Resources disc or the
Instructor Companion site at login.cengage.com
33
Thank You
34

More Related Content

What's hot

Foundation Course: Information Technology UNIT 4
Foundation Course: Information Technology UNIT 4Foundation Course: Information Technology UNIT 4
Foundation Course: Information Technology UNIT 4University of Delhi
 
Presentation on Information technology
Presentation on Information technologyPresentation on Information technology
Presentation on Information technologyZarifasifkhan
 
Information technology
Information technologyInformation technology
Information technologyEnes Bolfidan
 
Information Technology and Modern Gadgets
Information Technology and Modern GadgetsInformation Technology and Modern Gadgets
Information Technology and Modern GadgetsArnav Chowdhury
 
Foundation Course: Information Technology UNIT 2
Foundation Course: Information Technology UNIT 2Foundation Course: Information Technology UNIT 2
Foundation Course: Information Technology UNIT 2University of Delhi
 
Chapter 1-introduction to ict
Chapter 1-introduction to ictChapter 1-introduction to ict
Chapter 1-introduction to ictAten Kecik
 
Foundation Course: Information Technology_ UNIT -1
Foundation Course: Information Technology_ UNIT -1Foundation Course: Information Technology_ UNIT -1
Foundation Course: Information Technology_ UNIT -1University of Delhi
 
Information Technology, The Internet, and You
Information Technology, The Internet, and YouInformation Technology, The Internet, and You
Information Technology, The Internet, and YouAjboyDiog
 
Computer Applications - The Information and Communication Technology in the w...
Computer Applications - The Information and Communication Technology in the w...Computer Applications - The Information and Communication Technology in the w...
Computer Applications - The Information and Communication Technology in the w...Faindra Jabbar
 
Social Impact of Information Technology
Social Impact of Information TechnologySocial Impact of Information Technology
Social Impact of Information TechnologySanjeev Gupta
 
Data Communication & Computer Network
Data Communication & Computer Network Data Communication & Computer Network
Data Communication & Computer Network Faraz Ahmed
 
information technology
information technology information technology
information technology rukhsarqazi1
 
COMPED9 Module 1 Information Technology, the Internet, and You
COMPED9 Module 1 Information Technology, the Internet, and YouCOMPED9 Module 1 Information Technology, the Internet, and You
COMPED9 Module 1 Information Technology, the Internet, and YouJeremy Flores
 
Ict form 4 chapter 1(answer)
Ict form 4 chapter 1(answer)Ict form 4 chapter 1(answer)
Ict form 4 chapter 1(answer)smkengkilili2011
 
Introduction to Information Technology Lecture Slides PPT
Introduction to Information Technology Lecture Slides PPTIntroduction to Information Technology Lecture Slides PPT
Introduction to Information Technology Lecture Slides PPTOsama Yousaf
 
Information communication technology
Information communication technologyInformation communication technology
Information communication technologyBeing Aabis
 
Impact of ict on society
Impact of ict on societyImpact of ict on society
Impact of ict on societyAMOSOGAGAH
 

What's hot (20)

Foundation Course: Information Technology UNIT 4
Foundation Course: Information Technology UNIT 4Foundation Course: Information Technology UNIT 4
Foundation Course: Information Technology UNIT 4
 
Presentation on Information technology
Presentation on Information technologyPresentation on Information technology
Presentation on Information technology
 
Information technology
Information technologyInformation technology
Information technology
 
Information Technology and Modern Gadgets
Information Technology and Modern GadgetsInformation Technology and Modern Gadgets
Information Technology and Modern Gadgets
 
Foundation Course: Information Technology UNIT 2
Foundation Course: Information Technology UNIT 2Foundation Course: Information Technology UNIT 2
Foundation Course: Information Technology UNIT 2
 
1 ICT in Society
1 ICT in Society1 ICT in Society
1 ICT in Society
 
B.Ed class-1
B.Ed class-1B.Ed class-1
B.Ed class-1
 
Chapter 1-introduction to ict
Chapter 1-introduction to ictChapter 1-introduction to ict
Chapter 1-introduction to ict
 
Foundation Course: Information Technology_ UNIT -1
Foundation Course: Information Technology_ UNIT -1Foundation Course: Information Technology_ UNIT -1
Foundation Course: Information Technology_ UNIT -1
 
Information Technology, The Internet, and You
Information Technology, The Internet, and YouInformation Technology, The Internet, and You
Information Technology, The Internet, and You
 
Computer Applications - The Information and Communication Technology in the w...
Computer Applications - The Information and Communication Technology in the w...Computer Applications - The Information and Communication Technology in the w...
Computer Applications - The Information and Communication Technology in the w...
 
Social Impact of Information Technology
Social Impact of Information TechnologySocial Impact of Information Technology
Social Impact of Information Technology
 
Data Communication & Computer Network
Data Communication & Computer Network Data Communication & Computer Network
Data Communication & Computer Network
 
information technology
information technology information technology
information technology
 
COMPED9 Module 1 Information Technology, the Internet, and You
COMPED9 Module 1 Information Technology, the Internet, and YouCOMPED9 Module 1 Information Technology, the Internet, and You
COMPED9 Module 1 Information Technology, the Internet, and You
 
Ict form 4 chapter 1(answer)
Ict form 4 chapter 1(answer)Ict form 4 chapter 1(answer)
Ict form 4 chapter 1(answer)
 
Introduction to Information Technology Lecture Slides PPT
Introduction to Information Technology Lecture Slides PPTIntroduction to Information Technology Lecture Slides PPT
Introduction to Information Technology Lecture Slides PPT
 
Information communication technology
Information communication technologyInformation communication technology
Information communication technology
 
Impact of ict on society
Impact of ict on societyImpact of ict on society
Impact of ict on society
 
Ict topic 1
Ict topic 1Ict topic 1
Ict topic 1
 

Similar to Mikial Singh Nijjar | The Definition of Computer Science

Invitation to Computer Science 8thEd Ch 1 (1).pptx
Invitation to Computer Science 8thEd Ch 1 (1).pptxInvitation to Computer Science 8thEd Ch 1 (1).pptx
Invitation to Computer Science 8thEd Ch 1 (1).pptxkalyank35
 
Module 1 intro to computng science
Module 1 intro to computng scienceModule 1 intro to computng science
Module 1 intro to computng sciencemiemzzy
 
History of computers
History of computers History of computers
History of computers jeremyhart77
 
Chap1 computer basics
Chap1 computer basicsChap1 computer basics
Chap1 computer basicsraksharao
 
Evolution Of Information Technology
Evolution Of Information TechnologyEvolution Of Information Technology
Evolution Of Information TechnologyNitish Kumar
 
Autocad and computer introduction for beginers
Autocad and computer introduction for beginers Autocad and computer introduction for beginers
Autocad and computer introduction for beginers Ayele Bedada
 
Session 23-8-07
Session 23-8-07Session 23-8-07
Session 23-8-07gogulraj25
 
A brief history of computing
A brief history of computingA brief history of computing
A brief history of computingJanithRathnayake2
 
basics of computer ( B.K. school of maangement ).ppt
basics of computer ( B.K. school of maangement ).pptbasics of computer ( B.K. school of maangement ).ppt
basics of computer ( B.K. school of maangement ).pptPragatiKachhi1
 
History of Computers_d284acd37858bc8b56565ad9acfcc8ab.pptx
History of Computers_d284acd37858bc8b56565ad9acfcc8ab.pptxHistory of Computers_d284acd37858bc8b56565ad9acfcc8ab.pptx
History of Computers_d284acd37858bc8b56565ad9acfcc8ab.pptxZakiFarejo
 
Basics of computer applications
Basics of computer applicationsBasics of computer applications
Basics of computer applicationsPrakash Lambha
 
History and types of a computer.pptx
History and types of a computer.pptxHistory and types of a computer.pptx
History and types of a computer.pptxMdAbuShayem1
 
Computers basics.pptx basics of computers in business environment
Computers basics.pptx basics of computers in business environmentComputers basics.pptx basics of computers in business environment
Computers basics.pptx basics of computers in business environmentssusere1704e
 
Computers basics.pptx basics of computers in IT
Computers basics.pptx basics of computers in ITComputers basics.pptx basics of computers in IT
Computers basics.pptx basics of computers in ITssusere1704e
 
History of computers
History of computersHistory of computers
History of computersAnne Perera
 

Similar to Mikial Singh Nijjar | The Definition of Computer Science (20)

Invitation to Computer Science 8thEd Ch 1 (1).pptx
Invitation to Computer Science 8thEd Ch 1 (1).pptxInvitation to Computer Science 8thEd Ch 1 (1).pptx
Invitation to Computer Science 8thEd Ch 1 (1).pptx
 
Module 1 intro to computng science
Module 1 intro to computng scienceModule 1 intro to computng science
Module 1 intro to computng science
 
History of computers
History of computers History of computers
History of computers
 
Chap1 computer basics
Chap1 computer basicsChap1 computer basics
Chap1 computer basics
 
Class1
Class1Class1
Class1
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
Evolution Of Information Technology
Evolution Of Information TechnologyEvolution Of Information Technology
Evolution Of Information Technology
 
Autocad and computer introduction for beginers
Autocad and computer introduction for beginers Autocad and computer introduction for beginers
Autocad and computer introduction for beginers
 
CSC 101 2016_2017.pptx
CSC 101 2016_2017.pptxCSC 101 2016_2017.pptx
CSC 101 2016_2017.pptx
 
computer
computercomputer
computer
 
Session 23-8-07
Session 23-8-07Session 23-8-07
Session 23-8-07
 
A brief history of computing
A brief history of computingA brief history of computing
A brief history of computing
 
basics of computer ( B.K. school of maangement ).ppt
basics of computer ( B.K. school of maangement ).pptbasics of computer ( B.K. school of maangement ).ppt
basics of computer ( B.K. school of maangement ).ppt
 
History of Computers_d284acd37858bc8b56565ad9acfcc8ab.pptx
History of Computers_d284acd37858bc8b56565ad9acfcc8ab.pptxHistory of Computers_d284acd37858bc8b56565ad9acfcc8ab.pptx
History of Computers_d284acd37858bc8b56565ad9acfcc8ab.pptx
 
Basics of computer applications
Basics of computer applicationsBasics of computer applications
Basics of computer applications
 
Eunice regalario
Eunice regalarioEunice regalario
Eunice regalario
 
History and types of a computer.pptx
History and types of a computer.pptxHistory and types of a computer.pptx
History and types of a computer.pptx
 
Computers basics.pptx basics of computers in business environment
Computers basics.pptx basics of computers in business environmentComputers basics.pptx basics of computers in business environment
Computers basics.pptx basics of computers in business environment
 
Computers basics.pptx basics of computers in IT
Computers basics.pptx basics of computers in ITComputers basics.pptx basics of computers in IT
Computers basics.pptx basics of computers in IT
 
History of computers
History of computersHistory of computers
History of computers
 

Recently uploaded

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 

Mikial Singh Nijjar | The Definition of Computer Science

  • 1. 1 The Definition of Computer Science Mikial Singh Nijjar
  • 2. Objectives After studying this chapter, students will be able to: • Understand the definition of computer science • Write down everyday algorithms and evaluate them to determine if they are ambiguous or not effectively computable 2
  • 3. Objectives (continued) After studying this chapter, students will be able to: • Understand the roots of modern computer science in mathematics thousands of years old and in mechanical machines hundreds of years old • Summarize the key points in the historical development of modern electronic computers • Map the organization of the text onto the definition of computer science 3
  • 4. Introduction • Misconceptions – Computer science is: • The study of computers • The study of how to write computer programs • The study of the uses and applications of computers and software 4
  • 5. The Definition of Computer Science • Computer science is the study of algorithms, including: – Their formal and mathematical properties – Their hardware realizations – Their linguistic realizations – Their applications 5
  • 6. The Definition of Computer Science (continued) • Algorithm – Informally, “an ordered sequence of instructions that is guaranteed to solve a specific problem.” • Operations used to construct algorithms – Sequential operations – Conditional operations – Iterative operations 6
  • 7. 7
  • 8. 8
  • 9. The Definition of Computer Science (continued) • Why are formal algorithms so important in computer science? – If we can specify an algorithm to solve a problem, then we can automate its solution • Computing agent – Machine, robot, person, or thing carrying out the steps of the algorithm • Unsolved problems – Some problems are unsolvable, some solutions are too slow, and some solutions are not yet known 9
  • 10. Algorithms • The Formal Definition of an Algorithm – A well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts in a finite amount of time 10
  • 11. Algorithms (continued) • Well-ordered collection – Upon completion of an operation we always know which operation to do next • Ambiguous statements – Go back and do it again (Do what again?) – Start over (From where?) 11
  • 12. Algorithms (continued) • Unambiguous operation, or primitive – Can be understood by the computing agent without having to be further defined or simplified • It is not enough for an operation to be understandable – It must also be doable (effectively computable) by the computing agent 12
  • 13. Algorithms (continued) • Algorithm – Result must be produced after the execution of a finite number of operations – Result may be a number, text, a light, picture, sound, or a change in the computing agent’s environment • Infinite loop – Runs forever – Usually a mistake 13
  • 14. 14
  • 15. 15
  • 16. Algorithms (continued) • The Importance of Algorithmic Problem Solving – “Industrial revolution” of 19th century • Mechanized and automated repetitive physical tasks – “Computer revolution” of the 20th and 21st centuries • Mechanized and automated repetitive mental tasks • Through algorithms and computer hardware 16
  • 17. A Brief History of Computing The Early Period: Up to 1940 • Seventeenth century: automation/simplification of arithmetic for scientific research – John Napier invented logarithms as a way to simplify difficult mathematical computations (1614) – The first slide rule appeared around 1622 – Blaise Pascal designed and built a mechanical calculator named the Pascaline (1672) – Gottfried Leibnitz constructed a mechanical calculator called Leibnitz’s Wheel (1674) 17
  • 18. 18
  • 19. A Brief History of Computing The Early Period: Up to 1940 (continued) • Seventeenth century devices – Could represent numbers – Could perform arithmetic operations on numbers – Did not have a memory to store information – Were not programmable (a user could not provide a sequence of actions to be executed by the device) 19
  • 20. A Brief History of Computing The Early Period: Up to 1940 (continued) • Nineteenth century devices – Joseph Jacquard designed an automated loom that used punched cards to create patterns (1801) – Herman Hollerith (1880s on) • Designed programmable card-processing machines to read, tally, and sort data on punched cards for the U.S. Census Bureau • Founded company that became IBM in 1924 20
  • 21. 21
  • 22. A Brief History of Computing The Early Period: Up to 1940 (continued) • Charles Babbage – Difference Engine designed and built in 1823 • Could do addition, subtraction, multiplication, and division to six significant digits • Could solve polynomial equations and other complex mathematical problems – Analytical Engine, designed but never built • Mechanical, programmable machine similar to a modern computer 22
  • 23. A Brief History of Computing The Early Period: Up to 1940 (continued) • Nineteenth century devices – Were mechanical, not electrical – Had many features of modern computers: • Representation of numbers or other data • Operations to manipulate the data • Memory to store values in a machine-readable form • Programmable: sequences of instructions could be pre-designed for complex operations 23
  • 24. A Brief History of Computing The Birth of Computers: 1940–1950 • Mark I (1944) – Electromechanical computer used a mix of relays, magnets, and gears to process and store data • Colossus (1943) – General-purpose computer built by Alan Turing for British Enigma project • ENIAC (Electronic Numerical Integrator and Calculator) (1946) – First publicly known fully electronic computer 24
  • 25. 25
  • 26. A Brief History of Computing The Birth of Computers: 1940–1950 (continued) • John Von Neumann – Proposed a radically different computer design based on a model called the stored program computer – Research group at the University of Pennsylvania built one of the first stored program computers, called EDVAC, in 1951 – UNIVAC-1, a version of EDVAC, first commercially- sold computer – Virtually all modern computers use the Von Neumann architecture 26
  • 27. A Brief History of Computing The Modern Era: 1950 to the Present • First generation of computing (1950-1957) – Similar to EDVAC – Vacuum tubes for processing and storage – Large, expensive, and delicate – Required trained users and special environments • Second generation (1957–1965) – Transistors and magnetic cores instead of vacuum tubes – Era of FORTRAN and COBOL: high-level programming languages 27
  • 28. A Brief History of Computing The Modern Era: 1950 to the Present (continued) • Third generation (1965 to 1975) – Era of the integrated circuit – Birth of the first minicomputer: desk-sized, not room-sized computers – Birth of the software industry • Fourth generation (1975 to 1985) – The first microcomputers: desktop machines – Development of widespread computer networks – Electronic mail, graphical user interfaces, and embedded systems 28
  • 29. A Brief History of Computing The Modern Era: 1950 to the Present (continued) • Fifth generation (1985–?) – Massively parallel processors capable of quadrillions (1015) of computations per second – Handheld digital devices – Powerful multimedia user interfaces incorporatng sound, voice recognition, images, video, television – Wireless communications – Massive storage devices – Ubiquitous computing 29
  • 30. Organization of the Text 30 Computer science is the study of algorithms including: Levels of the text: 1. Their formal and mathematical properties, Level 1: The Algorithmic Foundations of Computer Science 2. Their hardware realizations, Level 2: The Hardware World Level 3: The Virtual Machine 3. Their linguistic realizations, Level 4: The Software World 4. Their applications. Level 5: Applications Level 6: Social Issues
  • 31. 31
  • 32. 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 32
  • 33. About the Presentation • All chapter objectives are listed in the beginning of each presentation. • You may customize the presentations to fit your class needs. • A complete set of images from the book can be found on the Instructor Resources disc or the Instructor Companion site at login.cengage.com 33