<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ThinkThankThunk</title>
	<atom:link href="http://shawncornally.com/wordpress/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://shawncornally.com/wordpress</link>
	<description>Dealing with the fear of being a boring teacher.</description>
	<lastBuildDate>Thu, 16 May 2013 01:27:05 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Struggle Bus</title>
		<link>http://shawncornally.com/wordpress/?p=3765</link>
		<comments>http://shawncornally.com/wordpress/?p=3765#comments</comments>
		<pubDate>Thu, 16 May 2013 01:25:33 +0000</pubDate>
		<dc:creator>Shawn Cornally</dc:creator>
				<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://shawncornally.com/wordpress/?p=3765</guid>
		<description><![CDATA[Once a student emailed me with the subject line, &#8220;Help, I&#8217;m on the struggle bus&#8230;&#8221; I laughed so hard that bacon came out my nose. I then drew a struggle bus. A student then scanned it into Illustrator and put our class motto on it. T-shirts were then made and worn regularly.]]></description>
				<content:encoded><![CDATA[<p>Once a student emailed me with the subject line, &#8220;Help, I&#8217;m on the struggle bus&#8230;&#8221;</p>
<p>I laughed so hard that bacon came out my nose.</p>
<p>I then drew a struggle bus.</p>
<p>A student then scanned it into Illustrator and put our class motto on it.</p>
<p>T-shirts were then made and worn regularly.</p>
<div id="attachment_3766" class="wp-caption aligncenter" style="width: 521px"><a href="http://shawncornally.com/wordpress/wp-content/uploads/2013/05/StrugglebusDesign.pdf"><img class=" wp-image-3766" alt="Screen Shot 2013-05-15 at 8.19.49 PM" src="http://shawncornally.com/wordpress/wp-content/uploads/2013/05/Screen-Shot-2013-05-15-at-8.19.49-PM.png" width="511" height="254" /></a>
<p class="wp-caption-text">Click for pdf. You may need to download if your browser doesn&#8217;t support certain web fonts.</p>
</div>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://shawncornally.com/wordpress/?feed=rss2&#038;p=3765</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>What&#8217;s Crazy?</title>
		<link>http://shawncornally.com/wordpress/?p=3763</link>
		<comments>http://shawncornally.com/wordpress/?p=3763#comments</comments>
		<pubDate>Wed, 15 May 2013 15:52:58 +0000</pubDate>
		<dc:creator>Shawn Cornally</dc:creator>
				<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://shawncornally.com/wordpress/?p=3763</guid>
		<description><![CDATA[You administer a valid summative exam. It had every standard on it with an even keel attempt at assessing the student&#8217;s ability. The student gets a 18/28. The student is immediately driven into the depths of despair over their &#8216;D&#8217; You then tell them the test has been curved down to 22-points. The student is [...]]]></description>
				<content:encoded><![CDATA[<p>You administer a valid summative exam. It had every standard on it with an even keel attempt at assessing the student&#8217;s ability.</p>
<p>The student gets a 18/28.</p>
<p>The student is immediately driven into the depths of despair over their &#8216;D&#8217;</p>
<p>You then tell them the test has been curved down to 22-points.</p>
<p>The student is now <em>happy</em> with their &#8216;B&#8217; and never asks another question about the course material again.</p>
<p>You ask me what crazy looks like, and I&#8217;ll tell you this story every time.</p>
<p>I&#8217;m not sure how much more blunt I can be about the conditioning we&#8217;ve got going on here with our most advanced students.</p>
]]></content:encoded>
			<wfw:commentRss>http://shawncornally.com/wordpress/?feed=rss2&#038;p=3763</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Bacon-Wrapped Lessons Workshops: The Saltiest PD Ever</title>
		<link>http://shawncornally.com/wordpress/?p=3755</link>
		<comments>http://shawncornally.com/wordpress/?p=3755#comments</comments>
		<pubDate>Wed, 08 May 2013 19:39:29 +0000</pubDate>
		<dc:creator>Shawn Cornally</dc:creator>
				<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://shawncornally.com/wordpress/?p=3755</guid>
		<description><![CDATA[My boss over at IowaTransformED and I created Bacon-Wrapped Lessons in order to meet PD needs that weren&#8217;t getting met. That&#8217;s in fact my entire job over there, and what a sweet job it is: Find problems that Iowa&#8217;s teachers are dealing with; fix them. Sooooo, we&#8217;d like to invite any of you who are [...]]]></description>
				<content:encoded><![CDATA[<p>My <a href="http://twitter.com/tracepick">boss</a> over at <a href="http://iowatransformed.com">IowaTransformED</a> and I created <a href="http://baconwrappedlessons.com/">Bacon-Wrapped Lessons</a> in order to meet PD needs that weren&#8217;t getting met.</p>
<p style="text-align: center;"><a href="http://baconwrappedlessons.com"><img class="aligncenter  wp-image-3756" alt="Bacon-Wrapped-Lessons-Logo-Final" src="http://shawncornally.com/wordpress/wp-content/uploads/2013/05/Bacon-Wrapped-Lessons-Logo-Final.jpg" width="432" height="362" /></a></p>
<p>That&#8217;s in fact my entire job over there, and what a sweet job it is: Find problems that Iowa&#8217;s teachers are dealing with; fix them.</p>
<p><del>Sooooo, we&#8217;d like to invite any of you who are so inclined to hang out in St. Joeseph, MO June 20 &amp; 21 of 2013</del>. <em>The event has been postponed; we&#8217;ll be running smaller events locally during the school year next year.</em> <del>We&#8217;ll be hosted by the ineffable <a href="http://twitter.com/nashworld">Sean Nash</a> as we tear up the greater Kansas City area.</del> And by &#8220;tear up&#8221; I suppose I mean &#8220;talk about how to teach trig identities in a way that doesn&#8217;t totally suck.&#8221;</p>
<p><strong>What is bacon-wrapped lessons? <em></em></strong>It&#8217;s a 2-day collaboration extravaganza! You know how you just want to sit down and talk through with other teachers how to best introduce the reproductive system (or protein synthesis, or arrays, or whatever)? Well, THAT&#8217;S WHAT THIS IS. Except with kick ass instructional coaches, and food, and bacon, and <del>beer</del>, and a website that collects all the lessons so everyone can use them later!</p>
<p>Win win win win win!</p>
<p><a href="http://baconwrappedlessons.com/">Attend!</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://shawncornally.com/wordpress/?feed=rss2&#038;p=3755</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Help! I&#8217;ve Taught Traditional and I Can&#8217;t Get PBL!</title>
		<link>http://shawncornally.com/wordpress/?p=3718</link>
		<comments>http://shawncornally.com/wordpress/?p=3718#comments</comments>
		<pubDate>Wed, 01 May 2013 21:40:48 +0000</pubDate>
		<dc:creator>Leif Segen</dc:creator>
				<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://shawncornally.com/wordpress/?p=3718</guid>
		<description><![CDATA[This post was written by a the unflappable Leif Segen, who teaches in central Iowa. I try to be honest with my students. When I hear their lamentations of the meaninglessness of their experiences in school, I admit the parallels between school and prison. They&#8217;re quick to say, &#8220;You get it!&#8221; That said, I&#8217;m in [...]]]></description>
				<content:encoded><![CDATA[<p><em>This post was written by a the unflappable Leif Segen, who teaches in central Iowa.</em></p>
<p>I try to be honest with my students. When I hear their lamentations of the meaninglessness of their experiences in school, I admit the parallels between school and prison. They&#8217;re quick to say, &#8220;You get it!&#8221;</p>
<p>That said, I&#8217;m in year 2 of hopefully more than that in my teaching career. And, at this stage, I&#8217;m still waging the battle from quantity of courses to quality of content.</p>
<p><img class="alignnone" alt="" src="https://i.chzbgr.com/maxW500/6803199232/h892F4C87/" width="500" height="342" /></p>
<p>Today a huge chunk of my physics students were absent. Students started asking for another <a href="http://baconwrappedlessons.com/">shark tank</a>. We&#8217;ve had a couple of these opportunities for my students explicitly direct the curriculum this semester. They help me provide meaningful learning experiences. So I can dig that.</p>
<p>So I started listing the themes I&#8217;m hoping we&#8217;ll get to learning about in the remaining 3 weeks before our seniors high-tail it out of here. [You know: <a href="http://www.youtube.com/watch?v=9Uh5mTxRQcg">particle/nuclear physics</a>, <a href="http://www.youtube.com/watch?v=9Uh5mTxRQcg">quantum mechanics</a>, <a href="gamelab.mit.edu/games/a-slower-speed-of-light/">relativity</a>, waves and oscillators.]</p>
<p>If I had to guess, students&#8217; minds were sparking ideas and questions as I was listing these topics. But passivity is bred in learners early on; it dies hard. Curiosity is quenched early on; it&#8217;s hard to rekindle.</p>
<p>But then I didn&#8217;t know what to say. So I went ahead with giving notes on finding equivalent resistance. AND doing sample problems on the board. ::facepalm::</p>
<p>I suppose all we needed was boat loads of wait time, and a facilitated brainstorming session on what projects to try. How do you help students use their voice in class? I think part of the solution is to run with their ideas. [Speaking of that, ask me in two weeks about a students' recreation of Young's double slit experiment.]</p>
<p>What do you do with your students to make awkward days meaningful? What gives you the determination to let students lead the learning?</p>
]]></content:encoded>
			<wfw:commentRss>http://shawncornally.com/wordpress/?feed=rss2&#038;p=3718</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How I Teach Calculus: A Comedy &#8211; Man v. Food</title>
		<link>http://shawncornally.com/wordpress/?p=3741</link>
		<comments>http://shawncornally.com/wordpress/?p=3741#comments</comments>
		<pubDate>Tue, 30 Apr 2013 22:36:14 +0000</pubDate>
		<dc:creator>Shawn Cornally</dc:creator>
				<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://shawncornally.com/wordpress/?p=3741</guid>
		<description><![CDATA[I have to get this down before I forget. A discussion of what it means to be exponential (which colloquially is beyond misunderstood and bordering on abused) led to a discussion of what it means to grow because you&#8217;re growing. Does gravity work this way? They asked. Thankfully not. You don&#8217;t fall faster because you&#8217;re [...]]]></description>
				<content:encoded><![CDATA[<p>I have to get this down before I forget.</p>
<p>A discussion of what it means to be exponential (which colloquially is beyond misunderstood and bordering on abused) led to a discussion of what it means to grow because you&#8217;re growing.</p>
<p>Does gravity work this way? They asked. Thankfully not. You don&#8217;t fall faster because you&#8217;re getting faster (that&#8217;d be some <em>free</em> energy). You certainly do gain speed, but it&#8217;s not exponentially gaining.</p>
<p>&#8220;So what does?&#8221; I asked. &#8220;Money!&#8221; They all say, because that&#8217;s the only example anyone can ever think of.</p>
<p>Until that awesome kid in the back of the room says, &#8220;<a title="Don't click this, it's stupid." href="http://chickenwings.ytmnd.com/">Chicken Wings!</a>&#8221;</p>
<p>What?</p>
<p>Oh, right. Because the more wings you eat, the slower you go. Like:</p>
<p><img src='http://s.wordpress.com/latex.php?latex=%5Cfrac%7Bdw%7D%7Bdt%7D%20%3D%20-w%20&#038;bg=T&#038;fg=444444&#038;s=3' alt='\frac{dw}{dt} = -w ' title='\frac{dw}{dt} = -w ' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%5Cfrac%7Bdw%7D%7Bw%7D%20%3D%20-dt%20&#038;bg=T&#038;fg=444444&#038;s=3' alt='\frac{dw}{w} = -dt ' title='\frac{dw}{w} = -dt ' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%5Cln%7Bw%7D%20%3D%20-t%20%2B%20C%20&#038;bg=T&#038;fg=444444&#038;s=3' alt='\ln{w} = -t + C ' title='\ln{w} = -t + C ' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=w%20%3D%20e%5E%7B-t%20%2B%20C%7D%20&#038;bg=T&#038;fg=444444&#038;s=3' alt='w = e^{-t + C} ' title='w = e^{-t + C} ' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=w%20%3D%20C%20e%5E%7B-t%7D%20&#038;bg=T&#038;fg=444444&#038;s=3' alt='w = C e^{-t} ' title='w = C e^{-t} ' class='latex' /></p>
<p>We added the coefficient (<em>b</em>) on the <em>-t</em> later, because at first it&#8217;s not motivated, unless someone brings up the fact that [wings/minute] can&#8217;t be equal to [wings], but, hey, don&#8217;t be that guy–at first.</p>
<p>This of course quickly devolved into thinking of other foods that have this same dying exponential behavior.</p>
<p>We postulated that <a href="http://en.wikipedia.org/wiki/Naga_Bhut_Jolokia">Ghost Chiles</a> would behave the same way, which of course ended up with Ghost Chile salsa making an appearance the next day.<sup>1</sup></p>
<p>Finally, this ends up exactly where you&#8217;d expect it to end up:</p>
<p><img class="alignnone" alt="" src=" http://blogs.westword.com/cafesociety/man-v-food-767483.jpeg" width="600" height="450" /></p>
<h1>MAN v. FOOD</h1>
<p>The most <del>ridiculous</del> <del>crapulent</del> <del>fall-of-the-empire-esque</del> differential-equation-y show on the TV!</p>
<p>The students pulled a bunch of episodes off Youtube, because Travel Channel&#8217;s MvF website really sucks,<sup>2</sup> and we got to work analyzing which challenges behaved according to what exponential behavior.</p>
<p>The best one we found was Memphis&#8217; Sasquatch Burger:</p>
<p><iframe src="http://www.youtube.com/embed/0ODTBHFr8AM" height="315" width="560" allowfullscreen="" frameborder="0"></iframe></p>
<p>Have fun with that.</p>
<p>The students graphed his completion as a function of time. They then fit a natural exponential function to it and worked back for the parameters on the diff eq.</p>
<p>We talked heavily about the units on the coefficients in the equations, which was awesome, because it turns out that students rarely work with anything but super-science-y units. ([burger] and [Hz] don&#8217;t often go together)</p>
<p>What&#8217;s most valuable to me is that the students created math where <a href="http://shawncornally.com/wordpress/?p=3732">once there was none</a>.</p>
<p>They&#8217;re getting practice being analytical in situations where they shouldn&#8217;t need to, but can, elucidating things that weren&#8217;t known before. That&#8217;s what math is, it&#8217;s not about getting 15 year-olds to struggle through the quadratic formula by sitting them in front ever-increasingly trite computer animations and &#8220;prompts&#8221; in order to get even the least analytical to memorize an algorithm for 20 minutes; its about finding out Adam Richman&#8217;s critical burger mass from a Diff Eq.</p>
<p>I&#8217;VENEVERSEENAMANEATSOMANYCHICKENWINGS</p>
<h6>1. Ghost Chile salsa intake had the general behavior of a huge slow down and the a really fast acceleration is people realized the only way to make it through was to power through then end and then barf. Here&#8217;s some <a href="http://shawncornally.com/wordpress/?p=2054">scoville/chile</a> stuff I&#8217;ve done.</h6>
<h6>2. Seriously travel channel? When I google &#8220;Man v food memphis&#8221; all I want to know is what the challenge was and if he completed it. A graph would have been nice, too.</h6>
]]></content:encoded>
			<wfw:commentRss>http://shawncornally.com/wordpress/?feed=rss2&#038;p=3741</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Thanks, The Atlantic?</title>
		<link>http://shawncornally.com/wordpress/?p=3732</link>
		<comments>http://shawncornally.com/wordpress/?p=3732#comments</comments>
		<pubDate>Sun, 28 Apr 2013 22:22:54 +0000</pubDate>
		<dc:creator>Shawn Cornally</dc:creator>
				<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://shawncornally.com/wordpress/?p=3732</guid>
		<description><![CDATA[So, The Atlantic posted this: That chart is probably obvious to most of us, especially those of us in the Math Ed Twitterblogopinosphere. But here&#8217;s where things gets stupid: These numbers alone aren&#8217;t an open and shut case against teaching complex math to most high school students. But they do suggest that what we teach [...]]]></description>
				<content:encoded><![CDATA[<p>So, <a href="http://www.theatlantic.com/business/archive/2013/04/heres-how-little-math-americans-actually-use-at-work/275260/"><em>The Atlantic </em></a>posted this:</p>
<p><img class="alignnone" alt="" src="http://cdn.theatlantic.com/static/mt/assets/business/Americans_Math_Work_1.png" width="561" height="392" /></p>
<p>That chart is probably obvious to most of us, especially those of us in the Math Ed Twitterblogopinosphere.</p>
<p>But here&#8217;s where things gets stupid:</p>
<blockquote><p>These numbers alone aren&#8217;t an open and shut case against teaching complex math to most high school students. But they do suggest that what we teach today has little relationship to the broad demands of the job market, and that we should at least be conscious of the possibility that we&#8217;re putting educational road blocks in front of students without a practical application for them.</p></blockquote>
<p>So there&#8217;s a case against teaching complex math to most high schoolers? Ok. I guess, but shouldn&#8217;t it be:</p>
<p><strong>There&#8217;s a case against CRAPPILY teaching complex math to high schoolers. </strong></p>
<p>A good case, btw.</p>
<p>The adverb there is really important. What that graph really means is that the way people were taught math disables them from ever actually using it.</p>
<p>Jobs are not about performing a specified task perfectly 100% of the time. Those days are mostly gone (and perhaps never existed). The real question is, if those people who report never using advanced math were actually taught when it was valuable <em>in vivo</em> and with the ability to engage their community in a math-demanding solution, could they be providing innovative solutions to their employers?</p>
<p>Hell yes.</p>
<p>Again, it&#8217;s not about doing a &#8220;math problem&#8221; when you&#8217;re given one; it&#8217;s about framing and attacking an analytical problem where previously no one even suspected an issue. Like, oh, say, school scheduling, UPS truck packing, stock market crash preventing, third world country debt issues, fresh water, um FRESH WATER, any and all software development, etc&#8230; Did I mention the loss of fresh water? Fresh water.</p>
]]></content:encoded>
			<wfw:commentRss>http://shawncornally.com/wordpress/?feed=rss2&#038;p=3732</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>WTF FIJI WATER?</title>
		<link>http://shawncornally.com/wordpress/?p=3721</link>
		<comments>http://shawncornally.com/wordpress/?p=3721#comments</comments>
		<pubDate>Tue, 23 Apr 2013 01:47:48 +0000</pubDate>
		<dc:creator>Shawn Cornally</dc:creator>
				<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://shawncornally.com/wordpress/?p=3721</guid>
		<description><![CDATA[You know something is crazypants when you get a terrible feeling in your gut just looking at the marketing as you stand in a CVS. You know something is really really crazywaders when you go to their website and feel lulled by their corporate concern for the every man. FIJI Water is just such a [...]]]></description>
				<content:encoded><![CDATA[<p>You know something is crazypants when you get a terrible feeling in your gut just looking at the marketing as you stand in a CVS.</p>
<p>You know something is really really crazywaders when you go to their website and feel lulled by their corporate concern for the <em>every </em>man.</p>
<p><img class="aligncenter" alt="" src="http://www.fijiwater.com/media/images/company_bottles.jpg" width="320" height="256" /></p>
<p>FIJI Water is just such a company.</p>
<p>I played <em>#anyqs </em>with my University of Iowa pre-service students today, and here&#8217;s what we came up with.</p>
<ol>
<li>How much petrol does it take to make a bottle, pump the water, and ship it to Iowa?</li>
<li>How can they possible have a renewable <em>and</em> impermeable aquifer?<br />
<img class="alignnone" alt="" src="http://www.fijiwater.com/wp-content/uploads/2010/06/Fiji_1_Water_072310_Aquifer.jpg" width="450" height="375" /></li>
<li>Can the chemistry data (mg/L of silica, Mg, CO3, etc&#8230;) be verified?</li>
<li>How much more expensive is FIJI Water than Iowa City tap water?</li>
<li>Can you simulate FIJI Water&#8217;s &#8220;mouth feel&#8221; (eww) by adding the right amount of the molecules they list on the back?</li>
<li>Where the hell is Fiji?</li>
<li>How many trees does FIJI Water need to plant to offset the hubongo amount of CO2 they out put in shipping costs?</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://shawncornally.com/wordpress/?feed=rss2&#038;p=3721</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Processing 3D Camera-Vector Sandbox</title>
		<link>http://shawncornally.com/wordpress/?p=3710</link>
		<comments>http://shawncornally.com/wordpress/?p=3710#comments</comments>
		<pubDate>Sun, 21 Apr 2013 18:50:46 +0000</pubDate>
		<dc:creator>Shawn Cornally</dc:creator>
				<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://shawncornally.com/wordpress/?p=3710</guid>
		<description><![CDATA[Giving students a sandbox of code and having them play around is really fun for me. They get to see some basics in action (the stuff I did), and I get to see what crazy ideas they come up with. Welcome to Explore Planets. The code allows you to fly the camera around a world [...]]]></description>
				<content:encoded><![CDATA[<p>Giving students a sandbox of code and having them play around is really fun for me. They get to see some basics in action (the stuff I did), and I get to see what crazy ideas they come up with.</p>
<p>Welcome to <a href="http://shawncornally.com/Processing/planets/web-export/">Explore Planets</a>.</p>
<p style="text-align: center;"><a href="http://shawncornally.com/wordpress/wp-content/uploads/2013/04/Screen-Shot-2013-04-21-at-1.25.53-PM.png"><img class="aligncenter  wp-image-3711" alt="Screen Shot 2013-04-21 at 1.25.53 PM" src="http://shawncornally.com/wordpress/wp-content/uploads/2013/04/Screen-Shot-2013-04-21-at-1.25.53-PM.png" width="473" height="337" /></a></p>
<p>The code allows you to fly the camera around a world filled with primary-color lighted spheres. The mouse is your pitch/yaw, and the up/down keys are your thrusters.</p>
<p>You are encouraged to get the code at the bottom of the linked page, that&#8217;s what my students will be doing. In fact, run it in <a href="http://processing.org">Processing</a> as a Java application, instead of through Javascript (you&#8217;ll get a way better frame rate and sphere smoothing)</p>
<p style="text-align: center;"><a href="http://shawncornally.com/wordpress/wp-content/uploads/2013/04/Screen-Shot-2013-04-21-at-1.46.07-PM.png"><img class="aligncenter  wp-image-3714" alt="Screen Shot 2013-04-21 at 1.46.07 PM" src="http://shawncornally.com/wordpress/wp-content/uploads/2013/04/Screen-Shot-2013-04-21-at-1.46.07-PM.png" width="462" height="365" /></a></p>
<p>I run it very similarly to how I would a Science Open Inquiry:</p>
<ol>
<li>Here&#8217;s something to play with. (This code)</li>
<li>Try to get this easy task done. (turn the ship faster, mabes)</li>
<li>Now ask a way better question. (How can we add gravity!)</li>
<li>Answer that question. (werkwerkwerkwerk)</li>
<li>Report to the people who would care about the answer. (Weeeee!)</li>
</ol>
<h1>Programming Specifics:</h1>
<p>This code uses 3D transformation matrices, which is my attempt to prove to students that their time spent in Algebra II with matrices was at least not totally wasted. That said, why we don&#8217;t just introduce programming, vectors, and building games at that point is well beyond me.</p>
<p>The game does a lot with adding, subtracting, and the various kinds of multiplication vectors/matrices can do. If you&#8217;re using it with your students, make the following statement:</p>
<p>SOME MATRICES ARE VECTORS, AND VECTORS MAKE YOU NOT STUPID.</p>
<p>Let&#8217;s stop pretending that there&#8217;s any other common reason for teaching this crap, and just teach them to avoid planetoids, ok? Ok. I hate Algebra II.</p>
<p>Also, there&#8217;s some pretty fancy 3D matrix rotation stuff, a lot of which I lifted and modified from <em>The Internet</em>. Thanks, Al.</p>
]]></content:encoded>
			<wfw:commentRss>http://shawncornally.com/wordpress/?feed=rss2&#038;p=3710</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Venn Curriculum</title>
		<link>http://shawncornally.com/wordpress/?p=3700</link>
		<comments>http://shawncornally.com/wordpress/?p=3700#comments</comments>
		<pubDate>Wed, 17 Apr 2013 21:41:27 +0000</pubDate>
		<dc:creator>Shawn Cornally</dc:creator>
				<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://shawncornally.com/wordpress/?p=3700</guid>
		<description><![CDATA[Just a few quick thoughts: As 4-year schools push remediation courses (like whatever-the-bananagrams &#8220;college algebra&#8221; means) down onto online &#8220;institutions&#8221; and community colleges, do they realize they&#8217;re asking for a disruption of their other course offerings as well? As more colleges, with their attractive open schedules and other freedoms, offer these remediation courses, high schoolers [...]]]></description>
				<content:encoded><![CDATA[<p>Just a few quick thoughts:</p>
<ol>
<li>As 4-year schools push remediation courses (like whatever-the-bananagrams &#8220;college algebra&#8221; means) <a href="http://www.uknow.gse.harvard.edu/leadership/LP101-407.html">down</a> onto online &#8220;<a href="http://shawncornally.com/wordpress/?p=2628">institutions</a>&#8221; and community colleges, do they realize they&#8217;re asking for a disruption of their other course offerings as well?</li>
<li>As more colleges, with their attractive open schedules and other freedoms, offer these remediation courses, high schoolers are <a href="http://iowatransformed.com/2012/12/03/getting-an-education-that-fits-well/">choosing</a> them in increasing numbers above similar offerings from their draconian high school environments.</li>
<li>The sum of human knowledge is increasing so rapidly that the concept of a liberal arts education must be redefined.</li>
<li>College degrees still provide a better investment <a href="http://www.theatlantic.com/magazine/archive/2013/03/myth-student-loan-crisis/309231/">return</a> than any other type of income investment.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://shawncornally.com/wordpress/?feed=rss2&#038;p=3700</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Object-Oriented Programming: An Intro for the Procedurally Minded</title>
		<link>http://shawncornally.com/wordpress/?p=3680</link>
		<comments>http://shawncornally.com/wordpress/?p=3680#comments</comments>
		<pubDate>Thu, 11 Apr 2013 04:07:50 +0000</pubDate>
		<dc:creator>Shawn Cornally</dc:creator>
				<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://shawncornally.com/wordpress/?p=3680</guid>
		<description><![CDATA[Learning to program is mystical to most people. It&#8217;s like putting your hand into a running engine block and not getting burned or mangled. Worst of all, programming can come across as arbitrary and fickle. Those of us that learned to program in Java probably remember thinking thoughts like &#8220;public? static? wtf? I just want [...]]]></description>
				<content:encoded><![CDATA[<p>Learning to program is mystical to most people. It&#8217;s like putting your hand into a running engine block and not getting burned or mangled.</p>
<p>Worst of all, programming can come across as arbitrary and fickle. Those of us that learned to program in Java probably remember thinking thoughts like &#8220;<em>public</em>? <em>static</em>? wtf? I just want to draw a two circles and a cylinder.&#8221;</p>
<p>Objects and Object-Oriented Programming (OOP) are even more mystical. When you&#8217;re first learning to program, especially if you&#8217;re self-taught, you read all sorts of stuff online about how OOP (Object-Oriented Programming) is so awesome, and how you won&#8217;t get a job unless you&#8217;re an OOP titan.</p>
<p>Most people learn to script (procedural program) first, they write a program that goes line-by-line from top to bottom and ends with an output that changes based on a few small initial conditions (someone hit the radio button for &#8220;Wacky Walrus&#8221; instead of &#8220;Lugubrious Langoustine,&#8221; so, like, show a walrus in a coffee shop)</p>
<p>I consider Procedural-to-OOP a threshold that is quite similar to the Newtonian Threshold in physics. You just don&#8217;t know how bonkers your practices are until you know, which is not very heartening if you&#8217;re on the novice side of the fence. (&#8220;What do you mean there are <em>no</em> forces? It&#8217;s <em>moving&#8221; </em>is similar to &#8220;What do you mean it runs the method on line 22 <em>again? </em>We passed that.&#8221;)</p>
<p>So, how to get teenagers to buy into the idea of objects. Well, after 5 years, I know a lot of ways not to do it.</p>
<ol>
<li>It doesn&#8217;t work to teach procedural programming first. That is, scripting is addicting, and there&#8217;s no end to the number of if&#8217;s and else&#8217;s students will nest in order to achieve something that would have been much easier with objects.</li>
<li>It really doesn&#8217;t work to use PHP or other web based back-end languages. I&#8217;m not saying it&#8217;s bad to use OO-PHP, but it is awkward, the added layer of storing all the information on a server and trucking it back and forth is annoying and has tons of overhead. Ruby is better in this respect, but not by much.</li>
<li>Let students copy your code and just change little pieces. This sounds like an awesome idea at first, until you give them an assessment that requires them to come up with fields and methods for a class they&#8217;ve never thought about before. Then, just like so many other times in assessment, you realize how pale and sad the culture of school really is.</li>
</ol>
<h1>Ok, so what does work?</h1>
<p>Presenting the need for objects right away: I try to show them how keeping track of information about similar ideas in a procedural way gets super annoying.</p>
<p>For instance, I once had a student program a game of Connect Four. He had a variables list a mile long: BlackX1, BlackY1, BlackX2, BlackY2, RedX1, RedY1, RedX2, and on, and on, where as all of those could have just been instantiations of a player class. He was training a computer to play Connect Four, but he was doing all of the thinking in trying to create a variable naming scheme that was easy to remember. Not good.</p>
<p><strong>ASIDE:</strong> That last sentiment was the part that took me forever to understand. Oh, and by &#8220;forever&#8221; I mean &#8220;by the time my brain was actually ready for the abstraction,&#8221; which most of our students&#8217; aren&#8217;t.</p>
<p><strong>ASIDEASIDE:</strong> Sad for math: we teach beautiful, unifying concepts to brains that mostly max out at memorizing algorithms.</p>
<p><strong>ASIDEASIDEASIDE:</strong> the best advice you can give a math student who&#8217;s honestly struggling is, &#8220;take a year off and go get some experience building stuff. Come back, and we&#8217;ll start with algebra again.&#8221;</p>
<p>When I was trying to learn how to OOP, all I wanted was for someone to lay out why it was so much better, and show me an example of objects and classes that was complex enough to show power, but not so syntactically bonkers that I couldn&#8217;t follow it.</p>
<p>Here&#8217;s my attempt (Processing). Let&#8217;s make some hack-and-slash fighters that have at in a battle ring. The battle ring known as the COMMAND LINE:</p>
<pre class="snippet-code">

broot sven = new broot("Sven");
broot glenn = new broot("Glenn");

void setup(){
println("Sven: ");
println("Strength: "+sven.strength);
println("Health: "+sven.health);
println("Defense: "+sven.defense);
println("Armor: "+sven.armor);
println("Luck: "+sven.luck);
println("------");
println("Glenn: ");
println("Strength: "+glenn.strength);
println("Health: "+glenn.health);
println("Defense: "+glenn.defense);
println("Armor: "+glenn.armor);
println("Luck: "+glenn.luck);
println("------");
}

void draw(){
if(sven.health&gt;0 &amp;&amp; glenn.health&gt;0){
sven.attack(glenn);
glenn.attack(sven);
println("Sven's Health: "+sven.health);
println("Glenn's Health: "+glenn.health);
println("------");
}
}

</pre>
<p>Notice that we created two objects (Sven and Glenn) who are of the <code>broot</code> class. We made that up. Processing didn&#8217;t know what a <code>broot</code> was until we created the class file, which looks like this:</p>
<pre class="snippet-code">

class broot{
int strength;
int health;
int defense;
int armor;
int luck;
String name;

//constructor
broot(String Name){
strength = (int) random(100);
health = (int) random(100, 500);
defense = (int) random(100);
armor = (int) random(50);
luck = (int) random(10);
name = Name;
}

//methods
void attack(broot otherGuy){
if(!otherGuy.defend()){
int pain = strength - otherGuy.armor;
otherGuy.sufferInjury(pain);
println(name+" hit "+otherGuy.name+" for "+pain+" damage.");
}
else println(name+" missed!");
}

boolean defend(){
int dieRoll = (int) random(100);
if(dieRoll&gt;defense+luck){
return false;
}
else{
return true;
}
}

void sufferInjury(int damage){
health -= damage;
}
}

</pre>
<p>So, we created the idea of a <code>broot</code>, each <code>broot</code> we make has the following attributes: <code>strength, defense, armor, luck, health,</code> and a <code>name</code>. We could have done something like:</p>
<p><code>svenStrength;</code></p>
<p><code>glennStrength;</code></p>
<p><code>svenHealth;</code></p>
<p>and so on,</p>
<p>but that kind of variable naming repetition is exactly what OOP is allowing us to get around. We&#8217;re creating a die from which we can cut as many <code>broot</code> as we want, and there&#8217;s the rub. After our program runs, it creates two <code>broot</code>s (Sven and Glenn), and each has their own strength, defense, and all the rest.</p>
<p>We access those by specifying which <code>broot</code> we care about. If I want to use Sven&#8217;s defense I just code:<br />
<code>sven.defense</code><br />
Which is totally separate from Glenn&#8217;s defense.</p>
<h1>Constructors:</h1>
<p>Constructors gave me fits when I was learning OOP. Here&#8217;s the low down. At the very beginning when I wrote:</p>
<p><code>broot sven = new broot("Sven");</code></p>
<p>We&#8217;re activating (calling) the <code>broot()</code> constructor. We&#8217;re saying, &#8220;Make a variable named &#8216;<code>sven</code>&#8216; and store in it all the fields (like strength, health, defense) that make a <code>broot</code>.&#8221;</p>
<p>In our case, it literally randomizes the <code>broot</code>, as you can see in the <code>broot()</code> constructor; the only thing we have to do is supply a name.</p>
<p>After that, the main program prints out the initial stats of each <code>broot</code>, and then sets them to pounding on each other.</p>
<h1>Methods:</h1>
<p>After checking to see if either Sven or Glenn have been exhausted (health less than 0), we then run the most OOP code in the whole program:</p>
<p><code>sven.attack(glenn);</code></p>
<p><code>glenn.attack(sven);</code></p>
<p>If this doesn&#8217;t make sense, then OOP is still eluding you.</p>
<p>They&#8217;re both the same class, so they both have the ability (method/function) to attack, but the object you say first (before the full stop) implies whose attack method you&#8217;ll run. The object you put in the parenthesis is the object who will be given to the attack method as <code>otherGuy</code> in the line:</p>
<p><code>void attack(broot otherGuy){</code></p>
<p>So I&#8217;m allowed to give Sven&#8217;s attack function another <code>broot</code>, in this case the only other <code>broot</code> in the program, Glenn. Conceivably, I could say:</p>
<p><code>sven.attack(sven);</code></p>
<p>But that&#8217;s silly.</p>
<p>There are plenty of other method calls in the program, but the big idea is that we specify the object whose method we want to use. We separate that information with a full stop, and we supply any information the method may need to do its job as an argument. In super general:</p>
<p><code>object.method(argument);</code></p>
<h1>Big Idea:</h1>
<p>Both Sven and Glenn are <code>broot</code>s. They each have a strength, defense, and everything else that are separate variables from each other, even though they&#8217;re created from the same template code (a &#8220;class&#8221;). In this way, we don&#8217;t have to have fifty variables just to describe 5 <code>broot</code>s.</p>
<p>The variables <code>sven</code> and <code>glenn</code> contain within them the ability to look up information (<code>health, luck,</code> etc&#8230;) and to run their methods (e.g. <code>attack()</code>) just by using a full stop, and those information and methods are not shared. They&#8217;re copied into separate pieces of memory, much like making a distinct copy that can then be fiddled with; that fiddling doesn&#8217;t affect the other copies made from the template in the same way.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://shawncornally.com/wordpress/?feed=rss2&#038;p=3680</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss>
