Chapter 1 Flashcards
What are the 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.
What is computer science a study of
The study of algorithims
What aspects of algorithims are studied in computer science
Their formal and mathematical properties
Their hardware realizations
Their linguistic realizations
Their applications
What is the informal definition of an algorithm
An ordered sequence of instructions that is guaranteed to solve a specific problem.
What are some examples of an algorithm
Step 1: Do something
Step 2: Do something
Step 3: Do something
What are the three types of operations used to construct algorithms
Sequential operations
Conditional operations
Iterative operations
What is the definition of a sequential operation
Carries out a single well-defined task
What is the definition of a conditional operation
Ask a question and the next operation is then selected on the basis of the answer to that question
What is the definition of an iterative operation
Looping instructions that tell not to go on but go back and repeat the execution of a previous block of instructions
What is an example of a sequential operation
A cookbook recipe
What is an example of a conditional operation
A cookbook recipe that states that if you have a breadmaker then you will proceed with a different step (ex: a condition that changes the procedure)
What is an example of an iterative operation
A computer writes hello
over and over again and never preforms any other function
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
What is a Computing agent
Machine, robot, person, or thing carrying out the steps of the algorithm
What is an unsolved problem
Some problems are unsolvable, some solutions are too slow, and some solutions are not yet known
What is an example of an unsolvable problem
Solving world peace
What is 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
What is a Well-ordered collection
Upon completion of an operation, we always know which operation to do next
What does the statement unambiguous and effectively computable operations
mean
It is not enough for an operation to be understandable, it must also be doable (effectively computable)
What does effectively computable mean
Doable
What are some examples of ambigious statements
Go back and do it again (Do what again?) Start over (From where?)
How do we know an a soltuion (algorithm ) is correct
To know whether a solution is correct, an algorithm must produce a result that is observable to a user:
A numerical answer
A new object
A change in the environment
What are three examples of observable results
A numerical answer
A new object
A change in the environment
What does an unambiguous operation/primitive operations mean
Can be understood by the computing agent without having to be further defined or simplified
Why is it not enough for an operation to be understandable
It must also be doable (effectively computable) by the computing agent
Describe an infinite loop (in relation to algorithims)
Runs forever
Generally a mistake in the programming
What occured during the industrial revolution (in relation to algorithims)
Mechanized and automated repetitive physical tasks
What occured during the computer revolution of the twentieth and twenty-first centuries (in relation to algorithims)
Mechanized and automated repetitive mental tasks
Used algorithms and computer hardware
What happened in the seventeeth century in relation to computers
automation/simplification of arithmetic for scientific research
What occured in 1614 (history of computing)
John Napier invented logarithms as a way to simplify difficult mathematical computations (1614).
What occured in 1622 (history of computing)
The first slide rule appeared around 1622.
What happened in 1642 (history of computing)
Blaise Pascal designed and built a mechanical calculator named the Pascaline (1642).
What happened in 1673 (history of computing)
Gottfried Leibnitz constructed a mechanical calculator called Leibnitz’s Wheel (1673).
What could the seventeeth century computing devices do
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)
What happened in 1801 (history of computing)
Joseph Jacquard designed an automated loom that used punched cards to create patterns (1801)
What happened in the 1880s (history of computing)
Herman Hollerith (1880s onward) Designed and built programmable card-processing machines to read, tally, and sort data on punched cards for the U.S. Census Bureau Founded a company that became IBM in 1924
What was the original definition of a luddite
Originally opposed to the new manufacturing technology introduced by the Jacquard Loom
What is the newer definition of a luddite
a term used to describe any group that is frightened or angered by the latest developments in any branch of science and technology, including computers
What did charles babbage do
Created the Difference Engine designed and built in 1823
What could the difference engine do
Could do addition, subtraction, multiplication, and division to six significant digits
Could solve polynomial equations and other complex mathematical problems
Describe the analytical engine in relation to charles babbage
Designed but never built
Mechanical, programmable machine with parts that mirror that of a modern-day computer
Describe nineteenth century devices
Were mechanical, not electrical
Had many features of modern computers
What are the features of modern computers that nineteenth century devices had
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 predesigned for complex operations
What year was the Mark 1 created
1944
What is the Mark 1
Electromechanical computer used a mix of relays, magnets, and gears to process and store data
What year was the colossus created
1943
What is the colossus
General-purpose computer built by Alan Turing for the British Enigma project
What year was the ENIAC created
1946
What does the ENIAC stand for
Electronic numerical integrator and calculator
What is the ENIAC
First publicly known fully electronic computer
What did John Von Neumann propose
A radically different computer design based on a model called the stored program computer
Who built one of the first stored program computers
A research group at the university of pennsylvania
What was the name of the first stored program computer built by the U of P and what year was it created
EDVAC and in 1949
What was the name of the first commercially sold computer
UNIVAC 1 (a version of EDVAC)
What type of architecture do all modern computers use
Von Neumann architecture
What time period was represented by the first generation of computing
1950-1957
Describe the first generation of computing
Similar to EDVAC
Vacuum tubes for processing and storage
Large, expensive, and delicate
Required trained users and special environments
What time period was represented by the second generation of computing
1957-1965
Describe the second generation of computing
Transistors and magnetic cores instead of vacuum tubes
Era of FORTRAN and COBOL
What were FORTRAN and COBOL
Some of the first high level programming languages
What time period was represented by the third generation of computing
1965-1975
Describe the third generation of computing
Era of the integrated circuit
Birth of the first minicomputer: desk-sized, not room-sized, computers
Birth of the software industry
What time period was represented by the fourth generation of computing
1975-1985
Describe the fourth generation of computing
The first microcomputer: desktop machine
Development of widespread computer networks
Electronic mail, graphical user interfaces, and embedded systems
What time period was represented by the fifth generation of computing
1985-
Describe the fifth generation of computing
Massively parallel processors capable of quadrillions of computations per second
Handheld digital devices
Powerful multimedia user interfaces incorporating sound, voice recognition, video, and television
Wireless communications
Massive cloud storage devices
Ubiquitous computing
Ultra-high-resolution graphics and virtual reality