Download presentation
Presentation is loading. Please wait.
1
Chapter 0: Introduction
2
Introduction The Role of Algorithms The Origins of Computing Machines
The Science of Algorithms Abstraction An Outline of Our Study Social Repercussions
3
Terminology Algorithm: A set of steps that defines how a task is performed Program: A representation of an algorithm Programming: The process of developing a program Software: Programs and algorithms Hardware: Equipment
4
History of Algorithms The study of algorithms was originally a subject in mathematics. Early examples of algorithms Long division algorithm Euclidean Algorithm
5
The Euclidean algorithm
6
Gödel's Incompleteness Theorem:
One of the most significant logicians in history, Gödel made an immense impact upon scientific and philosophical thinking in the 20th century, Kurt Friedrich Gödel, Austria-Hungary Gödel's Incompleteness Theorem: Some problems cannot be solved by algorithms.
7
Augusta Ada King-Noel was an English mathematician and writer, chiefly known for her work on Charles Babbage's proposed mechanical general-purpose computer, the Analytical Engine. She was the first to recognise that the machine had applications beyond pure calculation, and created the first algorithm intended to be carried out by such a machine. As a result, she is often regarded as the first to recognise the full potential of a "computing machine" and the first computer programmer
8
Alan Mathison Turing (1912–1954) was an English computer scientist, mathematician, logician, cryptanalyst and theoretical biologist. He was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence.
9
Grace Brewster Murray Hopper (1906 – 1992)
American computer scientist. In 1944, she was one of the first programmers of the Harvard Mark I computer and invented the first compiler for a computer programming language. She popularized the idea of machine-independent programming languages, which led to the development of COBOL, one of the first high-level programming languages.
10
Babbage’s Difference Engine
Assuming that 2s continue this way
11
Homework: Write pseudocode for Babbage’s Difference Engine algorithm. 1 point.
12
Origins of Computing Machines
Early computing devices Abacus: positions of beads represent numbers Gear-based machines (1600s-1800s) Positions of gears represent numbers Blaise Pascal, Wilhelm Leibniz, Charles Babbage
13
Pascal's calculator is a mechanical calculator invented by Blaise Pascal in the early 17th century.
It was called the arithmetic machine and later became known as the Pascaline. Pascal was led to develop a calculator by the laborious arithmetical calculations required by his father's work. He designed the machine to add and subtract two numbers directly and to perform multiplication and division through repeated addition or subtraction.
14
Early Data Storage Punched cards Gear positions
First used in Jacquard Loom (1801) to store patterns for weaving cloth Storage of programs in Babbage’s Analytical Engine Popular through the 1970’s Gear positions
15
Early Computers Based on mechanical relays Based on vacuum tubes
1940: Stibitz at Bell Laboratories 1944: Mark I: Howard Aiken and IBM at Harvard Based on vacuum tubes : Atanasoff-Berry at Iowa State 1940s: Colossus: secret German code-breaker 1940s: ENIAC: Mauchly & Eckert at U. of Penn.
16
1944: Mark I: Howard Aiken and IBM at Harvard
18
Personal Computers First used by hobbyists, game players….
IBM introduced the PC in 1981. Accepted by business Became the standard hardware design for most desktop computers
19
Computer Science The science of algorithms
Draws from other subjects, including Mathematics Engineering Psychology Business Administration ………
20
Central Questions of Computer Science
Which problems can be solved by algorithmic processes? How can characteristics of different algorithms be analyzed and compared? Time efficiency of algorithms? Does it take days to finish a job?
21
Central Questions of Computer Science
How can algorithms be used to manipulate/update information? How can algorithms be applied to produce intelligent behavior? Algorithms affect society? Social networks…. Deal with big data?
22
The central role of algorithms in computer science
23
Abstraction Abstraction: The distinction between the external properties of an entity and the details of the entity’s internal composition Abstract tool: A “component” that can be used without concern for the component’s internal properties
24
Outline of Our Study Chapter 1: Data Storage
Chapter 2: Data Manipulation Chapter 3: Operating Systems Chapter 4: Networks and the Internet Chapter 5: Algorithms Chapter 6: Programming Languages Chapter 7: Software Engineering Chapter 8: Data Abstractions Chapter 9: Database Systems Chapter 10: Computer Graphics Chapter 11: Artificial Intelligence Chapter 12: Theory of Computation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.