Jellyfish Transcript
[00:00:00]
INSTRUCTOR: I want to tell you about the jellyfish. So when my oldest
daughter, my oldest child, was learning how to crawl, my wife and I
discovered we had a new problem we’d never encountered before. So our
little daughter liked to be near us and we would be in the kitchen and we’d be
cooking and our daughter would just kind of like roll and crawl her way in.
Start visual description. An image of a large jellyfish is shown on the screen.
End visual description.
[00:00:26]
And she was really quiet about it and she’d just climb up right up behind you
and then you’d turn around from the stove or something and you’d trip over
your baby, snuck up behind you. We thought, this is a problem, we’ve got to
do something about this.
[00:00:41]
And we started watching out for each other and so I’d walk into the kitchen
and I’d see that my daughter had crawled up behind my wife while she was
cooking at the stove and I’d say, oh sweetheart watch out there’s a baby
behind you. And she’d turn and look and say, oh okay.
[00:00:58]
Or I’d be organizing food in a little pantry closet and my wife would say, oh
watch out, there’s a baby behind you, you might trip and so I’d carefully step
over my daughter. After a period of time saying, hey watch out so you don’t
trip over our daughter, my wife looked at me one day and said, we need a
code word for this.
[00:01:25]
So I don’t have to keep saying so many words, it’s a simple idea and I was like,
all right, sure and she looks pensive for a moment and then she turns to me
and says, jellyfish. And so that became our code word. Jellyfish meant, watch
out, there’s a baby behind you, be careful, you might trip over her.
[00:01:44]
And within a day we were using this word now, walking to the kitchen,
jellyfish, thanks, I’m in the fridge, jellyfish, thanks. Just like that we had
created a word where we’d created a meaning and given it a name. And
human beings are good at that.
[00:02:11]
We come up with ideas and then we can name them and then use them in
our language. And programming is all about this process. We call it
abstraction. Coming up with an idea, giving that idea a name, and then using
that as you talk to the computer, as you write in your code.
[00:02:34]
And defining functions is that process where you’re capturing an idea and
giving it a label so you can refer to it and build upon it. And it’s not just about
separating pieces of steps into different chunks, but rather asking yourself,
well, to solve this problem, would it be easier if I had a new word that meant
something more complex, what words do I want to create so that describing
the solution to this problem now becomes really easy, and it only takes a few
words to describe?
[00:03:12]
That’s the process that I’m hoping you will learn and practice through your
experience in this course, and that’s what we’re trying to get at as we’re
breaking things down. We call this process decomposition, taking a bigger
problem, breaking it down into smaller abstracted pieces and then putting
those pieces back together.