Gerald,<div><br></div><div>I switched email subjects and figured I would keep this on the IAEP list (as I seem to get bounces from others). As a start, below is from an email I sent to one of the parents:</div><div><br></div>
<blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">My approach in general is to try and catch kids doing something interesting and then name it and bring it to the attention of the whole class. I look for kids passions and try and find ways to build on that. I try not to explain everything to them, at the same time I can't expect them to re-create all we have learned throughout history without falling into the same traps and making the same mistakes. So I also try and give them examples of "good literature" (via code walk throughs and explanations of concepts, trying to relate it to things they know). Note: I often fail to acheive my goals, but I keep trying. Ideas and suggestions always welcome.</div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
I also try to give some "step away from the computer and no one gets hurt" lessons. This is similar to the <a href="http://csunplugged.org/" target="_blank" style="color:rgb(17,85,204)">CS Unplugged</a> stuff and "How to Program your parents" like what they do <a href="http://drtechniko.com/2012/04/09/how-to-train-your-robot/" target="_blank" style="color:rgb(17,85,204)">here</a>.</div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
Two exercises you can do with Jonathan which are from one of the classes he missed. One involved asking them how to find a name in a phonebook, explaining how long it would take to go one by one through all the names. Then asking them to rip the phonebook in half and throw away the half that doesn't have the name he is looking for (repeat) until you find the name.</div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
Next is to play a version of "Guess my Number" (where you tell them higher, lower or correct when they guess). Play one game where the number is between 1-100.</div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><div>Then have him make a table like the one below:</div></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<div><font face="courier new, monospace">| Numbers | # Guesses | </font></div></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><div>
<font face="courier new, monospace">| 10 | |</font></div></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="font-family:'courier new',monospace">| 100 | |</span></div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="font-family:'courier new',monospace">| 1,000 | |</span></div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="font-family:'courier new',monospace">| 10,000 | |</span></div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="font-family:'courier new',monospace">| 100,000 | |</span></div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="font-family:'courier new',monospace">| 1,000,000 | |</span></div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="font-family:'courier new',monospace">| 1,000,000,000 | |</span></div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><span style="font-family:'courier new',monospace">| 4,000,000,000 | |</span></div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
And ask him to fill in How many guesses it would take to guess the number. If he follows a pattern, compliment him on looking for and using a pattern (even if it's not the right one)</div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
Then have him make a table like the one below:</div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><font face="courier new, monospace">| Numbers | Maximum Guesses | </font></div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><font face="courier new, monospace">| 2 | |</font></div></div><div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 3 | |</span></div>
<div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 4 | |</span></div><div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 5 | |</span></div>
<div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 6 | |</span></div><div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 7 | |</span></div>
<div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 8 | |</span></div><div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 9 | |</span></div>
<div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 10 | |</span></div><div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 11 | |</span></div>
<div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 12 | |</span></div><div><span style="color:rgb(34,34,34);font-size:13px;background-color:rgb(255,255,255);font-family:'courier new',monospace">| 13 | |</span></div>
<div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
Tell him you are "evil" and will change your number as often as possible and ask how many guesses it will take to find the answer.</div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
At some point you can write down the list of numbers (pick an odd number, so he can pick the one exactly in the middle) and then ask okay how many left. The goal is to make the invisible visible and show him how you are getting rid of ~1/2 each time. Then ask him, how many for 16, 32, 64 (you get the idea).</div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
Then ask him to look back at the first table once he figures it out how it works and ask again how many guesses.</div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Then ask what is similar between the phone book excercise and the "Guess my Number" excercise.</div>
</div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
The key to focus on and repeat a few times is how you can take a simple set of steps and just keep repeating them to do amazing things.</div></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">(In response to a question from the parent about this email:)</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div>Homework for this week:</div><div><br></div><div>1) Write your madlibs programs in python 3 and send them to me</div><div>2) Go to <a href="http://www.udacity.com/" target="_blank">www.udacity.com</a> and sign up for CS101</div>
<div>3) Complete Unit 1:1-13 of CS101 and send me a screenshot showing completion</div><div>4) When watching section 11 - Backus Naur Form, think about how it applies to our MadLibs game and also how it relates tot he syntax errors we got when coding (great job Colleen in recognizing and properly naming them).</div>
<div><br></div><div>Some of the Big Ideas we went over in class:</div><div><ul><li>We walked up and down "The Ladder of Abstraction"</li><ul><li>From 0 and 1 ==> 26 letters of the alphabet ==> words ==> sentences ... to trillions of words in published books</li>
</ul><li>Using a few simple "first principle" building blocks we can create amazing things</li><ul><li>When working on a program or any project, think about what are the basic first principle ideas I can use to build powerful ideas</li>
<li></li></ul></ul></div></blockquote><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
what I meant by trying to teach them about the "Ladder of Abstraction"...</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">
<span style="background-color:rgb(255,255,255)">The main idea is levels of <span class="il">abstraction</span> in programming. I want them to start thinking about and hopefully seeing how you can walk up and down the <span class="il">ladder</span> and how to find the appropriate first principle building blocks. <span class="il">Ladder</span> isn't a perfect analogy but I think its a good one to start with.</span></div>
</blockquote><div><br></div><div>Note, I have the advantage of teaching an "after school" course to a small group of homeschoolers (and one "schooler") we meet once a week for about 90 minutes.</div><div>
<br></div><div>The Udacity CS101 has some great material to help me flip the classroom. I also am looking at using </div><h3 class="r" style="font-weight:normal;padding:0px;margin:0px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(34,34,34);background-color:rgb(255,255,255)">
<span style="font-family:arial,sans-serif;font-size:medium"><a href="http://interactivepython.org/courselib/static/thinkcspy/index.html" class="l vst" style="color:rgb(102,0,153)"><em style="font-weight:bold;font-style:normal">How to Think Like a Computer Scientist</em> - Runestone Interactive</a> </span><font>which I like because of the way</font></h3>
<div><font>it helps make the invisible (what's going on inside the computer) visible. Mark Guzdial made a comment on it saying it had a bit too much cognitive overload, but I don't know of any other one as good. I would also suggest you check Mark's site for his (and his wife's) Python course </font><a href="http://coweb.cc.gatech.edu/mediaComp-teach">http://coweb.cc.gatech.edu/mediaComp-teach</a>. The book is ridiculously expensive (ie: it's a college textbook), but the slides are freely available and very well done. They can give you some ideas.</div>
<div><br></div><div>One thing (along the lines) of Mark's course would be to have the kids create their own image editor's. One of my former student's built his own in Python and it is motivating for kids.</div>
<div><br></div><div>My goals are to try and give kids multiple experiences (learn/experience ideas in multiple ways) with certain "big ideas" or concepts. I often fail, but keep trying.</div><div><br></div><div>
Couple of questions about your course:</div><div>1) how often do you meet</div><div>2) how long are the class periods</div><div>3) what kind of programming experience is expected of the students</div><div><br></div><div>Stephen</div>
<div><br><div class="gmail_quote">On Mon, Jan 14, 2013 at 6:31 PM, Gerald Ardito <span dir="ltr"><<a href="mailto:gmanb5@gmail.com" target="_blank">gmanb5@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>I am still trying to wrap my head about the key goals and projects. It would be great to share ideas.</div><div class="yj6qo ajU"><div id=":3db" class="ajR" tabindex="0"></div></div></blockquote></div><br><br></div>