Title: Where Have We Been Where Are We Going
1Where Have We Been?Where Are We Going?
- CPSC 120
- Principles of Computer Science
- October 23, 2007
2Programming is
- About details, details, details
- Tedious, frustrating when it is not working
- Addictive, it gives immediate feedback
- Fun, if you are organized
- Coding/Decoding
- Algorithms - PBASIC - BS2 Codes - Movement
- Where hardware meets software
- Learning another language
- An art form at the higher levels
3Our Course Themes
- Complexity and Structure Transistors to CPU,
PBASIC subroutines, mental images of a program
execution sequence - Encoding and Decoding PBASIC, ASCII,
if ( irDetectLeft 0 ) THEN GOSUB Veer_Right - Hardware and Software Robots involve both these
in large measure. Both are necessary. - Theory and Application IR detection,
Electronics, LEDs, DOLOOP UNTIL (qti 0110) - Local versus Global New Theme! Computation
taking place at my PC, IPod, etc versus on a
remote machine.
4Our BS2 was about as simple a CPU as we could
hope to program. It did allow direct control of
digital values on I/O pins. It is very limited
in terms of storage (none), Internet access
(none), human interface (only via Basic Editor),
etc.
5Compare to this Computer Motherboard
6A Diagram for a Laptop Computer
7Some History Back to the Future
- Very early computer systems had one shared CPU
with (dumb) ASCII terminals - Low cost microcomputers allowed a single personal
computer for single user, a PC. - Most PC computer programs used only local data on
a hard disk, connected to a printer. - Programs were about mundane computations
financials, paychecks, inventory, etc. - Sharing data was necessary so servers were
connected via networks to many PCs. - The Internet allowed a world-wide integrated
system of sharing data and communications.
8Local PC applications
- Early use for PCs concentrated on financial,
business, and science applications. - Text editors such as Write, WordPerfect, Word,
etc came to be a standard office feature. - Another application was the spreadsheet, a visual
way to do numerical computations based on an
array of data cells. - Spreadsheets allow us to control complexity
through traditional row and column structure,
(ledgers) encode both data and programs into a
single document, but requires us to understand
the basic math involved, at least.
9View of a Spreadsheet (partial)
Notice we have a 2-D collection of cells
containing both numbers and text. We might want
to calculate the total number of students
enrolled by adding the right column. Later, if
we find some students added or dropped courses,
we have to do the additions again. A spreadsheet
allows almost instantaneous updates of sums,
averages, etc when data is changed.
10Coming attractions
- Collect some data so we have something to enter
into a spreadsheet. - Learn the basics of a spreadsheet program to
organize, manipulate, and make charts from our
data. - Understand how to integrate our charts into other
office tools, such as MS Word or Open Office. - Move on to more global ways to present ourselves
and our work on the Internet.