<?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>Software Carpentry &#187; Blog</title>
	<atom:link href="http://software-carpentry.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://software-carpentry.org</link>
	<description>Helping scientists make better software since 1997</description>
	<lastBuildDate>Fri, 03 Feb 2012 17:51:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>We&#8217;re Going to Be Busy</title>
		<link>http://software-carpentry.org/2012/02/were-going-to-be-busy/</link>
		<comments>http://software-carpentry.org/2012/02/were-going-to-be-busy/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 17:51:42 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[Version 5.0]]></category>

		<guid isPermaLink="false">http://software-carpentry.org/?p=4493</guid>
		<description><![CDATA[Here are the workshops we have lined up for the next few months: International Center for Theoretical Physics, Trieste, February 18 &#8211; March 2 University of Toronto, February 23-24 Indiana University, March 7-8 Monterey Bay Aquarium Research Institute, March 26-27 Lawrence Berkeley National Laboratory, March 28-29 University of Chicago, April 2-3 Utah State University, April [...]]]></description>
			<content:encoded><![CDATA[<p>Here are the workshops we have lined up for the next few months:</p>
<ul>
<li><a href="/boot-camps/international-centre-for-theoretical-physics-trieste-italy-february-2012/">International Center for Theoretical Physics, Trieste, February 18 &#8211; March 2</a></li>
<li><a href="/boot-camps/university-of-toronto-february-2012/">University of Toronto, February 23-24</a></li>
<li><a href="/boot-camps/indiana-university-march-2012/">Indiana University, March 7-8</a></li>
<li><a href="/boot-camps/monterey-bay-aquarium-research-institute-march-2012/">Monterey Bay Aquarium Research Institute, March 26-27</a></li>
<li><a href="/boot-camps/lawrence-berkeley-national-laboratory-march-2012/">Lawrence Berkeley National Laboratory, March 28-29</a></li>
<li><a href="/boot-camps/university-of-chicago-march-2012/">University of Chicago, April 2-3</a></li>
<li><a href="/boot-camps/utah-state-university-april-2012/">Utah State University, April 14-15</a></li>
<li><a href="/boot-camps/university-college-london-april-may-2012/">University College London, April 30 &#8211; May 1</a></li>
<li><a href="/boot-camps/michigan-state-university-may-2012/">Michigan State University, May 7-9</a></li>
<li><a href="/boot-camps/university-of-alberta-may-2012/">University of Alberta, May 16-17</a></li>
</ul>
<p>We could use help with all of them, both in person as they&#8217;re running, and online as participants follow up with self-paced material. If you&#8217;d like to help out, please <a href="mailto:info@software-carpentry.org">get in touch</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://software-carpentry.org/2012/02/were-going-to-be-busy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Online Tutorial</title>
		<link>http://software-carpentry.org/2012/02/first-online-tutorial/</link>
		<comments>http://software-carpentry.org/2012/02/first-online-tutorial/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 16:23:32 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Version 5.0]]></category>

		<guid isPermaLink="false">http://software-carpentry.org/?p=4492</guid>
		<description><![CDATA[Our first online tutorial with the folks at the Space Telescope Science Institute via Skype, and I think it worked well. Our setup was: The students got together in a meeting room. Each student brought their own laptop. One extra laptop was connected to the projector; its webcam was pointed at the room, so that [...]]]></description>
			<content:encoded><![CDATA[<p>Our first online tutorial with the folks at the <a href="http://www.stsci.edu">Space Telescope Science Institute</a> via Skype, and I think it worked well. Our setup was:</p>
<ul>
<li>The students got together in a meeting room. Each student brought their own laptop.</li>
<li>One extra laptop was connected to the projector; its webcam was pointed at the room, so that I could see the students, and its microphone (mostly) picked up their voices.</li>
<li>I shared my desktop, so that instead of seeing me, the students could see what I was viewing and typing.</li>
<li>I (mostly) used a full-screen terminal window, white on black, with an 18-point font, switching back and forth between my editor and running my evolving program on the command line.</li>
</ul>
<p>That was pretty much it, and as I said, I think it worked as well as live coding in the classroom works as a lecturing technique (which is pretty well). There were a few times when I wanted to see what was on their screens, and going forward, we&#8217;re going to have to find a way to do that. Overall, though, I think that using Skype for connecting, and native desktop tools for everything else, works better for small groups than things like Elluminate (now part of Blackboard) that try to do it all in one. I know it won&#8217;t scale to dozens of people, but this will certainly get us through the next six months. If anyone has tips to share, they&#8217;d be very welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://software-carpentry.org/2012/02/first-online-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Carpentry in a Minute and a Half</title>
		<link>http://software-carpentry.org/2012/02/software-carpentry-in-a-minute-and-a-half/</link>
		<comments>http://software-carpentry.org/2012/02/software-carpentry-in-a-minute-and-a-half/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 21:07:48 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[Content]]></category>
		<category><![CDATA[Version 5.0]]></category>

		<guid isPermaLink="false">http://software-carpentry.org/?p=4490</guid>
		<description><![CDATA[I&#8217;ve recorded a first draft of the quick introduction I mentioned yesterday. Feedback would be very welcome.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recorded a first draft of the quick introduction <a href="/2012/02/re-doing-the-three-minute-pitch/">I mentioned yesterday</a>. Feedback would be very welcome.</p>
<p><span id="more-4490"></span></p>
<p><a href="http://www.youtube.com/watch?v=ztRoeTrlQ6A"><img src="http://img.youtube.com/vi/ztRoeTrlQ6A/2.jpg"></a></p>
<p><a href="http://www.youtube.com/watch?v=ztRoeTrlQ6A">Click here</a> to view the video on YouTube.</p>

]]></content:encoded>
			<wfw:commentRss>http://software-carpentry.org/2012/02/software-carpentry-in-a-minute-and-a-half/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Where To Host Q&amp;A and Discussion?</title>
		<link>http://software-carpentry.org/2012/02/where-to-host-qa-and-discussion/</link>
		<comments>http://software-carpentry.org/2012/02/where-to-host-qa-and-discussion/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 13:52:39 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://software-carpentry.org/?p=4488</guid>
		<description><![CDATA[People have questions and want answers, or ideas and complaints they want to share. Right now, the only ways for them to do this on our site are: Mail us. Add a comment to a page or blog post. Um&#8230; that&#8217;s it. We experimented with forums last year, but they never reached critical mass (and [...]]]></description>
			<content:encoded><![CDATA[<p>People have questions and want answers, or ideas and complaints they want to share. Right now, the only ways for them to do this on our site are:</p>
<ol>
<li>Mail us.</li>
<li>Add a comment to a page or blog post.</li>
<li>Um&#8230; that&#8217;s it.</li>
</ol>
<p>We experimented with <a href="http://software-carpentry.org/forums/">forums</a> last year, but they never reached critical mass (and have since filled up with spam). What should we do going forward? Should we try to resurrect those forums? Set up a Q&amp;A mailing list? Or direct everyone to the <a href="http://scicomp.stackexchange.com/">computational science area at StackExchange</a>? The pros and cons as I see it are:</p>
<ol>
<li>Forums: hosted here, hence under our control (and could potentially be tightly integrated with the learning content), but really, the last thing the Internet needs is another place to look for information.</li>
<li>Mailing list: if there isn&#8217;t much traffic, it&#8217;s not useful; if there&#8217;s lots, people will mostly unsubscribe or tune out.</li>
<li>StackExchange: control (or lack of it) is an issue, but it&#8217;s well engineered, and once scientists get used to looking there, they might start using its siblings (like the original Stack Overflow).</li>
</ol>
<p>I&#8217;m obviously inclined to #3—what are your thoughts?</p>
<p><em>Later: as an experiment, I&#8217;ve <a href="http://scicomp.stackexchange.com/questions/1148/what-core-skills-should-every-computational-scientist-have">asked a question</a> on Stack Exchange about core computing skills for scientists. Please feel free to answer it (and vote it up <img src='http://software-carpentry.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</em></p>
]]></content:encoded>
			<wfw:commentRss>http://software-carpentry.org/2012/02/where-to-host-qa-and-discussion/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Re-doing the Three-Minute Pitch</title>
		<link>http://software-carpentry.org/2012/02/re-doing-the-three-minute-pitch/</link>
		<comments>http://software-carpentry.org/2012/02/re-doing-the-three-minute-pitch/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 19:27:45 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[Content]]></category>
		<category><![CDATA[Version 5.0]]></category>

		<guid isPermaLink="false">http://software-carpentry.org/?p=4487</guid>
		<description><![CDATA[It&#8217;s time to revise Software Carpentry&#8217;s three-minute pitch. Here&#8217;s what I think I need to say; as always, comments would be welcome. Opening slide: large logo, the title &#8220;Computing Skills for Scientists and Engineers&#8221;, and a small block at the bottom with the date and license. Our mission is to help scientists and engineers be [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time to revise Software Carpentry&#8217;s three-minute pitch. Here&#8217;s what I think I need to say; as always, comments would be welcome.</p>
<p><span id="more-4487"></span></p>
<p>Opening slide: large logo, the title &#8220;Computing Skills for Scientists and Engineers&#8221;, and a small block at the bottom with the date and license.</p>
<p>Our mission is</p>
<ul>
<li>to help scientists and engineers be more productive&#8230;</li>
<li>&#8230;by teaching them basic computing skills</li>
</ul>
<p>The problem is</p>
<ul>
<li>that scientists and engineers spend 40% or more of their time wrestling with software&#8230;</li>
<li>&#8230;but more than 95% are largely self-taught&#8230;</li>
<li>&#8230;so they spend hours doing what should take minutes&#8230;</li>
<li>&#8230;reinvent a <em>lot</em> of wheels&#8230;</li>
<li>&#8230;and still don&#8217;t know whether their results are reliable or not</li>
</ul>
<p>Our solution</p>
<ul>
<li>combines short, intensive workshops&#8230;</li>
<li>&#8230;with self-paced online instruction&#8230;</li>
</ul>
<p>The benefit is</p>
<ul>
<li>more confidence that computational results are correct</li>
<li>and <em>significant increases in productivity</em>&#8230;</li>
<li>&#8230;a day a week is common&#8230;</li>
<li>&#8230;and 10X isn&#8217;t rare</li>
</ul>
<p>Our workshops cover</p>
<ul>
<li>the core skills a researcher needs to know in order to be productive in a small team:</li>
<li>using version control to manage and share information</li>
<li>basic Python programming</li>
<li>how (and how much) to test programs</li>
<li>working with relational databases</li>
<li>using the shell to do more in less time</li>
<li>Basically, everything you should know <em>before</em> you tackle things with &#8220;cloud&#8221; or &#8220;peta&#8221; in their name</li>
</ul>
<p>Our online instruction</p>
<ul>
<li>goes into these topics in more detail&#8230;</li>
<li>&#8230;and continues with:</li>
<li>program design and construction</li>
<li>matrix programming</li>
<li>using spreadsheets in a disciplined way</li>
<li>data management</li>
<li>development lifecycles</li>
</ul>
<p>Our content is</p>
<ul>
<li>all available online&#8230;</li>
<li>&#8230;under a Creative Commons license&#8230;</li>
<li>&#8230;so you are free to re-use and re-mix it</li>
</ul>
<p>Our work is supported by</p>
<ul>
<li>The Sloan Foundation</li>
<li>The Mozilla Foundation</li>
</ul>
<p>And has been supported in the past by</p>
<ul>
<li>Michigan State University</li>
<li>Indiana University</li>
<li>Microsoft</li>
<li>Queen Mary University London</li>
<li>MITACS</li>
<li>SHARCNET</li>
<li>The Software Sustainability Institute</li>
<li>SciNet</li>
<li>The UK Met Office</li>
<li>The MathWorks</li>
<li>The University of Toronto</li>
<li>Enthought</li>
<li>The Python Software Foundation</li>
<li>The Space Telescope Science Institute</li>
<li>Los Alamos National Laboratory</li>
</ul>
<p>We also depend on contributions from people like you, who</p>
<ul>
<li>give us feedback&#8230;</li>
<li>&#8230;create lessons and exercises&#8230;</li>
<li>&#8230;and organize and deliver workshops</li>
</ul>
<p>For more information, to get involved, or for help organizing a workshop, please</p>
<ul>
<li>visit us online at http://software-carpentry.org&#8230;</li>
<li>&#8230;follow @swcarpentry on Twitter&#8230;</li>
<li>&#8230;or email info@software-carpentry.org</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://software-carpentry.org/2012/02/re-doing-the-three-minute-pitch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reorganizing This Web Site</title>
		<link>http://software-carpentry.org/2012/01/reorganizing-this-web-site/</link>
		<comments>http://software-carpentry.org/2012/01/reorganizing-this-web-site/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 21:12:52 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[Version 5.0]]></category>

		<guid isPermaLink="false">http://software-carpentry.org/?p=4477</guid>
		<description><![CDATA[It&#8217;s time to reorganize this web site. Here&#8217;s my plan; comments would be welcome. In particular, WordPress might not be the right tool to use going forward, but I&#8217;m not sure what else would be as easy to set up and maintain. Overall design: the logo and &#8220;Software Carpentry&#8221; always appear at the top, along [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time to reorganize this web site. Here&#8217;s my plan; comments would be welcome. In particular, WordPress might not be the right tool to use going forward, but I&#8217;m not sure what else would be as easy to set up and maintain.</p>
<p><span id="more-4477"></span></p>
<p>Overall design: the logo and &#8220;Software Carpentry&#8221; always appear at the top, along with a Javascript site menu; pages are fixed width (and all of that width is taken up with content—no sidebars); the footer contains a copyright notice and links to half a dozen pages (About, Contact, License, etc.). These footer links are redundant, since those links are in the Javascript menus as well, but this makes them more visible.</p>
<p>The Home Page: display a short text blurb about Software Carpentry and a 3-minute video; has a 2×2 grid, each cell of which has an icon and a line of text to take people to &#8220;About&#8221;, &#8220;News&#8221;, &#8220;Lessons&#8221;, and &#8220;Training&#8221;.</p>
<p>About: a longer blurb about Software Carpentry (several paragraphs), and links to three sub-pages:</p>
<ul>
<li>Sponsors: brief note on how to contact us to sponsor; a logo and blurb for each current sponsor; a logo and name for past sponsors.</li>
<li>Contributors: brief note on how to contact us to contribute, and the kinds of contributions we want; a photo and short bio for each contributor.</li>
<li>Impact (replaces &#8220;Testimonials&#8221;): pull quotes from past students, a summary of how we&#8217;re assessing things now and what results we&#8217;ve found; links to PDFs of scholarly papers.</li>
<li>Elsewhere: a list of related courses and materials (people can submit links, but they need approval before posting).</li>
</ul>
<p>News (replaces &#8220;Blog&#8221;): our blog, but with WordPress navigation on a separate page rather than cluttering things up in a sidebar. We should also display recent mentions on Twitter somewhere.</p>
<p>Lessons (replaces &#8220;Lectures&#8221;): the main page is a point-form list of topic and lesson titles, each linking to the appropriate page. The page for Topic PQR has its title, a paragraph about the topic, a list of lessons (each decorated with keywords, duration, and links for downloading audio, video, HTML, PowerPoint, PDF, etc.), and comments. The page for Lesson XYZ shows the topic title (PQR) and the lesson title; the slideshow or video; some up/next/previous links; download links for audio, video, and other formats; exercises; and comments (which may be on the lesson as a whole, on particular slides, or on particular points in or ranges of video). The &#8220;Lessons&#8221; section also has:</p>
<ul>
<li>Reading (our annotated bibliography;</li>
<li>Glossary;</li>
<li>Version 4: a page showing a list of lists of links to pages of older material (the stuff we have now); and</li>
<li>Version 3: a page showing a similar list of lists of links to even older material.</li>
</ul>
<p>Training (replaces &#8220;Boot Camps&#8221;): displays a map and calendar (preferably side-by-side) and links to per-workshop pages. The page &#8220;Training ABC/Date&#8221; is for on-site training at a specific site on a specific date. The &#8220;Past Events&#8221; page is just a list of links to old training pages.</p>
<p>Contact: our email addresses, a link to our Twitter account, and contact info for organizers of upcoming training. (This last also appears on each workshop&#8217;s page, but there&#8217;s no harm duplicating it.)</p>
<p>License: the full text of our Creative Commons and BSD licenses.</p>
]]></content:encoded>
			<wfw:commentRss>http://software-carpentry.org/2012/01/reorganizing-this-web-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learners and Their Needs</title>
		<link>http://software-carpentry.org/2012/01/learners-and-their-needs/</link>
		<comments>http://software-carpentry.org/2012/01/learners-and-their-needs/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 15:43:27 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[Content]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Version 5.0]]></category>

		<guid isPermaLink="false">http://software-carpentry.org/?p=4467</guid>
		<description><![CDATA[I originally wrote these descriptions as part of a post on formats for learning material. I&#8217;m finding them useful in other contexts as well, so I&#8217;m re-posting them separately. Our description of our audience describes four scientific users in more detail. Zuzel likes textbooks. More specifically, she likes prose that she can read and re-read [...]]]></description>
			<content:encoded><![CDATA[<p>I originally wrote these descriptions as part of a post on <a href="/2012/01/never-mind-the-content-what-about-the-format/">formats for learning material</a>. I&#8217;m finding them useful in <a href="/2012/01/terminology/">other contexts</a> as well, so I&#8217;m re-posting them separately. Our description of <a href="/about/audience/">our audience</a> describes four scientific users in more detail.</p>
<p><span id="more-4467"></span></p>
<ul>
<li><em>Zuzel</em> likes textbooks. More specifically, she likes prose that she can read and re-read at leisure. She&#8217;ll use a tablet, but would rather listen to music while she learns than to someone lecturing.</li>
<li><em>Yeleina</em> prefers interactive learning. She wants to see things evolve on the whiteboard or on the screen; recordings of live coding sessions with voiceover are OK, but slide after slide of bullet points puts her to sleep. She also wants to be able to share ideas about learning content with her peers.</li>
<li><em>Xanthe</em> is a surfer, not a diver—she wants to skim the pages that Giggle searches turn up and piece things together herself. Bullet points and brief sentences work well for her, particularly in areas she&#8217;s already familiar with.</li>
<li><em>Wafiya</em> teaches programming at a city library. She needs to remix content created by other educators to meet her learners&#8217; needs, but doesn&#8217;t have a lot of time to do so. She also needs to be able to find content that fits into her (individualized and group) learning plans.</li>
<li><em>Veronique</em> is a programmer who is passionate about teaching. She spends several hours a week writing short tutorials, answering questions in Stuck Underflow and other online forums, and occasionally recording screencasts. She&#8217;d like to do more with less effort (she finds today&#8217;s tools frustrating), to make the content she&#8217;s creating more useful, and to get more feedback from its users.</li>
<li><em>Ursula</em>&#8216;s preferences are more constrained than Zuzel&#8217;s, Yeleina&#8217;s, or Xanthe&#8217;s because she is visually impaired. Her main assistive aid, a screen reader, can only &#8220;see&#8221; text (captions in PNG or JPEG images don&#8217;t count), and becomes confused when pages are modified in place by Javascript.</li>
<li><em>Tahura</em> is an assistant professor at a medium-sized university. She has to teach three undergraduate courses each year, one of which is always &#8220;Introduction to Scientific Programming&#8221;. While she&#8217;d like to experiment with new teaching methods, her priority right now is to get tenure, so she (reluctantly) sticks to the university&#8217;s traditional format: three hour-long lectures a week, one homework exercise every three weeks, a midterm, and a final exam.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://software-carpentry.org/2012/01/learners-and-their-needs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Terminology</title>
		<link>http://software-carpentry.org/2012/01/terminology/</link>
		<comments>http://software-carpentry.org/2012/01/terminology/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 14:35:59 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[Content]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Version 5.0]]></category>

		<guid isPermaLink="false">http://software-carpentry.org/?p=4465</guid>
		<description><![CDATA[Before going further with the redesign of the Software Carpentry curriculum, I need to define a few terms and their relationships. These definitions refer to another post on learners and their needs, which you may want to read first. A concept is an atom of learning. It can be a fact (e.g., what a call [...]]]></description>
			<content:encoded><![CDATA[<p>Before going further with the <a href="/2012/01/take-out-agile-and-add-what/">redesign of the Software Carpentry curriculum</a>, I need to define a few terms and their relationships. These definitions refer to another post on <a href="/2012/01/learners-and-their-needs/">learners and their needs</a>, which you may want to read first.</p>
<p><span id="more-4465"></span></p>
<ul>
<li>A <em>concept</em> is an atom of learning. It can be a <em>fact</em> (e.g., what a call stack is), a <em>technique</em> (e.g., how to pass parameters to a function), or a <em>rule</em> (e.g., when to copy data).</li>
<li>An <em>association</em> is any connection between two concepts. Obviously, all concepts in a topic should be strongly associated.</li>
<li>A <em>dependency</em> is a prerequisite association between two concepts. Circular dependencies may exist (you can&#8217;t understand A unless you understand B, which depends on C, which in turn depends on A), but we&#8217;ll work hard to avoid such cycles, since every particular learner encounters concepts in some sequential order.</li>
<li>A <em>topic</em> is a set of related concepts; for example, the topics &#8220;Parameters&#8221; includes all of the concepts described above. A concept may be part of several topics, but for learning purposes, we would like its first appearance <em>for an individual learner</em> to be gentler than subsequent appearances for that same learner.</li>
<li>A <em>lesson</em> is an atom of teaching. It will typically comprise a small number (1-4) of closed-related concepts, and be a few minutes long. Where possible, it should be followed immediately by some kind of reinforcement (discussed below). A concept may appear in several lessons (same idea, different contexts).</li>
<li>A <em>tutorial </em>is a specific sequence of lessons on related topics; for example, the tutorial &#8220;Functions&#8221; would include lessons on parameters, returning values, and so on. Tutorials aren&#8217;t strictly necessary for free-range learners—they can go through lessons in any order that respects dependencies—but we must define them:
<ul>
<li>to give learners like Zuzel the larger narrative arcs they need (learners like Xanthe only need lessons); and</li>
<li>to give instructors like Tahura, who are working in traditional classroom settings, guidance on how to fill an hour-long lecture.</li>
</ul>
</li>
<li><em>Reinforcement </em>is something done to help people absorb a concept, such as further examples, class discussion, quizzes, or exercises. All four are problematic:
<ul>
<li>Further examples are based on guesses of what learners might not have understood correctly; such guesses are often wrong.</li>
<li>Class discussion is hard to implement for asynchronous, self-directed learners.</li>
<li>Multiple choice quizzes can mislead or frustrate learners (most questions have more than one right answer), or fail to clear up learners&#8217; misconceptions (&#8220;You&#8217;re wrong, but I won&#8217;t tell you why&#8221;).</li>
<li>Long-answer quizzes and exercises require a human assessor&#8217;s attention (which is also hard to implement for asynchronous learners).</li>
</ul>
</li>
<li><em>Assessment</em>is anything done to determine how well something else has been done. &#8220;How well&#8221; is important: assessment will not always (or even usually) be black-and-white. Specific kinds are:
<ul>
<li><em>formative</em> assessment, which provides short-term diagnostic feedback to learners and teachers;</li>
<li><em>summative</em> assessment, which demonstrates attainment of some level; and</li>
<li><em>evaluative</em> assessment, which tell us how well the teaching is working.</li>
</ul>
<p>Formative assessment is a kind of reinforcement; summative and evaluative are (usually) not.</li>
</ul>
<p>The diagram below shows these relationships. I&#8217;ve drawn most relationships as many-to-many, but in practice, we hope that most will actually be one-to-many, i.e., that concepts will fit neatly into topics, and topics into lessons. The one-to-one relationship between summative assessments and topics is also a bit misleading: what it&#8217;s meant to imply is that any particular learner will eventually demonstrate mastery of some topic (e.g., Yeleina will show that she understands functions). This is the smallest &#8220;chunk&#8221; for which we&#8217;d contemplate awarding a badge, though as <a href="/2012/01/badging/">discussed earlier</a>, we&#8217;re going to start with something coarser-grained.</p>
<p><a href="http://software-carpentry.org/blog/wp-content/uploads/2012/01/syllabus.png"><img class="alignnone size-full wp-image-4466" title="syllabus" src="http://software-carpentry.org/blog/wp-content/uploads/2012/01/syllabus.png" alt="" width="648" height="361" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software-carpentry.org/2012/01/terminology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our Long Tail</title>
		<link>http://software-carpentry.org/2012/01/our-long-tail/</link>
		<comments>http://software-carpentry.org/2012/01/our-long-tail/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 23:51:53 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[Noticed]]></category>

		<guid isPermaLink="false">http://software-carpentry.org/?p=4433</guid>
		<description><![CDATA[Frequency a page is viewed (as a percentage of total views) vs. pages (ordered by frequency); data taken over the last 90 days. I guess there&#8217;s something to this &#8220;long tail&#8221; stuff after all.]]></description>
			<content:encoded><![CDATA[<p><a href="http://software-carpentry.org/blog/wp-content/uploads/2012/01/longtail.png"><img class="alignnone size-medium wp-image-4434" title="longtail" src="http://software-carpentry.org/blog/wp-content/uploads/2012/01/longtail-300x180.png" alt="" width="300" height="180" /></a></p>
<p>Frequency a page is viewed (as a percentage of total views) vs. pages (ordered by frequency); data taken over the last 90 days. I guess there&#8217;s something to this &#8220;long tail&#8221; stuff after all.</p>
]]></content:encoded>
			<wfw:commentRss>http://software-carpentry.org/2012/01/our-long-tail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Never Mind the Content, What About the Format?</title>
		<link>http://software-carpentry.org/2012/01/never-mind-the-content-what-about-the-format/</link>
		<comments>http://software-carpentry.org/2012/01/never-mind-the-content-what-about-the-format/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 19:50:35 +0000</pubDate>
		<dc:creator>Greg Wilson</dc:creator>
				<category><![CDATA[Content]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Version 5.0]]></category>

		<guid isPermaLink="false">http://software-carpentry.org/?p=4431</guid>
		<description><![CDATA[I&#8217;m still gnawing on the problem of how to construct content for 21st Century learning—or, more prosaically, what I should use to build the next version of Software Carpentry. My starting point is the need to serve several different kinds of users [1], whose descriptions I have moved to a separate post on learners and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m still gnawing on the problem of how to construct content for 21st Century learning—or, more prosaically, what I should use to build the next version of <a href="http://software-carpentry.org">Software Carpentry</a>. My starting point is the need to serve several different kinds of users [<a id="a1" href="#f1">1</a>], whose descriptions I have moved to a separate post on <a href="/2012/01/learners-and-their-needs/">learners and their needs</a>.</p>
<p><span id="more-4431"></span>Their learning options today are:</p>
<ul>
<li><em>Textbook</em>: big blocks of prose in some narrative order, with pictures, either printed or electronic, read at the learner&#8217;s pace, alone.
<ul>
<li>Zuzel likes this.</li>
<li>Yeleina doesn&#8217;t.</li>
<li>Xanthe uses content out of order via the index or search bar.</li>
<li>Wafiya remixes content from several textbooks to create lessons (by photocopying, merging PDFs, or whatever). Like Zuzel, she has read content in order, but like Xanthe, she mainly uses the index now.</li>
<li>Veronique has thought about writing one, but (a) doesn&#8217;t think she has that much to say about any single topic, and (b) is put off by the effort that would be required.</li>
<li>Note: the comments below about the difficulty of copying, pasting, and altering also apply to electronic textbooks, as do the proposed remedies.</li>
</ul>
</li>
<li><em>Static slideshow</em>: a page-by-page dump of a PowerPoint deck, possibly accompanied by a transcript of what the lecturer would say when delivering it.
<ul>
<li>Zuzel uses this as if it were a badly-written textbook, with the transcript as the prose and the slides as diagrams.</li>
<li>Yeleina finds it distracting to switch attention back and forth from slides to transcript.</li>
<li>Xanthe searches the transcript to find what she wants, then curses because her search engine can&#8217;t &#8220;see&#8221; the text in the slides. She also hates the fact that she can&#8217;t copy and paste the code in the slides (since they&#8217;re PNGs embedded in a web page).</li>
<li>Wafiya remixes this content like any other. She&#8217;s too polite to curse, but she finds it tedious to re-type the code that&#8217;s shown in the slides (but isn&#8217;t duplicated as text in the accompanying transcript). She&#8217;s also finds it wearying to have to re-do diagrams: since the slides are PNGs, it&#8217;s difficult for her to copy part of a slide, move its elements around, and add a few of her own.</li>
<li>Veronique doesn&#8217;t create material in this format because she thinks it&#8217;s old-fashioned and not useful.</li>
<li>Note: source code can be made available as copy-and-pasteable text directly in the page, or for download; diagrams can similarly be made available as SVGs to facilitate remixing. Doing either currently requires considerable extra work on the part of content creators.</li>
</ul>
</li>
<li><em>Voice-over slideshow screencast</em>: a video recording of the slides (as they would appear on screen in a lecture) with someone speaking over them, and subtitles.
<ul>
<li>Zuzel ignores the video and reads the transcript as if it were a static slideshow. If a transcript isn&#8217;t available, she (reluctantly) watches the video.</li>
<li>Yeleina prefers this to a static slideshow, but prefers the doodling screencast described below even more.</li>
<li>Xanthe hits the &#8220;back&#8221; button as soon as she realizes it&#8217;s a video (unless there&#8217;s a transcript, in which case she curses because she can&#8217;t copy and paste code out of a video).</li>
<li>Wafiya directs students like Yeleina to these, but finds them harder to remix than other formats.</li>
<li>Veronique thinks this format is also old-fashioned and not useful.</li>
<li>Note: I&#8217;m assuming the subtitles are duplicated as a transcript, or available in some other searchable form. I&#8217;m also assuming that code is available for donwload or duplicated in the page for coying and pasting, though all of this requires extra work.</li>
</ul>
</li>
<li><em>Voice-over doodling screencast</em>: a Khan Academy-style recording of someone doodling on a tablet or coding live.
<ul>
<li>Zuzel treats this like a slideshow screencast.</li>
<li>Yeleina likes this format a lot, particularly if she can add comments at specific points and see her peers&#8217; comments.</li>
<li>Xanthe has mixed feelings: she dislikes explanations delivered this way, but frequently watches &#8220;how to&#8221; videos, since they&#8217;re more likely to be accurate and complete than written descriptions.</li>
<li>Wafiya treats these like slideshow screencasts.</li>
<li>Veronique creates these fairly regularly: they&#8217;re easy to do, and easy to re-do when systems change or she discovers a mistake.</li>
<li>Note: I&#8217;m making the same assumptions about transcripts, code, and diagrams as above.</li>
</ul>
</li>
<li><em>Recorded whiteboard lecture</em>: someone with a camera has recorded someone giving a lecture in a lecture hall, and spliced that with whatever was on the lecturer&#8217;s screen.
<ul>
<li>Zuzel treats this like any other screencast.</li>
<li>Yeleina prefers this to doodling screencasts because she can see the speaker&#8217;s body language.</li>
<li>Xanthe treats these like any other screencast, i.e., she&#8217;ll use it if there&#8217;s a searchable transcript and things to copy and paste, or if it&#8217;s a recording of a live &#8220;how to&#8221; coding session.</li>
<li>Wafiya treats these like slideshow screencasts.</li>
<li>Veronique doesn&#8217;t create these, partly because of the setup required, but also because she doesn&#8217;t think seeing her adds value—the lesson&#8217;s supposed to be about the stuff.</li>
<li>Note: I&#8217;m assuming an electronic whiteboard, since video of someone writing on an actual whiteboard is usually illegible.</li>
</ul>
</li>
<li><em>Radio drama</em>: a voice-only podcast-style presentation.
<ul>
<li>Zuzel ignores the audio and reads the text transcript.</li>
<li>Ditto for Yeleina.</li>
<li>Ditto for Xanthe.</li>
<li>Ditto for Wafiya.</li>
<li>Veronique doesn&#8217;t create these.</li>
<li>Note: but for Ursula, who is blind, this is the <em>only</em> format—all the others fold into it. She doesn&#8217;t need code samples as text for copying and pasting: she needs them so that her screen reader can tell her what&#8217;s that code contains.</li>
</ul>
</li>
<li><em>Star Wars</em>: high-quality video with custom animations, cut scenes, and other special effects.
<ul>
<li>Zuzel watches these sometimes, but doesn&#8217;t learn any more from them than she would from a slideshow.</li>
<li>Yeleina enjoys these, which means she pays more attention to them, which means she learns more (but no more than she&#8217;d learn from an engaging lecturer).</li>
<li>Xanthe doesn&#8217;t see the point. Unless something blows up.</li>
<li>Wafiya likes their high production values, and remixes the special effects segments frequently.</li>
<li>Veronique can&#8217;t afford to produce this kind of material.</li>
<li>Note: again, I&#8217;m making assumptions about transcripts, copy-and-pasting, etc.</li>
</ul>
</li>
<li><em>Write your own adventure</em>exploration: typically a set of connected ideas or challenges with explicit dependency information (i.e., you should/must learn A and B before tackling C).
<ul>
<li>Zuzel finds the lack of narrative difficult.</li>
<li>Yeleina enjoys these if each node in the graph is in one of her preferred formats. She enjoys them even more if she is exploring with peers.</li>
<li>Xanthe ignores the ordering and searches for what (she thinks) she needs. If content is locked down—i.e., if the system won&#8217;t let her see or search C until she&#8217;s &#8220;completed&#8221; A and B—she writes an angry tweet and moves on.</li>
<li>Wafiya likes this format for several reasons, but only if everything is always visible. First, it tells her how other teachers think ideas connect (something that is missing or out-of-band for other delivery formats). Second, it&#8217;s easy to remix: again, providing it&#8217;s open, she can reorder things as she thinks best for particular learners.</li>
<li>Veronique would like to do this, but has discovered that creating the metadata about dependencies and recommended paths is as hard as writing a textbook.</li>
</ul>
</li>
<li><em>Wander around</em>exploration: lots of little snippets, but no explicit dependency information.
<ul>
<li>Zuzel finds this even more difficult.</li>
<li>Yeleina likes this less than the &#8220;write your own adventure&#8221; format: she thinks it&#8217;s no different than just using Giggle to find things.</li>
<li>Xanthe likes this <em>because</em> it&#8217;s just like using Giggle searches. In fact, she uses every other format as if it were this one.</li>
<li>Wafiya feels the same way as Yeleina: she likes having stuff to remix, but she has to do that remixing before this material is useful to those of her students who aren&#8217;t as independent as Xanthe.</li>
<li>Veronique creates content like this almost without realizing it by answering questions at Stuck Underflow.</li>
</ul>
</li>
<li><em>Jam session</em>: a bunch of learners in a room working through material simultaneously.
<ul>
<li>Zuzel doesn&#8217;t like it: it&#8217;s too noisy for her to concentrate, and she can&#8217;t go back at her own pace to review.</li>
<li>Yeleina thinks this is the best&#8230; thing&#8230; ever.</li>
<li>Xanthe is Giggling for information as soon as the presenter tells people what the topic is, but will stop and watch carefully when the presenter is typing live on screen.</li>
<li>Wafiya can only book space to do this occasionally, and even then, she doesn&#8217;t enjoy improv teaching.</li>
<li>Veronique enjoys doing this—she&#8217;s volunteers with a local free-range learning group—but can only find time once every couple of months.</li>
<li>Note: in theory this can be combined with any of the formats above. In practice, it&#8217;s almost always short, live lectures interspersed with hands-on practical work.</li>
</ul>
</li>
<li><em>Personal tutoring</em>: one-to-one instruction, a.k.a. &#8220;pair learning&#8221;.
<ul>
<li>Zuzel doesn&#8217;t mind this, but she really does prefer books&#8230;</li>
<li>Yeleina actually prefers jam sessions, since they tend to be more lively.</li>
<li>Xanthe likes having someone available to answer questions on demand, but is happy Giggling on her own for most of what she needs.</li>
<li>Wafiya wishes she could do this with every one of her learners, but there simply aren&#8217;t enough hours in the day. The personalized lesson plans she draws up are the closest approximation she can manage.</li>
<li>Veronique does this a lot, but is frustrated that it doesn&#8217;t scale—she really wants to help more than one person at a time.</li>
</ul>
</li>
</ul>
<p>I&#8217;m sure some of the above is inconsistent or just plain wrong, but here are my takeaways:</p>
<ol>
<li><em>Different people want content in different formats.</em> Yeah, OK, we knew that already, but:</li>
<li><em>Everybody needs first-class content,</em> in the programming sense of the term. In practice, it means that every kind of content can be copied and pasted without losing its meaning. A bunch of colored pixels in an image that look like letters aren&#8217;t actually letters; if you copy a region of an image and paste it into a text editor, you don&#8217;t get the text [<a id="a2" href="#f2">2</a>]. Similarly, search engines like Giggle can&#8217;t &#8220;see&#8221; code evolving line-by-line in a video, so you can&#8217;t search for that. Together, I think that point #1 and point #2 imply that:</li>
<li><em>We need model-view separation in learning content.</em> I apologize for the computerese, but I don&#8217;t know any other way to say it. A model (more fully, data model) is how information is stored, while a view is how people interact with it. Models should be designed to be easy for computers to work with; views should be designed to meet human needs, and the plural there is important: different people want to interact with information in different ways, and even a single person may want to use different ways at different times. Search engines want the information that&#8217;s in the model, such as the captions on the boxes in a diagram, not some arbitrary view of it (like a bunch of pixels in a PNG). People usually want that as well when they&#8217;re remixing, since their goals are to combine that information with information from other sources, and/or to present that information in different ways (i.e., views).</li>
<li><em>We also need first-class metadata.</em> I haven&#8217;t been able to find a standard format for summarizing and exchanging lesson objectives, learning dependencies, and everything else needed to stitch individual facts together. The closest thing seems to be <a href="http://en.wikipedia.org/wiki/Sharable_Content_Object_Reference_Model">SCORM</a>, but I&#8217;d rather stick a fork in my eye [<a id="a3" href="#f3">3</a>]: it&#8217;s bloated, it mixes data models with meta-models with presentation layers with everything else its authoring committee could think of, and did I mention the fork? I <em>could</em> provide metadata as data, e.g., put a point-form list at the top of a lesson saying, &#8220;Here&#8217;s what you need to know before tackling this,&#8221; but that mixes model and view: since it&#8217;s just a convention, computers will have a hard time stitching things together accurately.</li>
<li>Finally, <em>we need social learning</em>. Even the Zuzels of this world learn best in collaboration with other people: peer learners are often better at understanding and clearing up misconceptions than instructors, and having a &#8220;running partner&#8221; helps people stay focused and motivated. This isn&#8217;t really a matter of format, though, but of the tooling used to deliver content, so I&#8217;ll skip over it below.</li>
</ol>
<p>OK, so how well do today&#8217;s tools and/or formats do by these measures? The fact that &#8220;PowerPoint&#8221; is both a tool and a format is one indication that the answer is going to be, &#8220;Not well.&#8221;</p>
<ul>
<li><em>Plain text</em>is highly searchable and remixable, plays nicely with accessibility aids (i.e., screen readers), and runs everywhere, but:
<ul>
<li>it doesn&#8217;t do diagrams (unless you count ASCII art);</li>
<li>it doesn&#8217;t directly support metadata (except by convention); and</li>
<li>it doesn&#8217;t separate models from views</li>
</ul>
</li>
<li><em>HTML</em> is also highly searchable and remixable—until you start doing dynamic updates with Javascript, at which point today&#8217;s search tools (and accessibility aids) can&#8217;t keep track of what&#8217;s going on. Unlike text, it provides standard ways to include other media, so we&#8217;ll delay discussion of images and video. And while it doesn&#8217;t offer a standard way of providing metadata out of the box, HTML5&#8242;s <a href="http://dev.w3.org/html5/spec/Overview.html#embedding-custom-non-visible-data-with-the-data-attributes">custom data attributes</a> were designed with exactly this kind of use in mind. And modern HTML partially separates models from views: I can use CSS to tell the rendering engine (e.g., a web browser) to display things differently for different use cases.</li>
<li><em>DocBook, LaTeX, and wiki text</em> separate models from views even more than HTML does. What&#8217;s in the file is a description of content, information about the content, and just enough formatting to make things pretty when viewed in specific ways, e.g., &#8220;Break the page here to avoid an orphaned line.&#8221; Diagrams and metadata can be handled the same way as it is for HTML; in fact, I can&#8217;t see any advantage these formats have over modern HTML any longer [<a id="a4" href="#f4">4</a>], so I&#8217;m going to take them off the table.</li>
<li><em>PNG</em> and other raster formats: fail the searchability and copy-and-paste tests.</li>
<li><em>SVG</em> and other vector formats: do better. Since (some of) the content and relationships are explicit, search engines can find things in SVGs, and you can actually select and copy a box or an arrow, rather than a region of pixels. It only goes so far—Visio-style information about &#8220;this arrow connects the box labeled A to the box labeled B&#8221; is mostly implicit—but it&#8217;s better than raster. I&#8217;ve seen people do entire lessons as a series of SVGs, or as one large SVG with progressive reveal; I&#8217;ll talk about this more below.</li>
<li><em>PowerPoint</em>and its kin: model, view, and authoring tool are inextricable from one another. You can copy and paste things, and modern search engines understand the format well enough to index textual content, but metadata is just a convention, and remixing takes a lot of work (even if the version you have is the original, rather than an exported ZIP file containing an HTML page that references PNG representations of the slides). That said, authoring rich presentations is easier than it is with HTML+SVG:
<ol>
<li>You use the same tool to create textual and graphical content, rather than having to switch between tools and stitch content together.</li>
<li>You can <em>connect</em> textual and graphical content, i.e., you can draw a circle around a word in one of your bullet points, then connect it with an arrow to a particular box in a diagram, just as you would when writing freehand on a whiteboard. This is what HTML-based slideshow packages lack: right now, they force authors to segregate text and graphics, which I view as a throwback to the era of hot metal typesetting.</li>
</ol>
<p>The fact is, most presenters continue to use PowerPoint (or something similar) because it makes it easy to create a reasonably good presentation in a reasonable amount of time [<a id="a5" href="#f5">5</a>]. HTML slideshow packages fail this test: authors must sacrifice the quality of the presentation (e.g., skip graphics, or embed segregated graphical files), and do a lot of non-content typing (tags, page IDs, and so on).</li>
<li><em>Video</em>: fails all the &#8220;first-class content&#8221; tests [<a id="a6" href="#f6">6</a>], and isn&#8217;t effective [<a id="a7" href="#f7">7</a>] unless:
<ul>
<li>authors have the resources to produce Star Wars-quality content [<a id="a8" href="#f8">8</a>], or</li>
<li>they&#8217;re showing learners how to do something, like dissecting a frog or using a debugger.</li>
</ul>
</li>
</ul>
<p>So after all of this, what do I actually want?</p>
<ol>
<li id="html5">I want content stored in HTML5 with purely semantic markup, so that it can be searched, copied and pasted, and styled for presentation in a variety of ways [<a id="a9" href="#f9">9</a>].</li>
<li id="vocabulary">I want an agreed-upon <code>meta</code> and <code>data-*</code> vocabulary for educational metadata, like dependencies, introduction of key terms, questions and answers, and so on. I want a similar vocabulary for commenting and other social interactions that plays nicely with things like the <a href="http://www.salmon-protocol.org/">Salmon protocol</a>.</li>
<li>I want an authoring tool (note the singular there) that lets me:
<ol>
<li id="authoring-wysiwyg">write and draw WYSIWYG instead of typing in tags and IDs;</li>
<li id="authoring-freehand">freely mix drawings and text; and</li>
<li id="authoring-channels">manage parallel streams (or channels), so that I can keep slide content, presenter&#8217;s notes, prose, and translations of all three into other languages together.</li>
</ol>
</li>
<li id="animate">I want to be able to animate my drawings and text, which is emphatically <em>not</em> the same as &#8220;embed video&#8221; (though I may want to do that too). Instead of recording the pixels drawn on the screen as I type Python into an editor, I want to record and play back the text that&#8217;s being created, so that learners can pause the animation, copy the text, and paste it somewhere else. Equally, instead of painting pixels to fool your eyes into believing that a box just moved off the screen, I want to move the damn box; once again, if you pause the animation, you should be able to click on the box, attach a comment to it, paste it into your own drawing, etc.</li>
</ol>
<p>Freeling mixing drawings and text feels like it ought to be doable today: we could either put the text in blocks inside a <code>canvas</code> element, or layer a transparent <code>canvas</code> over the page and dynamically resize it. Anchoring drawings to the underlying text (e.g., keeping the arrow from a term to the corresponding bit of the diagram in the right place) is &#8220;just&#8221; Javascript (for some value of &#8220;just&#8221;). Making it all WYSIWYG is just more Javascript [<a id="a10" href="#f10">10</a>].</p>
<p>But animation&#8230; Ah, that&#8217;s a big one. It&#8217;s an intrinsically hard problem, but canned effects can do a lot to put simple things within reach [<a id="a11" href="#f11">11</a>]. The big question is, how far do we push it? If I want to show you how to use a debugger, or how to draw something with a painting program, I can&#8217;t re-create the whole UI—I&#8217;m going to have to record pixels off a screen.</p>
<p>Or am I? I know this is never going to happen—we&#8217;re not that organized a species—but just imagine what the world would be like if every interface was built using HTML5 and CSS. Any tool at all could export widget descriptions and a semantic trace of what they did (i.e., &#8220;the file menu was pulled down&#8221; rather than &#8220;the cursor moved to pixel (132,172) and the user clicked&#8221;), and any other tool could consume it and play it back. The consuming tool might draw the widgets differently, or display the interactions in its own way, but that would be exactly the same as applying a different skin to the original tool [<a id="a12" href="#f12">12</a>].</p>
<p>Returning to this universe for a moment, we can <a href="#html5">store things as HTML5</a> right now—I&#8217;m already using it for Version 5 of <a href="http://software-carpentry.org">Software Carpentry</a>. I could create a <a href="#vocabulary">vocabulary</a> for instructional metadata, but I&#8217;m not an information architect. <a href="#authoring-wysiwyg">WYSIWYG authoring tools</a> for HTML5 abound, though the HTML5 they produce can be idiosyncratic (and doesn&#8217;t play nicely with version control, but that&#8217;s fixable). I haven&#8217;t seen a WYSIWYG tool that supports <a href="#authoring-freehand">freehand drawing mixed freely with text</a>, or one that supports <a href="#authoring-channels">parallel content streams</a>, but I think half a dozen people working could deliver something substantial in half a dozen months [<a id="a13" href="#f13">13</a>].</p>
<p>As for <a href="#animate">animation</a>, I think we&#8217;re stuck with video for now: prototyping an HTML5/SVG/Javascript animation framework for use in a learning tool would be a great research project, but we really do need to build a couple to throw away to find out if it&#8217;s workable. If you&#8217;d lke to tackle it, please <a href="mailto:gvwilson@third-bit.com">let me know</a>—I&#8217;d be happy to be your alpha tester.</p>
<p><strong>Notes</strong></p>
<p id="f1">[<a href="#a1">1</a>] There was a lot of talk in the 1980s and 1990s about different people having different learning styles, inspired in part on Gardner&#8217;s theory of multiple intelligences. The idea has mostly been <a href="http://en.wikipedia.org/wiki/Learning_styles#Criticism">discredited</a>, but like many memes, it lives on in popular culture.</p>
<p id="f2">[<a href="#a2">2</a>] Although I bet someone&#8217;s working on an Emacs mode to do that&#8230;</p>
<p id="f3">[<a href="#a3">3</a>] I&#8217;ve actually done this, so I know whereof I speak.</p>
<p id="f4">[<a href="#a4">4</a>] Except that LaTeX and wiki text require slightly less typing than HTML, but if you&#8217;re using a smart editor, even that advantage goes away.</p>
<p id="f5">[<a href="#a5">5</a>] Please don&#8217;t quote Tufte&#8217;s complaints about PowerPoint at me—I don&#8217;t think it encourages bad presentations any more than the tangled rules of English spelling and grammar encourage bad writing.</p>
<p id="f6">[<a href="#a6">6</a>] In particular, almost all video content makes life harder for the visually impaired: a screencast in which someone talks over themselves typing in an editor or sketching on a tablet is tantalizing but useless to someone who can&#8217;t see the pixels. I committed this sin when I created Version 4 of Software Carpentry; I&#8217;d like to do better in Version 5, and would like to see high-profile online learning sites make some kind of effort as well.</p>
<p id="f7">[<a href="#a7">7</a>] But wait a second: if video isn&#8217;t effective, why do MIT Open Courseware and the Khan Academy work so well? The short answer is, they mostly don&#8217;t: if you take out the 15% of people who can learn almost anything, no matter how it&#8217;s presented, watching videos and doing drill exercises <a href="http://fnoschese.wordpress.com/2011/12/02/you-khant-ignore-how-students-learn/">works less well than other options</a>. The longer answer is, watching a good teacher (and Khan is a <em>great</em> teacher) work through a problem, instead of just presenting the answer, moves the content into the &#8220;how to&#8221; category that video is well suited to.</p>
<p id="f8">[<a href="#a8">8</a>] Research dating back to the early 1990s shows that higher-quality material improves student retention. I don&#8217;t know whether it improves it <em>enough</em> to justify its higher production costs, though.</p>
<p id="f9">[<a href="#a9">9</a>] HTML5 will also help with version control, since I expect HTML5-aware diff-and-merge tools to start appearing Real Soon Now. Of course, I&#8217;ve been saying that for almost ten years&#8230;</p>
<p id="f10">[<a href="#a10">10</a>] These days, you can wave away almost any technical objection with &#8220;it&#8217;s just more Javascript&#8221;.</p>
<p id="f11">[<a href="#a11">11</a>] In my mind, the animation interface looks more like <a href="http://scratch.mit.edu/">Scratch</a> than it does like PowerPoint&#8217;s menus and dialogs. It definitely <em>doesn&#8217;t</em> require people to type in code, unless they want to create and share an entirely new kind of animation effect.</p>
<p id="f12">[<a href="#a12">12</a>] We could even call that format <a href="http://en.wikipedia.org/wiki/XUL">XUL</a>&#8230;</p>
<p id="f13">[<a href="#a13">13</a>] &#8220;6×6&#8243; is as big a team/timescale as I&#8217;m able to contemplate these days.</p>
]]></content:encoded>
			<wfw:commentRss>http://software-carpentry.org/2012/01/never-mind-the-content-what-about-the-format/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.986 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-04 03:39:26 -->
<!-- Compression = gzip -->
