
<?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>Hélène Martin &#187; Teaching</title>
	<atom:link href="http://www.helenemartin.com/tag/teaching/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.helenemartin.com</link>
	<description>Education, computer science, sewing...</description>
	<lastBuildDate>Wed, 01 Sep 2010 00:37:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Elusive Information</title>
		<link>http://www.helenemartin.com/2010-06-elusive-information/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=elusive-information</link>
		<comments>http://www.helenemartin.com/2010-06-elusive-information/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 01:17:25 +0000</pubDate>
		<dc:creator>Hélène Martin</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[Teaching]]></category>

		<guid isPermaLink="false">http://www.helenemartin.com/?p=337</guid>
		<description><![CDATA[I made a marginally provocative (and slightly childish) tweet and was asked to explain. Ok, world: I&#8217;ve decided that search engines, INCLUDING YOUR PRECIOUS GOOGLE, are basically useless. Please improve. Love, Hélène. I call it search malaise.  Until maybe 2004 or so, I was super excited every time I searched for information and got tons [...]]]></description>
			<content:encoded><![CDATA[<p>I made a marginally provocative (and slightly childish) tweet and was asked to explain.</p>
<blockquote><p>Ok, world: I&#8217;ve decided that search engines, INCLUDING YOUR PRECIOUS GOOGLE, are basically useless. Please improve. Love, Hélène.</p></blockquote>
<p>I call it search malaise.  Until maybe 2004 or so, I was super excited every time I searched for information and got tons of amazing stuff back.  Web search (and Usenet) triggered my interest in computing and allowed me to learn to program among other things of various utility and tastefulness.  At first, the whole process was beyond thrilling.  Over the last several years, I&#8217;ve gone from seeing search as a magical gift to treating it as an unexceptional tool to finally being incredibly irritated by it.</p>
<p>As I&#8217;ve been building up a high school computer science program, I&#8217;ve been starved for teaching resources, connection to other high school CS teachers and relevant CS education research.  I know there&#8217;s a ton of stuff out there but I keep running into the same resources or rather lack thereof.  Blogs and mailing lists occasionally point out real gems and I find myself frustrated that my searches never brought me to them.  Of course, it&#8217;s not entirely a search problem.  In fact, it&#8217;s probably primarily an information representation issue &#8212; if only information creators had tools to better characterize their information, maybe I wouldn&#8217;t be so irritated.  Where&#8217;s this semantic web business I keep hearing about?  Oh, right, it&#8217;s a Hard Problem.</p>
<p>Let me illustrate the type of issues I run into.  Let&#8217;s say I need some ideas for giving my students practice on while loops.</p>
<p><a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2010/06/Screen-shot-2010-06-19-at-5.34.25-PM.png"><img class="aligncenter size-medium wp-image-338" title="Screen shot 2010-06-19 at 5.34.25 PM" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2010/06/Screen-shot-2010-06-19-at-5.34.25-PM-300x185.png" alt="" width="300" height="185" /></a></p>
<p>Oops.  &#8221;Assignment&#8221; also means giving a value to a variable, so nothing very useful comes out.  Ok.</p>
<p><a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2010/06/Screen-shot-2010-06-19-at-5.35.42-PM.png"><img class="aligncenter size-medium wp-image-339" title="Screen shot 2010-06-19 at 5.35.42 PM" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2010/06/Screen-shot-2010-06-19-at-5.35.42-PM-300x198.png" alt="" width="300" height="198" /></a></p>
<p>The first and third hits are useful, but the rest really aren&#8217;t relevant to what I&#8217;m looking for.  Isn&#8217;t it obvious, though?!  I want problem statements I can give to my students that encourage them to practice the while construct!  Deep breath.  What if I try adding something about intro to programming courses?</p>
<p><a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2010/06/Screen-shot-2010-06-19-at-5.38.40-PM.png"><img class="aligncenter size-medium wp-image-340" title="Screen shot 2010-06-19 at 5.38.40 PM" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2010/06/Screen-shot-2010-06-19-at-5.38.40-PM-300x184.png" alt="" width="300" height="184" /></a></p>
<p>Unfortunately course numbers are entirely unpredictable between organizations.</p>
<p><a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2010/06/Screen-shot-2010-06-19-at-5.42.44-PM.png"><img class="aligncenter size-medium wp-image-342" title="Screen shot 2010-06-19 at 5.42.44 PM" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2010/06/Screen-shot-2010-06-19-at-5.42.44-PM-300x206.png" alt="" width="300" height="206" /></a></p>
<p>Come on!  APCS hasn&#8217;t been taught in C++ since 2003!  Did the quotes help? Sort of.  Without them the third result was about choosing APC loop capacitors.</p>
<p>This goes on and on until I give up and look through a good old-fashioned book.  There&#8217;s no overlap between the results of semantically identical queries and the whole endeavor becomes a game of figuring out which search terms are most likely to bear fruit.</p>
<p>In reality, there are great resources on while loops for me to use as inspiration and to point my students to.  <a href="http://codingbat.com/">CodingBa</a>t did make an appearance in the results, which is good.  I happen to know about <a href="http://webster.cs.washington.edu:8080/practiceit/">Practice-It</a> and <a href="http://www.cs.washington.edu/education/courses/cse142/10wi/homework.shtml">UW&#8217;s great assignments</a> because I know and love their creators.  I&#8217;ve also come across <a href="http://www.cs.princeton.edu/introcs/assignments/">Princeton&#8217;s CS1 assignments</a>, <a href="http://www.cse.msu.edu/~cse231/PracticeOfComputingUsingPython/index.php">The Practice of Using Python assignments</a>, <a href="http://www.shenet.org/high/hsacaddept/technology/chanley/javahalfyear/assigns/cwhassign.htm">Mr. Hanley&#8217;s assignments</a>, <a href="http://www.rfrank.net/cslabs-final/cslabs.html">Roger Frank&#8217;s labs</a> and a bunch of others I know to turn to when I have a need for ideas.  I have no idea which magical query led me their way.</p>
<p>More and more, I find myself giving up on a straight web search and instead searching <a href="http://delicious.com/purplespatula">my own Deliciou</a><a href="http://delicious.com/purplespatula">s bookmarks</a>.  Of course, that has its own issues.  Did I tag a particular thing I&#8217;m looking for as <a href="http://delicious.com/purplespatula/assignments">assignments</a>?  <a href="http://delicious.com/purplespatula/apcs">apcs</a>?  <a href="http://delicious.com/purplespatula/creativecomputing">creativecomputing</a>?  <a href="http://delicious.com/purplespatula/cs1">cs1</a>?  Is there any type of logic to how I tag information?!</p>
<p>What&#8217;s being done about this?  I don&#8217;t really know and I&#8217;d like to know more.  A couple of years ago I got very excited to hear about <a href="http://www.powerset.com/about">Powerset</a>&#8216;s ambitious goals.  I hear now they&#8217;re part of Bing.  There are <a href="http://www.w3.org/RDF/">various</a> <a href="http://www.w3.org/TR/owl2-overview/">notations</a> for representing relationships between information and hopefully giving search engines more of a clue, but if I can&#8217;t figure out a sensible way to tag my small collection of bookmarks, the efforts seem doomed to fail &#8212; these systems place the burden of establishing semantic links on content creators and we&#8217;re probably too lazy/busy/incompetent to do a good job.</p>
<p>There&#8217;s so much data and information that&#8217;s out of reach because I just can&#8217;t find it&#8230; it makes me sick to think about it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.helenemartin.com/2010-06-elusive-information/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AP Computer Science Advice</title>
		<link>http://www.helenemartin.com/2010-06-ap-computer-science-advice/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ap-computer-science-advice</link>
		<comments>http://www.helenemartin.com/2010-06-ap-computer-science-advice/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 01:48:51 +0000</pubDate>
		<dc:creator>Hélène Martin</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[apcs]]></category>

		<guid isPermaLink="false">http://www.helenemartin.com/?p=321</guid>
		<description><![CDATA[I'm heartbroken to see my seniors leaving but I'm also excited to follow their adventures.  What a smart, talented and cool bunch of students!  They leave next year's AP Computer Science class with great advice.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m heartbroken to see my seniors leaving but I&#8217;m also looking forward to following their adventures.  They all have exciting plans ranging from studying some type of engineering (computer?!) at MIT to computer science at Westpoint.  What a smart, talented and cool bunch of students!  I can only hope to have classes as amazing as this year&#8217;s AP CS again.</p>
<p style="text-align: center;"><a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2010/06/09-10-Garfield-AP-CS1.jpg"><img class="aligncenter size-large wp-image-323" title="09-10 Garfield AP CS" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2010/06/09-10-Garfield-AP-CS1-1024x768.jpg" alt="" width="502" height="377" /></a></p>
<p>I asked everyone to leave some advice for upcoming AP CS students and I think they came up with great stuff:</p>
<blockquote><p>The Five Tenets of Programming<br />
1. If you feel like you’re falling behind, ask for help, if not from Ms. Martin, then from other students.  You’ll save yourself hours of frustration.<br />
2. Don’t be afraid to try your own thing if you get the chance, even if you think it’s beyond your level.  You’ll learn faster if you’re interested in the project.<br />
3. Temp variables are awesome.  So are ArrayLists.<br />
4. Don’t let the sometimes snooty programming club people argue with you — by the end of the year, you’ll probably know more.<br />
5. And NEVER tell yourself you’re bad at coding.  EVER.  This just leads to failure.  See tenet 1.</p></blockquote>
<blockquote><p>Don’t trust the GridWorld.  Never code a method unless necessary.</p></blockquote>
<blockquote><p>BE PATIENT!  It’s frustrating, yes, but when you think about it calmly and figure out what needs to be done and what you need to do that, end results will be exhilarating!  Side story: I refused, eventually, to help my friend on his work for another programming class because instead of thinking everything out, he gets angry and rants about how much CS sucks.  Honestly, being patient and drawing things out will be more helpful than sitting around and crying.</p></blockquote>
<blockquote><p>PAY ATTENTION DURING GRIDWORLD INTRO.  If you don’t you’ll be mighty confused.</p></blockquote>
<blockquote><p>Take loads of notes, pay attention and GO TO GOOGLE.</p></blockquote>
<blockquote><p>I didn’t sign up for AP CS, so I was surprised when it became my favorite class and Ms. Martin my favorite teacher.  Appreciate that your teacher is passionate and knowledgeable about her subject.  Don’t be afraid to ask for help, don’t give up when you get frustrated, always make your code as pretty as possible, and celebrate when you complete a task.</p></blockquote>
<blockquote><p>Use Ms. Martin — she’s a great resource.  Don’t be afraid to look at what other coders have done before you.  Stay ahead of deadlines if you can.  Enjoy yourself, work hard, this class can be a blast.</p></blockquote>
<blockquote><p>Learn to speak in code.  It helps on history papers when you write an essay in Java.  Also become a fan of curly braces and other lingo that can make or break your program.  Also love Ms. Martin.  She’s an awesome teacher and is driving herself broke by teaching.</p></blockquote>
<blockquote><p>Use Eclipse and come in after school.  The teacher actually teaches and helps — whoa!</p>
<pre><code>for(int days = 1; days &lt;=  365; days++) {
    haveFun();
}
</code></pre>
</blockquote>
<blockquote><p>Stay on top of things and don’t get behind!  Stay after school to get extra help.  Work with others and form connections for help later in the class.</p></blockquote>
<blockquote><p>Work hard, listen to Ms. Martin.  This IS the best class at Garfield, so be sure to make the most of it.</p></blockquote>
<blockquote><p>Do all work early and finish as soon as possible.  Ask Ms. Martin for help when needed and use patience.</p></blockquote>
<blockquote><p>AP computer science is one of the funnest and most interesting classes I have ever taken.  Remember to always compile your code so that it saves and so that you can fix your errors as you go rather than having a giant amount of errors by the time you finish.  Participate in programming competitions — they’re fun and you learn a lot by working with others.</p></blockquote>
<blockquote><p>GOOD LUCK!  Don’t get frustrated because the concepts become easier as a person codes more and learns more.  Also, take advantage of class time!</p></blockquote>
<blockquote><p>Be good at pinball.  Be committed if you are going to take this class and study hard and often.  Make sure to stay on top of your projects and don’t get behind.</p></blockquote>
<blockquote><p>Don’t jump in second semester!  Or I guess you can if you really wanna!</p>
<p>Pay attention in class, don’t let yourself get behind or it will suck.  Hard work doesn’t guarantee success so be patient.  Ms. Martin is hella scary so don’t ask her for anything. <img src='http://www.helenemartin.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p></blockquote>
<blockquote><p>Eclipse is your best friend.  Neglect your other classes because this one is better.</p></blockquote>
<blockquote><p>It is a fascinating logic-based environment with simply the best and most competent teacher at Garfield.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.helenemartin.com/2010-06-ap-computer-science-advice/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Computer Science Guest Speakers</title>
		<link>http://www.helenemartin.com/2010-05-computer-science-guest-speakers/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=computer-science-guest-speakers</link>
		<comments>http://www.helenemartin.com/2010-05-computer-science-guest-speakers/#comments</comments>
		<pubDate>Wed, 26 May 2010 04:54:10 +0000</pubDate>
		<dc:creator>Hélène Martin</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[speakers]]></category>

		<guid isPermaLink="false">http://www.helenemartin.com/?p=313</guid>
		<description><![CDATA[Guest speakers are good for convincing students that real, successful people are excited about computer science.  It&#8217;s also nice as a way to break up the routine.  Some of the speakers I&#8217;ve had this year: Stuart Reges from UW who talked about many interesting ideas related to computer science including meta, recursion and more! Mike [...]]]></description>
			<content:encoded><![CDATA[<p>Guest speakers are good for convincing students that real, successful people are excited about computer science.  It&#8217;s also nice as a way to break up the routine.  Some of the speakers I&#8217;ve had this year:</p>
<ul>
<li><a href="http://www.cs.washington.edu/homes/reges/">Stuart Reges</a> from UW who talked about <a href="http://www.garfieldcs.com/2009/09/guest-speaker-stuart-reges-from-the-university-of-washington/">many interesting ideas</a> related to computer science including meta, recursion and more!</li>
<li>Mike Dussault from Valve who talked about <a href="http://www.garfieldcs.com/2009/09/guest-speaker-mike-dussault-from-valve/">creating video games</a></li>
<li><a href="http://www.jamesgeorge.org/">Jim George</a> who talked about <a href="http://www.garfieldcs.com/2009/10/jim-george-on-programming-for-art/">using software as art</a></li>
<li>Kwaku Sefa-Dedeh who talked about the business side of Microsoft</li>
<li>Robert Morton who talked about his work at <a href="http://www.tableausoftware.com/">Tableau software</a> and becoming a computer scientist</li>
</ul>
<p>When I was in high school, I always appreciated the opportunity to talk to adults doing things I found interesting.  Strong engineering and computing mentors played a big role in steering me in the direction I followed so I hope to bring a bit of the same to my students.</p>
<p>Today, my classes were very lucky to get a visit from Ben Slivka, starter of Internet Explorer among other cool things.  I took some notes as students asked questions and have done my best to recreate some of what was discussed.  It was really fun to get his insights on all kinds of things technology.</p>
<p><strong>Which of the companies you worked in was the most fun?</strong><br />
Mr. Slivka told us that he had the most fun at Microsoft.  Starting Internet Explorer was a creative and innovative endeavor involving great people.  It was a lot of work, too — he told us that 80-100 hour weeks were not uncommon for him!  Mr. Slivka first saw a web browser in 1994 (<a href="http://en.wikipedia.org/wiki/Mosaic_%28web_browser%29">Mosaic</a>) and knew that it was an exciting development.  In fact, in 1995, he wrote an internal memo on how important the web would become titled “<a href="http://www.justice.gov/atr/cases/exhibits/21.pdf">The Web is the Next Platform</a>.”  At the time, there were only a few thousand websites as opposed to today’s tens of millions.</p>
<p>Mr. Slivka worked with Internet Explorer through its third release and grew the team from 7 to 69 engineers.  He shared with us that during his time at Microsoft, a person in the USA was more likely to become a Microsoft millionaire than an NBA player!</p>
<p><strong>Why did you leave Microsoft?<br />
</strong>Young Microsoft took lots of risks to become successful but as it has grown, it has become more concerned with protecting its primary products (Windows and Office) rather than innovating.  Around 1999, Mr. Slivka wanted to pursue Internet-related innovations but that was not the direction the company was taking.  The book <a href="http://www.breakingwindows.net/1prologue.htm">Breaking Windows</a> covers the time when he was leaving Microsoft and the prologue is online.</p>
<p><strong>Is it scary to talk to company founders like Bill Gates (Microsoft) or Jeff Bezos (Amazon)?<br />
</strong>No!  According to Mr. Slivka, companies are a lot less hierarchical now than they were maybe 50 years ago so it’s natural for CEOs to have relatively frequent contact with their employees.  When he was at Microsoft, it was not unusual for him to trade e-mails and have face-to-face meetings with Bill Gates.</p>
<p><strong>What is one of the most exciting ideas in computer science?<br />
</strong>Mr. Slivka told us about <a href="http://en.wikipedia.org/wiki/Computational_complexity_theory">computational complexity</a>, the study of the difficulty of programming tasks.</p>
<p><strong>Was it difficult to see OS/2 fail after 5 and a half years of work?<br />
</strong>Only doing things that will succeed is boring, says Mr. Slivka!  There is a lot more to learn from mistakes than from successes.  It was difficult to see such a big time and energy investment be lost but going through the process of creating the product was valuable.  OS/2 was a joint venture between Microsoft and IBM and their goals were different.</p>
<p><strong>What was the hardest project you were involved in?<br />
</strong>The human factor in projects is often the most difficult.  In 1998, Mr. Slivka was asked to take part in designing a new interface for Windows.  He and two others were in charge of the project and there was conflict among the leadership which made it difficult.</p>
<p><strong>What do you think of the iPad?<br />
</strong>It’s somewhere between a phone and a laptop and it’s hard to know where it fits in.  It still requires a PC since when turned on it wants to be synced to iTunes.  The device is too heavy but it does have a gorgeous screen.  The brushed aluminum is beautiful but very slippery.  Mr. Slivka sees it mostly as an expensive toy.  He reminded us that computing technology is like grocery store produce in that it has a limited shelf life.  This first version of the iPad is not likely to be popular for long.  The lack of multitasking and virtual memory are real limitations.</p>
<p><strong>Can you comment on the Apple vs. Adobe war?</strong><br />
Apple is playing defense right now by trying to protect their control over all aspects of their products.  The Flash battle is not about security or stability, it’s about market control and — ultimately — dollars.</p>
<p><strong>Which web browser do you use?<br />
</strong>IE7 was too slow and Mr. Slivka switched to Firefox.  He does not use Bing.</p>
<p><strong>What do you think about cloud computing?<br />
</strong>Offline computing still has a role since there is no pervasive connectivity yet.  If cloud computing means data is never lost, actions can be infinitely undone, groups can collaborate well, no need to worry about installations of software then it’s a great idea but in practice, there is no great implementation yet.  Google Docs doesn’t work well but it’s definitely possible to create a fully-functioning word editor in the cloud some day.</p>
<p><strong>What are the main privacy issues on the Internet?<br />
</strong>Mr. Slivka shared his policy: he doesn’t put anything up online that he wouldn’t be ok with being on the New York Times front page.  People should be thoughtful about what they share and market forces will work to punish companies that don’t respect privacy well enough.  In his opinion, the government is getting involved because it’s currently on people’s mind and will help politicians win elections.</p>
<p><strong>What will Google look like in the next few years?<br />
</strong>Google is now suffering from the same problem as Microsoft: Microsoft has revenue from Windows and Office and wants to protect those while Google has Search and AdWords and wants to protect those revenue streams.  Google’s challenge will be innovating beyond search and ads while making sure they can maintain their dominance as products like Bing get significant investment.  Their current strategy is to be everywhere (Android, Chrome, etc) and make Google the preferred platform so they can protect their search and ad dominance.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.helenemartin.com/2010-05-computer-science-guest-speakers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Troubleshooting.</title>
		<link>http://www.helenemartin.com/2009-08-troubleshooting/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=troubleshooting</link>
		<comments>http://www.helenemartin.com/2009-08-troubleshooting/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 22:30:06 +0000</pubDate>
		<dc:creator>Hélène Martin</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[computers]]></category>

		<guid isPermaLink="false">http://www.helenemartin.com/?p=245</guid>
		<description><![CDATA[It&#8217;s somewhat ironic that computer scientists often get asked for computer help that they can&#8217;t provide.  The truth is that software-writing ability generally doesn&#8217;t depend on utilitarian knowledge of Windows 2000, optical mice, wireless access points or printer drivers.  A number of computer scientists in fact take offense when asked for general computing help.  I [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s somewhat ironic that computer scientists often get asked for computer help that they can&#8217;t provide.  The truth is that software-writing ability generally doesn&#8217;t depend on utilitarian knowledge of Windows 2000, optical mice, wireless access points or printer drivers.  A number of computer scientists in fact take offense when asked for general computing help.  I guess they see it like asking a biologist for help troubleshooting a microscope or something though I&#8217;m not sure the biologist would be quite as offended.  I suspect they may act offended because they honestly don&#8217;t know.</p>
<p>I&#8217;ve always had a place in my heart for IT and happen to take pleasure in banging my head against strange computer (or more often, user) glitches.  And as unglamorous as diagnosing computer slow-downs or malfunctioning peripherals may be, I&#8217;d go as far as saying that my troubleshooting abilities are some of the most valuable skills I have.  What does it take to teach those?  Why don&#8217;t more people have them?</p>
<p>I recently received an e-mail from someone I really like and respect.  Our conversation went something like:</p>
<ul>
<li>Short e-mail asking if I could help her fix her backspace</li>
<li>I ask whether it&#8217;s a mechanical problem and if so recommend popping out the key and cleaning it</li>
<li>She answers with more details: the backspace key doesn&#8217;t delete a selected region of text but works otherwise</li>
<li>I ask what program it&#8217;s happening in.  By this point, I suspect a Word or Office setting so I ask her to try in notepad, Outlook and Word</li>
<li>It&#8217;s only in Word</li>
<li>After a little poking around, I find the &#8220;typing replaces selection&#8221; setting</li>
</ul>
<p>This is representative of the kinds of problems I&#8217;m asked to address &#8212; the issue is that most users don&#8217;t realize what their problem actually is.  In this case, the backspace key itself was fine but a software setting had changed.  It turns out that searching for &#8220;overwrite word selection&#8221; in Google provides a <a href="http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.word.docmanagement&amp;tid=98e806d3-8a23-4a78-9dde-c5883bce8df0&amp;cat=&amp;lang=&amp;cr=&amp;sloc=&amp;p=1">solution from Microsoft</a> as the first hit.  Does it take a sophisticated understanding of the way computers work to know what questions to ask or things to try?</p>
<p>I&#8217;d like to try to help my students gain troubleshooting abilities but I&#8217;m not sure how to go about it.  Some of the things I&#8217;d like them to think about:</p>
<ul>
<li>Eliminate hardware first (&#8220;is it plugged in?&#8221;  &#8220;Is the cable ok?&#8221;  &#8220;Is the socket ok?&#8221; &#8220;what if you plug it in elsewhere?&#8221;)</li>
<li>Applications have their own settings (&#8220;does it happen in application X?&#8221;)</li>
<li>Some applications are related (IE-Windows, the Office suite)</li>
<li>Rebooting solves a lot of problems</li>
<li>The right search query solves a lot of problems.  Coming up with it requires asking lots of questions until you have ideas on what might be causing the problem (hardware, settings, interaction between programs, malware)</li>
</ul>
<p>Having &#8220;book knowledge&#8221; of troubleshooting isn&#8217;t particularly helpful, though.  I guess I can reproduce the backspace issue, for example, pretty simply and have them walk through how they would address it.  I wonder what students would do with that&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.helenemartin.com/2009-08-troubleshooting/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Teaching the Internet</title>
		<link>http://www.helenemartin.com/2009-07-teaching-the-internet/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=teaching-the-internet</link>
		<comments>http://www.helenemartin.com/2009-07-teaching-the-internet/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 01:25:02 +0000</pubDate>
		<dc:creator>Hélène Martin</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[curriculum]]></category>
		<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://www.helenemartin.com/?p=233</guid>
		<description><![CDATA[A couple of days ago, I taught my 9th graders about the Internet.  My slides in PDF format are on the course website.  I took a bit of a risk: this baffles me and I think explains a lot about the sad state of education, but kids don&#8217;t expect more than ten minutes of lecture [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of days ago, I taught my 9th graders about the Internet.  My slides in PDF format are <a href="http://www.helenemartin.com/bridgetech/resources/week5/intarwebs.pdf">on the course website</a>.  I took a bit of a risk: this baffles me and I think explains a lot about the sad state of education, but kids don&#8217;t expect more than ten minutes of lecture time.  We did about thirty minutes and it went surprisingly well.</p>
<p>I really wanted to do this because I believe in understanding what I use.  Just having a little bit of a sense of how computing tools work and why they were created can go a long way in becoming a better user, I think.  The first thing I did in this summer class was have students take apart computers and that worked really well for increasing understanding of computers but it was less clear to me how we would learn about the Internet.  We ended up having a conversation about it.</p>
<p>A lot of really interesting questions came up that I hadn&#8217;t necessarily anticipated:</p>
<ul>
<li><em>Where is the Internet?</em> Demonstrates that students really have no idea what it is.  We talked about how it&#8217;s not a place, it&#8217;s a big distributed system spread all over the world.</li>
<li><em>What does the Internet look like?</em> I had a representation in my slides that helped but wasn&#8217;t entirely satisfying to them.  <em>Is that a picture of the Internet?</em> Well, we can&#8217;t take a picture of it since it&#8217;s really quite abstract.  The best we can do is draw computers on the network as nodes and draw lines between them to represent physical connections and attempt to capture how many hops there are between them.</li>
<li><em>What would happen if a terrorist hit a backbone connection? </em>I didn&#8217;t anticipate this question though part of the idea in giving this lesson was that students would better be able to assess policy questions surrounding the Internet.  Two different sections were really interested in this and the next day I added a slide about the <a href="http://news.bbc.co.uk/2/hi/technology/7792688.stm">Alexandria cable cuts</a> that compromised Internet access for millions in late 2008.  Students had no idea the Internet was this vulnerable and couldn&#8217;t believe we had cables dangling in the oceans.</li>
<li><em>What would happen if a terrorist hit the main address book?</em> (I didn&#8217;t really go into details about DNS and root nameservers thinking the address book analogy was sufficient)  Again, I thought students were very sharp to notice a vulnerability there that I wasn&#8217;t going to go in much detail about.  Though there recently have been increasing efforts to mirror root nameservers, the whole system is surprisingly vulnerable.</li>
<li><em>So I can make any webpage popular on Google?</em> I don&#8217;t know quite how students imagined that Google worked, but it didn&#8217;t seem to have occured to them that it was exploitable in some ways.  I think that notion made them uncomfortable.  Who can they trust if not Google?!</li>
</ul>
<p>Some students tuned out after the first 10 minutes but a lot were very engaged and told me afterwards that they had learned a lot.  I think this kind of material needs to come in somewhere.  I know it&#8217;s not hands-on and flashy, but it&#8217;s really important (I&#8217;d love to see a simulation of how data flows through the world and see what happens when we cut cables, etc).  So where does it fit in?  It&#8217;s part history, part networking, part geography, part civics.  I think we owe it to ourselves to make sure it fits in somewhere.  In the mean time, I&#8217;ll keep teaching it whenever I get the chance.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.helenemartin.com/2009-07-teaching-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Course planning.</title>
		<link>http://www.helenemartin.com/2009-07-course-planning/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=course-planning</link>
		<comments>http://www.helenemartin.com/2009-07-course-planning/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 06:26:46 +0000</pubDate>
		<dc:creator>Hélène Martin</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[planning]]></category>

		<guid isPermaLink="false">http://www.helenemartin.com/?p=220</guid>
		<description><![CDATA[I've been suffering from a form of writer's block, I suppose.  I'll be teaching three computer science courses I've never taught before starting September 9th and I've found it incredibly difficult to figure out how to prepare myself for the challenge.  It recently struck me that I'm going to be spending 5 hours of each day in class with students so my usual algorithm of 2-3 hours of prep time per hour of class time is just not going to cut it unless I make significant headway over the summer.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been suffering from a form of writer&#8217;s block, I suppose.  I&#8217;ll be teaching <a href="http://helenemartin.com/garfieldcs">three computer science courses</a> I&#8217;ve never taught before starting September 9th and I&#8217;ve found it incredibly difficult to figure out how to prepare myself for the challenge.  It recently struck me that I&#8217;m going to be spending 5 hours of each day in class with students so my usual algorithm of 2-3 hours of prep time per hour of class time is just not going to cut it unless I make significant headway over the summer.</p>
<p>Here&#8217;s my problem, though: I like to heavily adapt what I&#8217;m teaching to my students&#8217; strengths, interests and schedules.  Even for the short and sweet <a href="http://www.king5.com/education/stories/NW_070709EDB-garfield-transitions-program-KS.1ab7ba01.html">summer program</a> I am teaching for (10 hours of class time total), I felt so smart coming in with a schedule ready to go but after giving the students a survey and seeing what some of the other teachers were doing, I threw the whole thing out the window.  The time I spent planning prior to the course starting was definitely valuable because it at least gave me a framework to operate in and some ready-to-go materials.  But I&#8217;m still spending a lot of time reworking my plans as I go.</p>
<p>This leaves me with a number of questions.  How do the majority of teachers use their summers?  Should teachers be given more planning time interspersed with their courses?  Is effective advance planning just a skill that takes time to develop?  Is the trick to plan a lot of modular pieces and resources which can be plugged in as the situation demands it?</p>
<p>What I&#8217;ve been trying to do is at least answer some of the really big questions framing the courses.  I&#8217;m a big fan of &#8220;backwards design&#8221; and have been using a lot of ideas from <a href="http://www.amazon.com/Understanding-Design-Expanded-Grant-Wiggins/dp/0131950843/">Understanding by Design</a>.  So I guess really I&#8217;m not answering big questions but rather trying to tease out what they are.  For example, I&#8217;ve attempted to <a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/07/Programming-101-Design.pdf">formalize some of them and link topics to standards</a> for the algebra-based introductory programming course I&#8217;ll be doing.</p>
<div id="attachment_222" class="wp-caption aligncenter" style="width: 235px"><a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/07/DSC02721.JPG"><img class="size-medium wp-image-222" title="Course concepts" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/07/DSC02721-225x300.jpg" alt="Course concepts for high school programming classes" width="225" height="300" /></a><p class="wp-caption-text">Course concepts for high school programming classes ready to be put in order.</p></div>
<p>A tactic I&#8217;ve tried to get myself unstuck has been to write out concepts I want to cover on post-its and try to shuffle them around to see what goes together, what kind of orderings are possible and what can be cut out.  Topics are so inter-woven that it hasn&#8217;t been quite as successful as I hoped though getting all the topics out has been helpful.</p>
<p>Ultimately, I think I need to come up with a number of compelling assignments and tasks I want students to be able to complete and work from those.  I just need to fight off this &#8220;designer&#8217;s block!&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.helenemartin.com/2009-07-course-planning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CS/IT 2009</title>
		<link>http://www.helenemartin.com/2009-07-cs-it-2009/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=cs-it-2009</link>
		<comments>http://www.helenemartin.com/2009-07-cs-it-2009/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 19:01:17 +0000</pubDate>
		<dc:creator>Hélène Martin</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[conference]]></category>

		<guid isPermaLink="false">http://www.helenemartin.com/?p=205</guid>
		<description><![CDATA[What a week.  My flight out of DC was delayed so I didn&#8217;t get into Seattle until late Sunday night.  Monday was the start of my summer class on technology for incoming 9th graders.  I gave the students a survey to see what they were interested in learning and the results convinced me to change [...]]]></description>
			<content:encoded><![CDATA[<p>What a week.  My flight out of DC was delayed so I didn&#8217;t get into Seattle until late Sunday night.  Monday was the start of <a href="http://helenemartin.com/bridgetech/">my summer class</a> on technology for incoming 9th graders.  I gave the students a survey to see what they were interested in learning and the results convinced me to change my song and dance quite a bit.  Turns out a number of students wanted to better understand how computers work and what they&#8217;re made out of.  I&#8217;m not sure whether this was a wise decision or not, but I figured we could try exploring some old computers.  The kids are going crazy with it but I&#8217;ll save the details until I see how the project as a whole pans out.</p>
<p>Saturday 6/28 was the <a href="http://www.csta.acm.org/ProfessionalDevelopment/sub/CSITSymposiaSite.html">Computer Science and Information Technology</a> Symposium &#8212; pretty much the one big professional development event for high school CS instructors.  I&#8217;m so glad I was able to go and hope to make it annually!  The sessions gave me some great ideas and I had the opportunity to make very useful connections.</p>
<p>The keynote was given by <a href="http://www.amazon.com/Stuck-Shallow-End-Education-Computing/dp/0262135043/ref=cm_cr_pr_product_top">Stuck in the Shallow End</a> authors Jane Margolis (who also authored the excellent <a href="http://www.amazon.com/Unlocking-Clubhouse-Computing-Jane-Margolis/dp/0262632691/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1246667023&amp;sr=1-1"><span style="text-decoration: underline;">Unlocking the Clubhouse: Women in Computin</span>g</a>) and Joanna Goode.  I was not a huge fan of the book: the problem seemed too obvious to me and the offered solutions too weak.  That being said, the keynote was excellent and brought in some more data and a little information about the <a href="http://intotheloop.gseis.ucla.edu/exploring.html">Exploring Computer Science</a> course they have been working to develop in LA area schools.  Of course, everyone wanted to see the curriculum outline and materials but it looks like they&#8217;re not sharing the details yet.  Joanna made it sound like they were going to release things in the fall &#8212; too late for those of us starting a new course then but still, I&#8217;m excited to see what they&#8217;ve come up with.</p>
<p>Dave Burkhart&#8217;s session on differentiated instruction provided a number of good ideas.  He managed to balance educational theory and computer science well and although he&#8217;s a middle school teacher, his insights were quite relevant to high school.  I&#8217;d also never seen the hilarious clip he showed on <a href="http://www.youtube.com/watch?v=JWymXNPaU7g">herding cats</a>.  Indeed, when we&#8217;re given classes with students of wildly different levels and interests, chaos ensues.  According to Dave, differentiated instruction is having a vision of success for each of your students.  I love that way to think about it.  He provided some good tools for making sure that all students had a path to success available to them.  I found it interesting that he uses <a href="http://www.berghuis.co.nz/abiator/lsi/lsiframe.html">a multiple intelligence test</a> to better cater to his students&#8217; learning styles.  Not a bad idea.</p>
<p>The &#8220;Computational Thinking &#8211; A Problem Solving Tool for Every Classroom&#8221; session wasn&#8217;t quite as relevant to me.  I liked breaking down thinking computationally when approaching a problem as asking a series of questions including:</p>
<ul>
<li>&#8220;how difficult is this problem?&#8221;</li>
<li>&#8220;how can it be solved?&#8221;</li>
<li>&#8220;how can technology be applied to the problem?&#8221;</li>
</ul>
<p>Computational thinking was also not-defined as &#8220;not thinking like a computer, it&#8217;s not programming, it&#8217;s not computer science, it doesn&#8217;t require a computer.&#8221;  Less sure about these.  Computational thinking may be broader than these, but they&#8217;re all great examples of applications, I feel.  This session was very similar to the previous day&#8217;s TeraGrid workshop where a lot of emphasis was placed on using simulations.  Interesting.</p>
<p>I really enjoyed the &#8220;Building Effective Leadership at the Grass Roots&#8221; panel.  Lots of very interesting people doing interesting things across the country.  I asked about making the <a href="http://www.csta.acm.org/WebRepository/WebRepository.html">CSTA curriculum resources</a> into an easier to use tool and more of an online community.  Sounds like that is in the works.</p>
<p>I met a bunch of really inspiring people I hope to stay in contact with.  Highly recommended for anyone involved in K-12 computer science.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.helenemartin.com/2009-07-cs-it-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TeraGrid &#8217;09 High School Teacher Bridge Day</title>
		<link>http://www.helenemartin.com/2009-06-teragrid-09-high-school-teacher-bridge-day/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=teragrid-09-high-school-teacher-bridge-day</link>
		<comments>http://www.helenemartin.com/2009-06-teragrid-09-high-school-teacher-bridge-day/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 21:59:19 +0000</pubDate>
		<dc:creator>Hélène Martin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Teaching]]></category>

		<guid isPermaLink="false">http://www.helenemartin.com/?p=194</guid>
		<description><![CDATA[The TeraGrid is an NSF-funded grid computing endeavor in support of science and engineering research. This week, TeraGrid &#8217;09 took place in Arlington, Virginia and the organizers added on a one day workshop for high school teachers. I was hoping to get some ideas on how to introduce parallel computing concepts early and maybe even [...]]]></description>
			<content:encoded><![CDATA[<p>The TeraGrid is an NSF-funded grid computing endeavor in support of science and engineering research.  This week, <a href="http://www.teragrid.org/">TeraGrid &#8217;09</a> took place in Arlington, Virginia and the organizers added on a one day workshop for high school teachers.  I was hoping to get some ideas on how to introduce parallel computing concepts early and maybe even get access to some TeraGrid cycles for education but that&#8217;s not quite how it panned out.  More than anything, it reminded me of <a href="http://cs4hs.cs.washington.edu">CS4HS</a> and provided me with some ideas to pass on to this year&#8217;s organizers.</p>
<p>The day started with a quick mention of some <a href="http://www.nrbsc.org/cmist/movies/">videos modeling scientific phenomena</a> from CMIST.  We then got a long presentation from <a href="http://shodor.org">Shodor</a> founder Bob Panoff on using their computational modeling tools for teaching math and science topics.  Shodor (allegedly named for &#8220;Short Dork&#8221;) is a really neat non-profit based in North Carolina that provides all kinds of great free tools as well as workshops and internships in technology for high school students.  For example, teachers could use their <a href="http://www.shodor.org/interactivate/activities/functionflyer/">function grapher</a> to get students to explore the effect of constants on trigonometric functions by having them graph 1 * cos(x + 0) + 0 and use the sliders to change the values of the constants.  The <a href="http://www.shodor.org/interactivate/activities/rabbitsandwolves/">rabbits and wolves simulation</a> is a great tool for showing population dynamics complete with updating graphs of each species count and parameters to modify the type of world.</p>
<p>These kinds of materials are great &#8220;hooks&#8221; for math and science teachers to use in support of discovery learning (more on that in a future post).  They can also be used to get students to think about building and using abstract models to represent real-world situations, a key part of computer science.  A teacher could, Bob suggested, use the <a href="http://www.shodor.org/interactivate/activities/histogram/">histogram activity</a> to make a point about the importance of knowing how to interpret models and the assumptions they make.  For example, looking at NBA salary data, a coach might slice the data into three ranges and use the resulting graph to claim that nearly all players are paid the same.  By slicing the data into smaller ranges, though, players might claim that salaries are not equitable.  The Shodor system makes that kind of &#8220;zooming&#8221; in and out on data really simple.</p>
<p>Given that we were nearly all computer science teachers, I felt this was the wrong crowd.  These are cool, but aren&#8217;t there 101 different (and most likely inferior, I&#8217;ll admit) simulations like that online?  Besides, this seems like a use of technology as a tool rather than an example of building computational thinking abilities.  But Bob started his presentation with an interesting statement &#8212; he rather casually said something like &#8220;in CS, we&#8217;re starting with modeling rather than programming because there&#8217;s very strong evidence that starting with programming creates barriers that wouldn&#8217;t otherwise exist.&#8221;  No one really blinked and the tone of the day was set.  I&#8217;m uncomfortable with that position but have to think about it more before I can craft a coherent response.  I do believe that using tools like <a href="http://www.vensim.com/">Vensim</a> to describe models in a lightweight way is a good first step but I&#8217;m not sure that manipulating a ready-made simulation such as those Shodor provides really is actively building computational thinking abilities.  In the best-case scenario, strong students will build some sense of what makes a good model or abstraction by playing with many existing ones.  Not all students are strong students.  I think that using scientific computation as a hook for algorithm design and computer science is unrealistic for most kids in our urban schools.</p>
<p>Another theme of the day was discovery and exploration as the best teaching/learning strategy &#8212; &#8220;let&#8217;s get out of the way of students&#8217; learning.&#8221;  Certainly, for self-learners with strong family support and excellent role-models, this is an excellent strategy but I don&#8217;t think it works for the majority.  We saw an interesting presentation on a great collaboration between a community college, a liberal-arts college and a couple of universities.  Charlie Peck and his collaborators had brought their <a href="http://littlefe.net/">LittleFe</a> cluster &#8212; a home-grown machine made of off-the-self parts for under $3000.  They run a Linux distribution called <a href="http://bccd.cs.uni.edu/">Bootable Cluster CD</a> on it and use it to teach parallel computing.  This is where they lost me a little bit: from the presentation, they made it sound like their strategy was letting students loose on the machines and having them build cool stuff.  Note that this could be a misrepresentation as I haven&#8217;t done much exploration to see whether they have more structured content available.  Still, I think that for most people, this seems like a wonderful idea!  Indeed, when I mentioned the need for structured instructional materials it kind of fell on deaf ears.</p>
<p>All this sounds pretty negative, but I really enjoyed the day.  It was a good opportunity to meet some interesting people and to continue to figure out my own ideas on education and where computer science fits in.  I&#8217;m definitely a minority in a lot of my stances (structured instruction over discovery-based learning, structured assignments rather than open-ended projects, deliberately ordered and linear curriculum pacing, early emphasis on basics, etc) so I have to be particularly careful in what I do to either be open to change when things don&#8217;t work or to have data to point to when challenged.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.helenemartin.com/2009-06-teragrid-09-high-school-teacher-bridge-day/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Posting assignment solutions online</title>
		<link>http://www.helenemartin.com/2009-06-posting-assignment-solutions-online/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=posting-assignment-solutions-online</link>
		<comments>http://www.helenemartin.com/2009-06-posting-assignment-solutions-online/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 00:47:12 +0000</pubDate>
		<dc:creator>Hélène Martin</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[assignments]]></category>

		<guid isPermaLink="false">http://www.helenemartin.com/?p=184</guid>
		<description><![CDATA[It&#8217;s a silly spat between an arrogant student and some SJSU instructor but it has caused a lot of noise I don&#8217;t really like. Here&#8217;s the guy&#8217;s blog explaining how he &#8220;won&#8221; against his professor who asked him to take data structures and algorithm problem solutions down (I&#8217;m sure he&#8217;s loving the blog traffic). I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a silly spat between an arrogant student and some SJSU instructor but it has caused a lot of noise I don&#8217;t really like.  Here&#8217;s <a href="http://www.kyle-brady.com/2009/06/10/how-i-won-a-copyfight/">the guy&#8217;s blog explaining how he &#8220;won&#8221;</a> against his professor who asked him to take data structures and algorithm problem solutions down (I&#8217;m sure he&#8217;s loving the blog traffic).</p>
<p>I&#8217;m sad to see so much chest banging on the part of open source and free speech advocates over this issue on the likes of <a href="http://arstechnica.com/open-source/news/2009/06/academic-source-code-dust-up-symptom-of-cs-education-ills.ars">Ars Technica</a> or <a href="http://www.boingboing.net/2009/06/11/student-challenges-p.html">Boing Boing</a>.  Some people claim that his solutions are a great educational resource and that programmers learn most by looking at others&#8217; work.  Of course we&#8217;ve all learned a lot from reading code, but we&#8217;ve most likely learned more by banging our heads against the wall when we were stuck on a difficult problem.  When students can look up solutions for inspiration, they&#8217;re cheating themselves out of a learning opportunity.  Having the code online, indexed by search engines is just too tempting, even for well-intentioned students.  Kyle himself claims he wants his code up for future employers.  I&#8217;d be very surprised if employers cared at all about code written in introductory courses to structured prompts.  What employers want to see are larger, creative projects &#8212; code that absolutely does belong online for collaboration, education, etc.  As is, the posted solutions have very little value to anyone but future cheaters.</p>
<p>It&#8217;s irritating, really, to read the discussions about instructors being lazy for not coming up with new assignments.  It&#8217;s extremely difficult to come up with compelling programming assignments, especially for early courses such as data structures/algorithms.  Students need highly-structured practice on difficult concepts before they solve more open-ended problems.   An instructor can spend weeks coming up with an assignment that&#8217;s challenging, well-structured and well-scoped.  One student posting their source code means that many others will use the solution as a guide, if not for blatant cheating. I guess the reaction to have is &#8220;they&#8217;ll get what they deserve on the test.&#8221;</p>
<p>This is bound to be more and more common as students spend more time online and become more tech-savvy at a younger age.  I hope I can have civilized conversations with students and make them understand that posting source code to structured assignments is not appropriate.  At the same time, I do think it&#8217;s important to find new and fun ways to encourage students to collaborate on and share larger, open-ended projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.helenemartin.com/2009-06-posting-assignment-solutions-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teaching games with Pygame</title>
		<link>http://www.helenemartin.com/2009-06-teaching-games-with-pygame/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=teaching-games-with-pygame</link>
		<comments>http://www.helenemartin.com/2009-06-teaching-games-with-pygame/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 01:21:46 +0000</pubDate>
		<dc:creator>Hélène Martin</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.helenemartin.com/?p=173</guid>
		<description><![CDATA[I&#8217;m ambivalent about the place of games in programming/computer science courses.  Some research claims it increases interest and retention, other claims it alienates non-gaming students.  I personally would have avoided an introductory course centered on game programming and I worry that women are disproportionately turned off by games.  That being said, I&#8217;m willing to concede [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m ambivalent about the place of games in programming/computer science courses.  Some research claims it increases interest and retention, other claims it alienates non-gaming students.  I personally would have avoided an introductory course centered on game programming and I worry that women are disproportionately turned off by games.  That being said, I&#8217;m willing to concede that the number of students hooked by games may outweigh those it alienates&#8230;</p>
<p>Even then, though, I worry about the educational content.  There are a lot of very interesting problems in game AI or graphics, but that&#8217;s far from introductory material.  Even basic games require complicated ideas including game loops (yes, that&#8217;s hard for intro students), interrupts and graphics in order to be compelling, especially for kids who were born into fancy 3D games.</p>
<p>When trying to teach games, especially when attempting to cater to the gamer types who like fancy things right away, I think it&#8217;s easy to slip into &#8220;tutorial-mode.&#8221;  Tutorials are great for learning some quick skills, but I don&#8217;t believe they can convey the intellectual content an introductory programming course should provide.  It&#8217;s too easy for students to start simply pattern-matching without really understanding what they&#8217;re doing.  With this kind of approach, it&#8217;s unclear to me how students will be able to turn around and then build non-game programs.  Truly understanding the abstractions programming languages make takes incremental steps, time and practice.</p>
<p>Here&#8217;s the reality: a number of students in the Python class I work with had been asking how to build games and it seemed like a reasonable way to end the year.  By now, they have a reasonable grasp of basic programming constructs and are comfortable in Python so pygame seemed like a good fit.</p>
<p>I&#8217;m not sure I quite avoided the tutorial trap, but I think that given their existing understanding, that&#8217;s probably ok.  The real value to having them work with pygame, I think, is that they have an opportunity to gain experience referring to documentation and sample code in order to work in an existing programming environment.  For example, they (should) understand classes and objects, so it&#8217;s a good opportunity to practice using those concepts.</p>
<p>The slides I &#8220;lectured&#8221; from &#8212; we went through each concept and practiced together (stolen/adapted from ones I used at UW):</p>
<p><img class="alignnone size-full wp-image-166" style="margin-left: 15px" title="ppt16x16" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/06/ppt16x16.png" alt="ppt16x16" width="16" height="16" /> <a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/06/helenemartin-python-pygame-intro.ppt">HeleneMartin-Python-Pygame-Intro.ppt</a><br />
<img class="alignnone size-full wp-image-115" style="margin-left: 15px" title="pdf16x16" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/06/pdf16x16.ico" alt="pdf16x16" /> <a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/06/helenemartin-python-pygame-intro.pdf">HeleneMartin-Python-Pygame-Intro.pdf</a></p>
<p>The files I created with them in class:</p>
<p><img class="alignnone size-full wp-image-167" style="margin-left: 15px" title="pygame16x16" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/06/pygame16x16.ico" alt="pygame16x16" /> <a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/06/template.py">template.py<br />
</a> <img class="alignnone size-full wp-image-167" style="margin-left: 15px" title="pygame16x16" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/06/pygame16x16.ico" alt="pygame16x16" /> <a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/06/class_example.py">class_example.py<br />
</a> <img class="alignnone size-full wp-image-171" style="margin-left: 15px" title="png16x16" src="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/06/png16x16.png" alt="png16x16" width="16" height="16" /> <a href="http://www.helenemartin.com/wordpress/wp-content/uploads/2009/06/beach_ball.png">beach_ball.png</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.helenemartin.com/2009-06-teaching-games-with-pygame/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
