
computational
of or involving calculation
We're delighted you're going to join us
for the next several weeks as we explore
interesting issues around
computational thinking
and programming.

algorithm
a precise rule specifying how to solve some problem
Once we started learning how to build
algorithms to think
algorithmically, we're going to see
that there are standard classes of
algorithms,
and we're going to use those for common parlance
like searching and sorting and we're
going to see as well that different
algorithms have
different costs.

encryption
the activity of converting data or information into code
And
encryption schemes are an example of that.

computation
the procedure of calculating
If that's the case, we really don't
have to do a lot in terms of
computation.

computer
a machine for performing calculations automatically
But more importantly, we want you
to start learning how to think computationally,
to think algorithmically, to think like a
computer
scientist.

encapsulate
enclose in or as if in a small container
And so what we want to do through this course
is figure out how to define new calculations,
new operations, things we create and give to the computer
so that it can abstract them,
encapsulate them, and treat
them as if they're primitives.

calculation
determination by mathematical or logical methods
It performs
calculations.

iteration
the act or process of doing or saying again
Things called
iteration and recursion.

module
an inherent cognitive or perceptual power of the mind
And that leads naturally to the idea of modularization,
creating
modules, tokens, elements
that we can stitch together to come up
with solutions to problems in interesting ways.

parlance
a manner of speaking natural to a language's native speakers
Once we started learning how to build algorithms to think
algorithmically, we're going to see
that there are standard classes of algorithms,
and we're going to use those for common
parlance
like searching and sorting and we're
going to see as well that different algorithms have
different costs.

storage
the act of keeping something for future use
A big computer or something on the cloud
might actually have hundreds of gigabytes of
storage.

input
signal going into an electronic system
And the classic one from computer sciences
called the Turing halting problem
and it simply says if I want to write a piece of code,
a program that could take as
input any other program
and tell me whether it will always work,
whether it will always stop with an answer,
it turns out you simply can't compute that in all cases.

amazing
inspiring awe or admiration or wonder
Of course, computers do all sorts
of
amazing and awesome things.

compute
make a mathematical calculation
We want the computer to
compute something for us,
infer some new knowledge for us.

multiplication
arithmetic operation determining the product of two numbers
These are typically primitive arithmetic operations
multiplication, addition, division and simple logic
operations, comparing true and false values in order
to make decisions with that.

awesome
inspiring admiration or wonder
Of course, computers do all sorts
of amazing and
awesome things.

primitive
characteristic of an earlier ancestral type
A big part of what we want to do inside the computer
is to have it be able to deal with things in a manner
that we can see and understand, and that's says
we're going to use the notion of abstraction to capture elements
and then treat them as if they were
primitives and reuse them.

cleverness
intelligence, especially quickness and wittiness
And this is simply a way of saying
that even with fast computers, we need
cleverness,
we need algorithmic thinking to take those simple computations
and turn them into something more powerful.

operation
process or manner of functioning
And just to put that in context, if I had a lamp sitting
on my desk here about a foot above
and I hit the switch, by the time light went from the bulb
to the table, your computer's performed two
operations.

solution
a homogeneous mixture of two or more substances
And that leads naturally to the idea of modularization,
creating modules, tokens, elements
that we can stitch together to come up
with
solutions to problems in interesting ways.

machine
a mechanical or electrical device that transmits energy
That means we have to think about
how do we represent that knowledge,
and we'll do that with particular things
inside the
machine called data structures.

halting
proceeding in a fragmentary, hesitant, or ineffective way
And the classic one from computer sciences
called the Turing
halting problem
and it simply says if I want to write a piece of code,
a program that could take as input any other program
and tell me whether it will always work,
whether it will always stop with an answer,
it turns out you simply can't compute that in all cases.

solve
find the answer to or understand the meaning of
It means we'd like you to think about when
given a new challenge how can I get the computer
to
solve this for me?

clever
mentally quick and resourceful
And I want to give you a couple of examples to show you
why even with the speed of modern computers,
you need to be able to think carefully, cleverly,
algorithmically.

context
the set of facts or circumstances that surround a situation
And just to put that in
context, if I had a lamp sitting
on my desk here about a foot above
and I hit the switch, by the time light went from the bulb
to the table, your computer's performed two operations.

classics
study of the literary works of ancient Greece and Rome
So if you're going to start reading those great
classics,
now it's going to take you a while
before you get through all the things that
are stored on your machine.

