How They Really Work
Osher Lifelong Learning
Institute
University of Illinois, Urbana-Champaign
Scott Badman, Instructor
Core Concepts
This course is about the fundamental concepts of computing. Please relax and just try to get as deep an understanding of those concepts as you can, but don't worry about every detail. Please, please let me know as soon as possible if you are felling lost. If you are feeling lost, someone else in the classroom is probably also feeling lost. I can adjust the course's content considerably, to adapt to the needs and desire of the students, and will gladly do so.
Concepts that appear throughout the course in many different ways:
A computer is a machine that does logic.
The fundamental principles that computers use to operate are amazingly simple
-- the complexity is only in the implementation.
The isolation of that complexity using layers of abstraction
Maintaining compatibility whenever possible, especially backwards
compatibility
The importance of standards and protocols to allow different components to work
together
The logical equivalence of hardware and software
Computer engineers are primarily interested in performance, efficiency, and
cost.
They will do anything that works, no matter how complicated or arcane for human beings.
However, they have no motivation to make computers more complicated or arcane than necessary.
Top computer engineers who make the important decisions are usually very smart
and do a really good job.
If a hardware component fails, make sure it's really the hardware that's
failed, and then just replace it.
If any software starts acting really funky, just uninstall it, and then
reinstall it.
Always, always, let Microsoft (or Apple, or whoever) automatically apply the
latest Operating System updates.
Turn on and use all of Microsoft's (or Apple's, or whoever's) security
features.
Almost all danger to your computer comes through the Internet, usually by
entering and sending information, or by letting something be installed on your
computer.
The fundamentals of computing have stayed remarkably stable since the 1950's,
even though computers have become incredibly complex and
sophisticated.
How to protect yourself from feeling overwhelmed by technical details and
jargon
When it comes to technology, Wikipedia tells all. However, it's easy to get
overwhelmed if you pick a topic that is too specific.
Absolutely every statement anyone makes about computers will have an exception
(including this statement).
Specific core concepts, usually the topic of a session or part of a
session:
The six to ten components in a
typical computer
Computer repair is mostly just component replacement.
The definition of "data"
Parallel data transmission versus serial data transmission
The Binary Number System (Base 2) works exactly as the Decimal Number System (Base 10) (or any other number base)
The definition of "computer", along with "data processing", "algorithm", "programming language", and "program"
Simple logic (NOT, AND, OR, XOR (exclusive OR)) and its implementation
The Central Processing Unit implements logic, and therefore arithmetic.
The Central Processing Unit consists of transistors that form simple logic gates.
The four operations that comprise almost all programming
-- assignment, if statements, loops, and input/output
The the two most common ways that programs isolate complexity
-- procedures and objects
The importance of a good algorithm
The relationship of the structure of a program to it's algorithm, which is usually independent of the programming language
Virtual Machines can create a complete computer, in software, on a hardware computer.
Any software program can (in theory at least) be implemented directly on a hardware chip.
The core tasks of an operating system
-- running programs, doing multiple concurrent tasks, managing memory, handling all input/output (including the user interface), and security
The components and data flow in a connection to a peripheral
Most peripherals are special purpose computers, and the communication between them is essentially a computer to computer dialog using a protocol.
The importance of the International Standards Organization's Open Standards Interface Model (ISO/OSI) in allowing the equipment that implements the Internet to work together
The World's two electronic addressing systems: telephone numbers and Internet Protocol (IP) addresses