
Structure teaching plans are great, but definitely leave room for questions and answers and incremental progression and encourage kids to explore forks of the lesson plan.
I certainly learned more about teaching and how kids (at least C.) think and learn. We decided to go to sleep, but then I looked up raw_input() and when she is already in bed, I told her that raw_input would be what we would use We then talked about using input() to get the keyboard input, and because I’m also a Python newbie, I didn’t realize input() in Python 2.x actually evaluated the input. And we did an interactive troubleshooting of the space for ‘not good()’ She started typing up ‘print “How are you”‘ and then def okay(), def not good(), def awesome(), I let her continue finishing up. I told her it was a simple way to save from typing something over and over again She immediately asked me what it really did. Then we started talking about Python and started typing in a simple print statement and then got into defining a function. Hands on experimentation is definitely much easier to understand the abstract concepts of CPU and memory We talked a bit about the memory usage, didn’t get too much into it yet. She fired up 10 threads, went to 10 different web searches, saw the growth of processes on Chrome, close them down and saw the threads grow and shrink.
I told her each tab on Chrome was a thread. Instead of talking about abstract computer, we fired up Activity Monitor on the Mac and look at the Chrome and Chrome helper threads.This is what ended up with my initial lesson plan We installed Sublime 3 Beta editor, fired up Terminal Do some interactive programming with Python.Talk to her about what a computer program is.Talk to her about the big picture of what a computer is.My goal is to teach my daughter this first year college course to my daughter at 13 years old. My favorite CS teacher Paul Hilfinger is now teaching the course in Python.
My first subject in computer science in college was CS61A from UC Berkeley.