arithmetic
mathematics dealing with numerical calculations
These are typically primitive
arithmetic operations
multiplication, addition, division and simple logic
operations, comparing true and false values in order
to make decisions with that.

simple
having few parts; not complex or complicated or involved
But in this case, the calculations
are actually very
simple things.

abstraction
the process of formulating general concepts
A big part of what we want to do inside the computer
is to have it be able to deal with things in a manner
that we can see and understand, and that's says
we're going to use the notion of
abstraction to capture elements
and then treat them as if they were primitives and reuse them.

infer
conclude by reasoning
We want the computer to compute something for us,
infer some new knowledge for us.

brute
resembling a beast
That says if I'm going to just
brute force
try and search everything on the web
to see if I can find the thing I'm looking for, it's only
going to take me about 5.2 days to find something.

marvelous
extraordinarily good or great
They can play Go, they can find things in the World Wide Web,
they can do all sorts of wonderful,
marvelous things.

problem
a question raised for consideration or solution
And that leads naturally to the idea of modularization,
creating modules, tokens, elements
that we can stitch together to come up
with solutions to
problems in interesting ways.

fundamental
serving as an essential component
But fundamentally, a computer really only does two things.

crucial
of extreme importance; vital to the resolution of a crisis
And that's as good algorithm design is going to be
crucial
and it's one of the skills you're
going to learn throughout this course.

standard
a basis for comparison
We want it to infer a new information
or define information, and we're going
to see there are
standard tools for making that happen.

typical
exhibiting the qualities that identify a group or kind
Well, if you took the standard novel
and you put it inside a machine, a
typical machine
could hold about 1 and 1/2 million books
of a standard size.

store
a mercantile establishment for the sale of goods or services
So if you're going to start reading those great classics,
now it's going to take you a while
before you get through all the things that
are
stored on your machine.

complex
complicated in structure
Some problems are still, at least at the moment, too
complex, even with clever algorithms
to come up with solutions fast enough.

perform
get done
It
performs calculations.

actually
in fact
But in this case, the calculations
are
actually very simple things.

stitch
a link or loop made by sewing, knitting, or needlework
And that leads naturally to the idea of modularization,
creating modules, tokens, elements
that we can
stitch together to come up
with solutions to problems in interesting ways.

lecture
a speech that is open to the public
And we'll come back to those over the next several
lectures.

data
a collection of facts from which conclusions may be drawn
That means we have to think about
how do we represent that knowledge,
and we'll do that with particular things
inside the machine called
data structures.

limitation
an act of restricting (as by regulation)
And in fact, one can suggest that there are still
some
limitations to what a computer can do.

elements
violent or severe weather
A big part of what we want to do inside the computer
is to have it be able to deal with things in a manner
that we can see and understand, and that's says
we're going to use the notion of abstraction to capture
elements
and then treat them as if they were primitives and reuse them.

tool
an implement used to perform a task or job
At the end of this course, what is
it we'd like you to have in your armamentarium
of great problemsolving
tools?

information
knowledge acquired through study or experience
We want it to infer a new
information
or define
information, and we're going
to see there are standard tools for making that happen.

search
look or seek
Once we started learning how to build algorithms to think
algorithmically, we're going to see
that there are standard classes of algorithms,
and we're going to use those for common parlance
like
searching and sorting and we're
going to see as well that different algorithms have
different costs.

expert
a person with special knowledge who performs skillfully
An
expert will tell you there about,
on average, 35 moves for every setting on the chessboard
until you get to the endgame.

token
a disk that can be used in designated slot machines
And that leads naturally to the idea of modularization,
creating modules,
tokens, elements
that we can stitch together to come up
with solutions to problems in interesting ways.

values
beliefs of a group in which they have emotional investment
These are typically primitive arithmetic operations
multiplication, addition, division and simple logic
operations, comparing true and false
values in order
to make decisions with that.

rely
have confidence or faith in
Things that you want to store on a computer
encoded so nobody can break them
rely on encoding or encryption
schemes that in turn,
rely on the fact
that some problems are simply too complex to be solved
by a computer.

example
an item of information that is typical of a class or group
And I want to give you a couple of
examples to show you
why even with the speed of modern computers,
you need to be able to think carefully, cleverly,
algorithmically.

notion
a general inclusive concept
That's the
notion of computational thinking,
of algorithmic thinking, and that's
what we're going to try and teach you about in this course.

