What Is Computer Science? The study of computers (concrete artifacts) and their uses The study of computing (abstract processes) The study of what can be computed (automated solutions to problems) Adapted from the materials of Prof Lambert at WLU: http://home.wlu.edu/~lambertk/classes/111/
Abacus (5th Century B.C.)
Pascaline (1643)
Jacquard’s Loom (1805)
Babbage’s Difference Engine (1832)
Hollerith’s Census Machine (1890)
Harvard’s Mark I (1947)
Apollo 11 Project (1960s) Margaret Hamilton, director of software engineering at NASA
Microcomputers (1972-)
Robots (2000-)
Embedded Computers (2000-)
Three Fundamental Ideas of CS Information processing Algorithms Automation
Information Processing Began over 2500 years ago with the invention of writing in ancient Mesopotamia and Greece Rhetoric: use of symbols in ordinary writing Mathematics: use of symbols to represent abstract systems of ideas and chains of reasoning Computing: automatic symbolic information processing
An Algorithm Is . . . A description of a series of steps that leads to the solution of a problem Examples: Make a pizza from scratch Give directions to the soccer field Change a flat tire on an automobile
Example: Make Pancakes Beat two eggs Add 2 Tb. brown sugar Add 1/2 cup of milk Add 1 Tb. melted butter Add 1 cup self-rising flour Pour batter onto griddle and cook until done
Automation If we can design an algorithm to solve a problem . . . . . . then we can (in principle) build a real computer to automate the solution
A Universal Machine Some computers are highly specialized, others are general purpose A general purpose computer can (in principle) automate the solution of any algorithmic problem
Algorithms and Programs Algorithms are abstract ideas, pure thought-stuff Programs express algorithms in particular programming languages, such as Basic FORTRAN C++ Java Python Lisp
Programs and Computing A stored program computer can be reused for many different types of problems Build a general-purpose computer once and then build specialized solutions as needed
Hardware and Software Hardware consists of the devices - microphones, speakers, processor, and memory storage - necessary to run any programs Software consists of programs used to solve problems, including the processing of other programs
Overview of Software Data types, literals and variables Input and output (I/O) Definite iteration: repeat something a specified # of times Control: use if statements and Boolean logic Loops: execute a number of steps, then loop back to the top to do it again Conditional iteration: repeat until something is true Strings, lists, databases