Previous Lecture | Lecture 6 | Next Lecture |
Lecture 6,
The question Why
Children go through a developmental stage where they repeatedly ask the question “why”.
- It’s time to get in the car.
- Why?
- Because we have to go to the airport.
- Why?
- To fly to grandma’s how for Thanksgiving
- Why?
- Because she misses us and want’s to see us?
- Why?
- Because we’re her family
- Why?
- Because….
This drives parents crazy, but it’s a way that children learn.
As adult learners, the question “why” stays with us, and is connected to motivation, which is probably the one most important factor affecting learning.
- Why do I need to learn this?
- Why do I need to learn this new thing B, when I already have a perfectly good solution A that solves the problem?
Some examples:
- Why does C++ have both C-strings and the
std::string
class? Why can’t we just stick to one or the other? - Why do I need to understand big O notation?
- Why should I use git/GitHub? Can’t I just email you the code? Can’t we use Google Docs to share code and keep track of changes?
- Why do I need to learn the Unix command line when I can do all the file manipulations on my (Windows/Mac) using the point and click Explorer/Finder?
- Why do I need to learn VSCode when I’m doing just fine with vim/emacs?
- Why do we have to do new / delete in C++ when we don’t have to do delete in Java?
I would like to invite all of you to think about the “why” questions that arise in your own journey in learning Computer Science, as well as those that arise for your students. Take 5 minutes to write down as many “why” questions as you can. I’ve created a shared Google Doc where we can post those; I’ll put the edit link on the slack.