switch
device for making or breaking the connections in a circuit
And just to put that in context, if I had a lamp sitting
on my desk here about a foot above
and I hit the
switch, by the time light went from the bulb
to the table, your computer's performed two operations.

define
show the form or outline of
We want it to infer a new information
or
define information, and we're going
to see there are standard tools for making that happen.

in turn
in proper order or sequence
Things that you want to store on a computer
encoded so nobody can break them rely on encoding or encryption
schemes that
in turn, rely on the fact
that some problems are simply too complex to be solved
by a computer.

scheme
an elaborate and systematic plan of action
And encryption
schemes are an example of that.

atom
the smallest component of an element
And in fact, there are only about 10
to the 80th
atoms in the observable universe.

probably
with considerable certainty; without much doubt
The machine you're using can
probably
do about a billion calculations a second.

capture
seize as if by hunting, snaring, or trapping
A big part of what we want to do inside the computer
is to have it be able to deal with things in a manner
that we can see and understand, and that's says
we're going to use the notion of abstraction to
capture elements
and then treat them as if they were primitives and reuse them.

average
an intermediate scale value regarded as normal or usual
On
average, there are about 100 words on a page.

topic
the subject matter of a conversation or discussion
To do that, we're going to cover a range of
topics,
and we'll see all of these over the next several weeks.

abstract
existing only in the mind
And so what we want to do through this course
is figure out how to define new calculations,
new operations, things we create and give to the computer
so that it can
abstract them, encapsulate them, and treat
them as if they're primitives.

throughout
from first to last
And that's as good algorithm design is going to be crucial
and it's one of the skills you're
going to learn
throughout this course.

neighborhood
an area within a city or town that has distinctive features
I'd love to know what the weather's going to be right
in my
neighborhood every morning before I
get in my car to come to work.

scientist
a person with advanced knowledge of empirical fields
But more importantly, we want you
to start learning how to think computationally,
to think algorithmically, to think like a computer
scientist.

program
a series of steps to be carried out
And the classic one from computer sciences
called the Turing halting problem
and it simply says if I want to write a piece of code,
a
program that could take as input any other
program
and tell me whether it will always work,
whether it will always stop with an answer,
it turns out you simply can't compute that in all cases.

need
require or want
It's going to be your servant, and that
means you
need to think about how do you get it to do
the things you want it to do.

eventually
after an unspecified period of time or a long delay
Maybe
eventually, but not yet.

code
a set of rules or principles or laws
And the classic one from computer sciences
called the Turing halting problem
and it simply says if I want to write a piece of
code,
a program that could take as input any other program
and tell me whether it will always work,
whether it will always stop with an answer,
it turns out you simply can't compute that in all cases.

opponent
someone who offers resistance
Suppose you want to look ahead six moves
in order to try to decide what you want to do in order
to beat your
opponent.

logic
the branch of philosophy that analyzes inference
These are typically primitive arithmetic operations
multiplication, addition, division and simple
logic
operations, comparing true and false values in order
to make decisions with that.

remember
recall knowledge; have a recollection
But all they really do, they perform calculations,
and they
remember things.

term
a limited period of time during which something lasts
Now you could ask, how fast is it really in
terms
of performing calculations?

modern
ahead of the times
Modern computers have a lot.

several
of an indefinite number more than 2 or 3 but not many
We're delighted you're going to join us
for the next
several weeks as we explore
interesting issues around computational thinking
and programming.

explore
travel to or penetrate into
We're delighted you're going to join us
for the next several weeks as we
explore
interesting issues around computational thinking
and programming.

basis
the fundamental assumptions from which something is begun
But those are really the
basis of them
perform a lot of calculations really
quickly and remember results.

delighted
greatly pleased
We're
delighted you're going to join us
for the next several weeks as we explore
interesting issues around computational thinking
and programming.

classic
of recognized authority or excellence
And the
classic one from computer sciences
called the Turing halting problem
and it simply says if I want to write a piece of code,
a program that could take as input any other program
and tell me whether it will always work,
whether it will always stop with an answer,
it turns out you simply can't compute that in all cases.

limit
as far as something can go
Even with that, we're going to ask
are there going to be
limits to computation,
even if we can build clever algorithms?

fact
a piece of information about events that have occurred
And in
fact, there are only about 10
to the 80th atoms in the observable universe.

scale
an ordered reference standard
I just don't have enough data and enough compute power
to be able to model at that level of
scale.