<?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>Greg and Kat's blog &#187; Work</title>
	<atom:link href="http://gregbaker.ca/blog/category/work/feed/" rel="self" type="application/rss+xml" />
	<link>http://gregbaker.ca/blog</link>
	<description>Tales from Greg and Kat, in NC and elsewhere.</description>
	<lastBuildDate>Thu, 24 Jun 2010 20:16:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>How to not attend a lecture</title>
		<link>http://gregbaker.ca/blog/2010/05/28/how-to-not-attend-a-lecture/</link>
		<comments>http://gregbaker.ca/blog/2010/05/28/how-to-not-attend-a-lecture/#comments</comments>
		<pubDate>Fri, 28 May 2010 07:06:10 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1009</guid>
		<description><![CDATA[I teach at a university. That comes with certain parameters: most of my students are in their late teens or early twenties, the average student is reasonably bright but occasionally unmotivated, and I don&#8217;t really have any way to compel students to come to lectures. I do my best to give interesting, informative, and entertaining [...]]]></description>
			<content:encoded><![CDATA[<p>I teach at a university.  That comes with certain parameters: most of my students are in their late teens or early twenties, the average student is reasonably bright but occasionally unmotivated, and I don&#8217;t really have any way to compel students to come to lectures.</p>
<p>I do my best to give interesting, informative, and entertaining lectures.  I&#8217;m successful enough that most students come most of the time, and that&#8217;s awesome.</p>
<p>Sometimes students don&#8217;t come to lecture.  They don&#8217;t need a good reason, and they don&#8217;t have to tell me about it.  I&#8217;m okay with that too: part of being at university is being responsible about that kind of thing and I&#8217;m happy to assume that whatever reason they have is a good one.</p>
<p>But what really annoys me is when students feel the need to email me, tell me the stupid reason they didn&#8217;t come to lecture, and then ask me to tell them what I covered.</p>
<p>I already spent an hour (or three hours) of my time giving the lecture and they had an opportunity to attend.  I put a great deal of time and effort into explaining the material in the best way I can and pointing out the things that I think are important.  I did all of this because I think I can actually do a decent job of getting material across in the lecture format and I think the material I&#8217;m talking about is important.</p>
<p>These emails leave me with two choices: (1) reduce a carefully-prepared lecture to a pointless list of topics and thus implying that I might as well have read them the textbook, or (2) spending another hour repeating the lecture in email form.  Neither one of those is very attractive, but there&#8217;s also the third option that I have started to avail myself of: telling the students to shove off.</p>
<p>I&#8217;ll say here what I said to my CMPT 165 class last semester: if you miss a lecture, you ask a friend in the class for their notes.  If you don&#8217;t have a friend in the class, ask the person sitting beside you; if at all possible, try to do this when you are sitting beside someone who you find attractive and offer to buy them coffee in return.</p>
<p>Seriously&hellip; do I have to explain everything?</p>
<p>cf. <a href="http://www.management-issues.com/2006/8/24/research/the-scourge-of-the-entitlement-generation.asp">entitlement generation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/05/28/how-to-not-attend-a-lecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMPT 383: for real this time</title>
		<link>http://gregbaker.ca/blog/2010/04/19/cmpt-383-for-real-this-time/</link>
		<comments>http://gregbaker.ca/blog/2010/04/19/cmpt-383-for-real-this-time/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 01:09:07 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=991</guid>
		<description><![CDATA[I have mentioned here before that I was planning to teach CMPT 383. It ended up being a no-go this semester because of a very productive capstone project team (more on that later). But, I&#8217;m on-deck to teach it in the summer. The class is full; the waiting list is full; must be time to [...]]]></description>
			<content:encoded><![CDATA[<p>I have mentioned here before that <a href="http://gregbaker.ca/blog/2009/07/07/cmpt-383/">I was planning to teach CMPT 383</a>.  It ended up being a no-go this semester because of a <a href="http://gregbaker.ca/blog/2009/12/01/spring-plan-ddp-projects/">very productive capstone project team</a> (more on that later).</p>
<p>But, I&#8217;m on-deck to teach it in the summer.  The class is full; the waiting list is full; must be time to plan a course.  After much soul-searching, I have decided there will be three main topics in the course and they will be covered in this order:</p>
<dl>
<dt>Functional programming (and Haskell)</dt>
<dd>
<p>
This will be most students&#8217; first introduction to a non-imperative programming paradigm (and associated language).  Every little while I think this won&#8217;t take long, then I remember the list of things that have to be introduced to get anywhere with Haskell: being really good at recursion, list comprehensions, lazy evaluation, type inference, higher-order functions, and other stuff to be discovered as I try to teach the language.</p>
<p>
From my perspective, there are two reasons to be talking about functional programming. First, it&#8217;s finding some relevance, probably because people want to parallelize things (e.g. <a href="http://couchdb.apache.org/">CouchDB</a>).  Second, there are important lessons from functional programming that can be <a href="http://http://www.harukizaemon.com/2010/03/functional-programming-in-object-oriented-languages.html">transferred to OO programming</a>.
</p>
</dd>
<dt>&#8220;Language Features&#8221;</dt>
<dd>
<p>This section contains the big concepts of the course: type systems (static/dynamic, strong/weak, type coercion, duck-typing, late/early binding, &hellip;), interpreted vs compiled, pointers vs references, memory management, reflection, runtime environments, first-class functions, objects, exceptions, mutable/immutable objects, &hellip;.</p>
<p>The basic question here is: what are the real differences between the programming languages you have to choose from?  How might they affect your choice of language for a project?</p>
</dd>
<dt>Logic programming (and Prolog)</dt>
<dd>
<p>As much as I am aware that Prolog is pretty much confined to old school AI researchers, I still think there&#8217;s some value in being exposed to logic programming. It should be possible to translate back to the OO world the idea of expressing a problem as a series of constraints and then looking to satisfy those constraints.</p>
<p>To be fair, this is the chunk I am most unsure of.  Part of the reason it comes last is that if anything should fall off the end of a full semester, it&#8217;s this.</p>
</dd>
</dl>
<p>The exact balance of the topics remains to be seen.  I&#8217;ll guess 5 weeks, 5 weeks, 3 weeks.</p>
<p>As for getting marks, I am as far as:</p>
<ul>
<li>Lab exercises: weekly hour-or-two chances to practice the concrete skills.</li>
<li>Assignments: like&hellip; two of them?  One Haskell, one Prolog?</li>
<li>Project: pick a somewhat obscure language from a list I provide.  Explore it by writing a report and some programs with it.</li>
<li>A midterm and a final exam.</li>
</ul>
<p>No idea what I&#8217;ll ask on the exams.  Maybe Warren has some old ones I can look at.</p>
<p>So there it is.  Unless I change my mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/04/19/cmpt-383-for-real-this-time/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The History of HTML</title>
		<link>http://gregbaker.ca/blog/2010/03/19/the-history-of-html/</link>
		<comments>http://gregbaker.ca/blog/2010/03/19/the-history-of-html/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 15:46:21 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=983</guid>
		<description><![CDATA[After a simple query from a colleague about the differences between HTML versions, I wrote this. I thought I might as well post it. Everything was from-memory, so there may be some minor errors. HTML 1 never existed (it was the informal &#8220;standard&#8221; that the first documentation implied). HTML 2 was a really minimal initial [...]]]></description>
			<content:encoded><![CDATA[<p>After a simple query from a colleague about the differences between HTML versions, I wrote this.  I thought I might as well post it.  Everything was from-memory, so there may be some minor errors.</p>
<p>HTML 1 never existed (it was the informal &#8220;standard&#8221; that the first documentation implied).</p>
<p>HTML 2 was a really minimal initial description of the language.  The language was simple because the initial goals were simple.  The browser makers made many <i class="latin">de facto</i> extensions to this by implementing random stuff.</p>
<p>HTML 3 was an abandoned attempt to standardize everything and the kitchen sink.  HTML 3.2 was a really ugly standard that was basically &#8220;here&#8217;s what browsers accept today.&#8221;</p>
<p>Which brings us to modern history&hellip;</p>
<p>HTML 4 was an attempt to clean up the language: get rid of the visual stuff and make HTML a semantic markup language again.  It included the transitional version (with most of the old ugly stuff) and strict version (as things should be).</p>
<p>HTML 4.01 was a minor change: missed errors and typos.</p>
<p>XHTML 1.0 is HTML 4.01 but with XML syntax: closing empty tags with the slash, everything lowercase, attribute values quotes, etc.</p>
<p>XHTML 1.1 contains some minor changes, but was abandoned in a practical sense because nobody saw any point to the change.  XHTML 2.0 was another very ambitious change (non-backwards compatible changes to the language) that was abandoned.</p>
<p>HTML 5 is in-progress of being standardized now.  If you ask me, there are two camps driving it.  One who thinks &#8220;the web is more about more than just simple web pages now: applications and interactivity rule the day&#8221; and another who thinks &#8220;closing our tags is too hard; I don&#8217;t understand what a doctype is: make it easier. Dur.&#8221;</p>
<p>As a result, there are some things I like and some things I don&#8217;t.  I is showing signs of something that will actually be completed and used (unlike HTML 3 and XHTML 2).</p>
<p>Most people don&#8217;t know that the HTML 5 standard includes an XHTML version as well.  It will be perfectly legal to write HTML 5 with the XML syntax and call it &#8220;XHTML 5&#8243;.</p>
<p>Addendum:  The moral of the story is that I have no intention of teaching HTML 5 anywhere until the standards process is done.  For 165 I also need real browser support: no JS/DOM hack to get IE to work, and some defaults in the system stylesheet to let the thing display reasonably without any CSS applied.  Even then I will probably teach <strong>X</strong>HTML 5 because I think it promotes the right habits.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/03/19/the-history-of-html/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My Minimal Setup</title>
		<link>http://gregbaker.ca/blog/2010/01/06/my-minimal-setup/</link>
		<comments>http://gregbaker.ca/blog/2010/01/06/my-minimal-setup/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 04:37:00 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=946</guid>
		<description><![CDATA[I just got a new netbook: an Asus Eee 1005HA. As my old tablet got slowly older, I realized that I don&#8217;t really have heavy laptop demands: most of my use is a text editor and &#8220;hey look at this web page&#8221; in lectures. Even when away from the lecture hall, I tend to work [...]]]></description>
			<content:encoded><![CDATA[<p>I just got a new netbook: an <a href="http://eeepc.asus.com/global/product1005ha.html">Asus Eee 1005HA</a>.</p>
<p>As my old tablet got slowly older, I realized that I don&#8217;t really have heavy laptop demands: most of my use is a text editor and &#8220;hey look at this web page&#8221; in lectures.  Even when away from the lecture hall, I tend to work primarily in a text editor (for LaTeX, HTML, Python, etc.), Thunderbird, and Firefox.  I&#8217;m not exactly putting a big strain on the system, and can trade off power for small and light.</p>
<p>As always, there&#8217;s a big difference between the average stock setup and what I need to get some work done.  Bridging this gap is a hassle, so I&#8217;m going to finally record what I need so I can look it up next time.</p>
<p>The new Eee is dual-booting Windows 7 and Ubuntu (Karmic netbook remix).  Yay to Asus for shipping with a second &#8220;data&#8221; partition on the drive that was dead-easy to put Ubuntu on.</p>
<p>I&#8217;m open to must-have software suggestions that I missed.  I&#8217;ll probably add more below as I find stuff I missed.</p>
<h4>In Windows</h4>
<ul>
<li><a href="http://www.mozilla.com/firefox/">Firefox</a></li>
<li>A text editor, usually <a href="http://www.crimsoneditor.com/english/download.html">Crimson</a></li>
<li><a href="http://winscp.net/eng/download.php">WinSCP</a> (or some other SCP and maybe SSH client)</li>
<li>For 165: <a href="http://www.python.org/download/">Python</a>, <a href="http://www.gimp.org/downloads/">GIMP</a>, maybe <a href="http://www.inkscape.org/download/?lang=en">Inkscape</a></li>
<li><a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a> (if there&#8217;s a possibility of development happening)</li>
<li><a href="http://www.clamwin.com/">ClamWin</a></li>
</ul>
<h4>In Ubuntu</h4>
<ul>
<li><code>rsync</code> (As far as I&#8217;m concerned it&#8217;s negligent to have an operating system install without rsync.)</li>
<li><code>subversion</code></li>
<li><code>sshfs</code></li>
<li><code>ntp</code></li>
<li><code>thunderbird</code> (and <code>thunderbird-gnome-support</code>)</li>
<li>If I&#8217;m going to be downloading pictures from a camera: <code>mmv</code>, <code>jhead</code>, <code>exif</code>, <code>gphoto2</code>, <code>python-pyexiv2</code>, <code>gpsbabel</code></li>
<li><code>ddclient</code> (with a <a href='http://gregbaker.ca/blog/wp-content/uploads/2010/01/ddclient.txt'>config file like this</a>)</li>
</ul>
<h4>In Firefox</h4>
<ul>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/3615">Delicious Bookmarks</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/433">Flashblock</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/1237">QuickJava</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/26">Download Statusbar</a></li>
<li><a href="http://getfirebug.com/">Firebug</a> (if there&#8217;s any possibility of webdev on the machine)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/01/06/my-minimal-setup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I Have The Best Job In The World</title>
		<link>http://gregbaker.ca/blog/2010/01/04/i-have-the-best-job-in-the-world/</link>
		<comments>http://gregbaker.ca/blog/2010/01/04/i-have-the-best-job-in-the-world/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 22:55:19 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[General Life]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=942</guid>
		<description><![CDATA[&#8230; and it&#8217;s days like today that I have to say that out loud to remind myself. I am not mentally or physically prepared to be done my Christmas break or resume teaching. I have posted some pics from Vegas. The trip was good: to give you an idea, we gambled a total of $100 [...]]]></description>
			<content:encoded><![CDATA[<p>&hellip; and it&#8217;s days like today that I have to say that out loud to remind myself.  I am not mentally or physically prepared to be done my Christmas break or resume teaching.</p>
<p>I have posted some <a href="http://gregbaker.ca/gallery2/2009/vegas-xmas/">pics from Vegas</a>.  The trip was good: to give you an idea, we gambled a total of $100 between us because there was too much other stuff to do.</p>
<p>A warning: when going to Vegas, plan to spend $100&ndash;200 per person per day on miscellaneous stuff.  By the time you have a nice dinner and go to a show, $100 is gone, and that only entertains you for the evening.</p>
<p>The highlight for me was probably the Gun Store (not-even-subtly-racist targets aside).  When else am I going to shoot an assault rifle?  I should have upgraded the package to shoot a handgun too.</p>
<p>Other than that, we had a good set of the standard holiday stuff (including <a href="http://gregbaker.ca/gallery2/2009/open-house/">our open house</a>, which I haven&#8217;t done the time lapse video for yet).  All of that went well, but all happened much too fast.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/01/04/i-have-the-best-job-in-the-world/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Exam craziness</title>
		<link>http://gregbaker.ca/blog/2009/12/11/exam-craziness/</link>
		<comments>http://gregbaker.ca/blog/2009/12/11/exam-craziness/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 16:32:11 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=925</guid>
		<description><![CDATA[Yesterday, I had both of my CMPT 165 exams (on-campus and distance) back to back. The exams were different enough that students talking for the few minutes between exams wouldn&#8217;t get anything useful from it, but no more than that. Six hours is too goddamn long to be in exams. I can think of no [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I had both of my CMPT 165 exams (on-campus and distance) back to back.  The exams were different enough that students talking for the few minutes between exams wouldn&#8217;t get anything useful from it, but no more than that.</p>
<p>Six hours is too goddamn long to be in exams.  I can think of no way to describe the day other than a list of happenings:</p>
<p>[tl;dr Go for 2b, 3ab, 4b.]</p>
<ol>
<li>Pre exam:
<ol>
<li>The first exams start at 8:30.  At 7:45, not one but <strong>two</strong> of my colleagues were still trying to photocopy their exams for big sections.  Office photocopier was jamming every two seconds; grad photocopier was down.</li>
<li>Critical mobile phone usage #1: realizing Amanda would already be in her office, I phoned her and got one colleague into the photocopier in the Dean&#8217;s Office.</li>
<li>&#8220;Wait&hellip; did I tell that student she could start a half hour early?  Where was she going to meet me?&#8221;  Send TA running to the room with an exam paper, just in case.  (No student.)</li>
</ol>
</li>
<li>On campus section:
<ol>
<li>Before the exam, a girl flagged me down and told me she &#8220;had cancer before&#8221; and had been feeling lightheaded this morning. If she had to leave during the exam, that was why.  I tried to get her to Health Services right away, but she insisted on staying.  At the end of the exam, I convinced her to at least go and get her blood pressure taken or something.</li>
<li>Two minutes into the exam, after sitting there for three or four minutes before it started, looking at the exam cover sheet (which says &#8220;CMPT 165&#8243;) and me, a student put up his hand and said &#8220;this isn&#8217;t CMPT 120&#8243; and left.</li>
<li>Freakin&#8217; piles of questions, including &#8220;can you give me a hint&#8221; and &#8220;what time does the exam end&#8221;.  Many more questions than the distance section.</li>
</ol>
</li>
<li>Distance ed section:
<ol>
<li>About 10 minutes into an exam, one of the kids that had run in a few minutes late flagged a TA over and said &#8220;I feel like I might pass out.&#8221;  I talked to him for a few seconds and he was not entirely conscious: able to answer yes or no questions, but that&#8217;s about it.  He probably couldn&#8217;t have walked out of the room at that point.</li>
<li>Critical mobile phone usage #2: phoned SFU security for a medical emergency.  To the credit of security: they came quickly and handled it quietly and with a minimum amount to spectacle to distract everybody else.  They took the student to Health Services.</li>
<li>After all this, I start to realize that I have been getting lightheaded when standing up: I&#8217;m hungry and totally dehydrated from four hours running up and down hot lecture halls.  A litre of water and snack later, I&#8217;m feeling much better.</li>
<li>A guy came in 45 minutes late after &#8220;car problems&#8221;.  A girl came in about 1:15 late after a car accident on the way from Abbotsford.</li>
<li>With an hour left in the exam, passed-out student <strong>came back</strong>!  He wanted to finish his exam and was pretty sure he could get it done.  I took this as a sign of not yet being fully capable of making decisions and sent him to the distance ed office to schedule an alternate time.</li>
<li>Critical mobile phone usage #3: phoned distance ed and told them the story so they&#8217;d deal with this kid appropriately.  Apparently he wrote the exam later in the afternoon anyway (but at least he had the full three hours).</li>
</ol>
</li>
<li>After the exams:
<ol>
<li>I&#8217;m barely standing at this point.</li>
<li>I was talking to Anne, and told her the story of my day.  Anne is preparing to teach a course like 165 in Uruguay (since she is currently on study leave).  She was translating the course outline to Spanish and kept asking me things like &#8220;what wording do you like better?&#8221;  I must have said three times: &#8220;Anne&hellip; you know I don&#8217;t speak Spanish, right?!&#8221;</li>
<li>I might have eventually just wandered out of her office while she was still talking.  I don&#8217;t really remember.</li>
</ol>
</li>
</ol>
<p>There was probably more.  That&#8217;s all that&#8217;s coming to mind at the moment.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2009/12/11/exam-craziness/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Spring plan: DDP projects</title>
		<link>http://gregbaker.ca/blog/2009/12/01/spring-plan-ddp-projects/</link>
		<comments>http://gregbaker.ca/blog/2009/12/01/spring-plan-ddp-projects/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 06:15:15 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=904</guid>
		<description><![CDATA[As I said before, I&#8217;m not teaching CMPT 383 in the spring (but I will be doing it in the summer). The alternate plan involves the &#8220;capstone&#8221; project that our dual-degree students have to do. I&#8217;m going to be supervising a group of students on the technical side of their project. Since I&#8217;m me, the [...]]]></description>
			<content:encoded><![CDATA[<p>As I said before, I&#8217;m <a href="http://gregbaker.ca/blog/2009/11/06/no-cmpt-383-for-me/">not teaching CMPT 383</a> in the spring (but I will be doing it in the summer).  The alternate plan involves the &#8220;capstone&#8221; project that our dual-degree students have to do.</p>
<p>I&#8217;m going to be supervising a group of students on the technical side of their project.  Since I&#8217;m me, the plan is to do a web project.  I thought about this for about 8 seconds before I realized what I must do&hellip; there&#8217;s an obvious set of web projects that I understand, students understand, and need to me done.</p>
<p>We have some very old and clunky web tools around the School that work, but aren&#8217;t pretty and don&#8217;t have much hope of improving in the future.  Students will know our gradebook and assignment submission tools, but there are a bunch more that aren&#8217;t student-facing.</p>
<p>My plan: replace as much as possible with modern, integrated, functional tools.  The plan goes (or at least start) like this:</p>
<ul>
<li>Global: Unified <a href="http://www.sfu.ca/cas/Using_CAS_at_SFU.html">CAS</a> authentication. A useful &#8220;dashboard&#8221; for everybody displaying recent activity relevant to them (upcoming due dates, recently posted grades, recent assignment submissions, etc).  Instructors should be able to copy an old offering to a new one (copying grading info, due dates, etc).</li>
<li>Gradebook: the basics as currently implemented, with calculated columns, released/unreleased columns, AJAX-y sorting and display of class lists, email notification of new grades (?).</li>
<li>Submission: Per-assignment configuration (e.g. assignment 1 requires submission of a text file for part 1, and a .java file for part 2; both are submitted as distinct files).  </li>
<li>Marking: Instructor sets up a marking key for TAs; TAs give grades and comments; info returned to students and grades automatically put into gradebook.</li>
</ul>
<p>Additional functionality suggestions welcome.  I have some cool &#8220;maybe&#8221; features to throw in if things go well.</p>
<p>I&#8217;m going to be treating whatever group I have as a development team, not a class.  So, I&#8217;ll be whipping them much more to get good-quality code, not a class project.</p>
<p>There&#8217;s certainly a possibility of catastrophic failure, but I&#8217;d say a reasonable chance of success.  We&#8217;ll see what happens.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2009/12/01/spring-plan-ddp-projects/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>No CMPT 383 for me</title>
		<link>http://gregbaker.ca/blog/2009/11/06/no-cmpt-383-for-me/</link>
		<comments>http://gregbaker.ca/blog/2009/11/06/no-cmpt-383-for-me/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 20:53:31 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=887</guid>
		<description><![CDATA[I know the schedule for the spring semester was announced with me teaching CMPT 383, but that is no more. I have been moved from 383 to something else that I&#8217;m sure I will have much to say about later. Yarolsav Litus will (likely) be taking over the spring 383 offering. I should be teaching [...]]]></description>
			<content:encoded><![CDATA[<p>I know the schedule for the spring semester was announced with me teaching CMPT 383, but that is no more.  I have been moved from 383 to something else that I&#8217;m sure I will have much to say about later.</p>
<p>Yarolsav Litus will (likely) be taking over the spring 383 offering.</p>
<p>I should be teaching CMPT 383 in the summer, though.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2009/11/06/no-cmpt-383-for-me/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>My latest project: web lint</title>
		<link>http://gregbaker.ca/blog/2009/10/15/my-latest-project-web-lint/</link>
		<comments>http://gregbaker.ca/blog/2009/10/15/my-latest-project-web-lint/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 06:30:48 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=877</guid>
		<description><![CDATA[I have alluded to this in a status update, but I think it&#8217;s time to look more widely for feedback&#8230; A while ago, I started thinking about all of the annoying things my CMPT 165 students do in their HTML, and then started thinking about ways to get them to stop. I started working on [...]]]></description>
			<content:encoded><![CDATA[<p>I have alluded to this in a status update, but I think it&#8217;s time to look more widely for feedback&hellip;</p>
<p>A while ago, I started thinking about all of the annoying things my CMPT 165 students do in their HTML, and then started thinking about ways to get them to stop.  I started working on an automated checker to give them as much personalized feedback as possible without me actually having to talk to them.</p>
<p>They already use an <a href="http://www.htmlhelp.org/tools/validator/">HTML validator</a> which checks documents against the HTML/XHTML syntax, but it&#8217;s amazing what kind of things actually pass the validator. In the list: resizing images with width/height on &lt;img /&gt;; saving their source as UTF-16 (no idea how they do it); putting spaces in their URLs; using class names like &#8220;red&#8221; instead of &#8220;important&#8221;; not specifying the natural language/character encoding of the document; etc.</p>
<p>As the list became longer, the thing became sort of a general HTML lint: the thing you go to after your code is valid to check for other common problems, annoyances, and omissions.  The more I look at it, the more I think it&#8217;s a useful tool for CMPT 165 students as well as a good way to make others think a little more about the code they are producing.</p>
<p>I&#8217;m now at the point of wanting some feedback.  There are still some missing strings and help text, but hopefully you get the idea.  I don&#8217;t want to guarantee that this link will exist forever, but have a look at <a href="http://cmpt165.csil.sfu.ca/weblint/"><strong>my web lint</strong></a>.</p>
<p>As with any &#8220;lint&#8221;, the goal here probably isn&#8217;t for authors to get zero warnings, but just to think about why they are ignoring the warnings that remain.  (No, I don&#8217;t need you to tell me that some of my pages produce some warnings.)</p>
<p>At this point, I&#8217;m most interested in:</p>
<ul>
<li>Links to input that causes an exception (500 Internal Server Error) or other truly broken behaviour.</li>
<li>Feedback on the warnings presented and their &#8220;level&#8221;.  I have deliberately hidden levels 4 and 5 in the default display: I&#8217;m aware that the tool is pretty anal-retentive.</li>
<li>Are there things you can thing of (that could be automatically-checkable) that should get a warning but don&#8217;t?  I have a few more on my list, but the core is in there.</li>
<li>I don&#8217;t think the URL validation (for &lt;a&gt;, &lt;link&gt;, &lt;img&gt;) is perfect: I still need to go back to the RFC and check the details.  Any cases you notice that don&#8217;t pass but should would be appreciated.</li>
<li>Any spelling/grammar errors?</li>
<li>I&#8217;m trying not to duplicate functionality of the HTML validators: they already do their job well.  But, notice the links to &#8220;other checkers&#8221; on the right.  Didn&#8217;t know about all of them, did you?  Any others I should include?</li>
</ul>
<p>My intention is to GPL the code and CC license the text, but let&#8217;s take one step at a time.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2009/10/15/my-latest-project-web-lint/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>More DDP Fun</title>
		<link>http://gregbaker.ca/blog/2009/09/24/more-ddp-fun/</link>
		<comments>http://gregbaker.ca/blog/2009/09/24/more-ddp-fun/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 23:02:48 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=851</guid>
		<description><![CDATA[Partially (but not entirely) because of my my last adventure with the DDP (Chinese Dual Degree) students, I have started to feel a certain affection for the group. Today there was a welcome reception for the ones that just got here this semester. They were a surprisingly talkative group (considering we were talking in English), [...]]]></description>
			<content:encoded><![CDATA[<p>Partially (but not entirely) because of my my <a href="http://gregbaker.ca/blog/2009/08/17/ddp-kayaking/">last adventure</a> with the DDP (Chinese Dual Degree) students, I have started to feel a certain affection for the group.</p>
<p>Today there was a welcome reception for the ones that just got here this semester.  They were a surprisingly talkative group (considering we were talking in English), and it was nice to have the chance to welcome them.</p>
<p>A common question from me: &#8220;What have you done in Vancouver so far?&#8221;  Most are pretty new and haven&#8217;t done much.  But one answer stood out:</p>
<blockquote><p>
DDP Girl: &#8220;We have gone to UBC, and we went to the beach.&#8221;<br />
Me: &#8220;Oh, which beach?&#8221; (grabs for convenient map of Vancouver)<br />
DDP Girl: &#8220;The one *giggle* at UBC.&#8221;<br />
Me: &#8220;&#8230; oh!&#8221;  [For those not in the know, <a href="http://en.wikipedia.org/wiki/Wreck_Beach">Wreck Beach</a> is the local clothing-optional beach.]
</p></blockquote>
<p>The implication was that they just saw a sign for &#8220;beach&#8221; and thought they&#8217;d have a look.  That&#8217;d be quite a shock: five minutes off the plane from China, and being surprised by some fat naked white guy walking down the beach.</p>
<p>So, that was the funniest image I had had in my head for a while.</p>
<p>Then five minutes later:</p>
<blockquote><p>
Different DDP Girl: &#8220;Oh, I haven&#8217;t done much yet, but I want to go to UBC and the beach.&#8221;
</p></blockquote>
<p>You know that feeling when you&#8217;re trying not to laugh, but can&#8217;t even look like you&#8217;re trying not to laugh?  I swear pulled a muscle in my face to keep from smiling.</p>
<p>Apparently Wreck Beach is the first stop for DDP students showing up in Vancouver.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2009/09/24/more-ddp-fun/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
