PROFESSOR: The Whirlwind computer
came online at MIT in 1949.
It occupied 3,300 square feet within a
two-story building, contained 12,500
tubes, 23,803 crystal rectifiers, and
1,800 relays, and consumed 150
kilowatts of power.
It was also one of only a handful
of computers on the planet.
It would have been impossible
to imagine what the next
decades would bring.
Today, more computational capacity is
manufactured every few milliseconds
than existed in 1949.
Computational devices have become so
pervasive that most of the time we
don't even realize that
we are using them.
Computation keeps our planes in the
air and our cars on the road.
It manages our electrical,
communication, and financial systems.
It controls homes and pacemakers.
And perhaps most importantly,
computation has changed the way we
think about the world.
Computational thinking has become an
essential tool in engineering,
science, the social scientists, and
even some branches of humanities.
In the coming decades neuroscientists
will use computational thinking to
probe the mystery of intelligence.
Biologists will use computational
techniques to
understand genes and proteins.
Climatologists will build computational
models that will help
man predict the consequences
of societal behaviors.
Artists will find new ways of using
computation to express their
creativity.
For seven years MIT's EECS department
has taught a course, 6.00, that helped
people who have never programmed learn
to use the computer to help them
become more productive at whatever
it is they want to do.
That course, and 6.00x, braid together
four strands of material, the basics
of programming, the Python programming
language, computational thinking and
modeling, and analysis of data.
If you successfully complete 6.00x you
will have learned a language, Python,
for expressing computations, learned a
systematic approach to writing and
debugging medium-sized programs,
developed an informal understanding of
computational complexity, learned a
useful set of algorithmic and problem
reduction techniques, developed some
insight into the process of moving
from an ambiguous problem statement to
a computational formulation of a
method for solving the problem, learned
how to use simulations to shed
light on problems that don't easily
succumb to closed-form solutions, and
learned how to use computational tools,
including simple statistical
and plotting tools to model
and understand data.
