Archive for the ‘Teaching’ Category

Linux 2006 conference rocked

Monday, July 3rd, 2006

What a great conference. I learned a hell of a lot and met a lot of cool interesting people. I had been so busy with correcting exams and writing a few papers that I’ve neglected to post the graphics of the visualisation lab that I presented at linux 2006.

This
* Planet Penguin Racer
is a 14Mb image of Planet Penguin racer (formerly TuxRacer) running on the visualisation cluster. The paper is here
* linux 2006 paper
The paper is not the best written paper I’ve ever produced as it was mostly written the days after my stag night!

Got lots of useful feedback from a mad Norn’ Irish Therapy? loving kernel hacker. The other Debian people were encouraging me to package some of the stuff that I’ve been working on. And one of them in particular, Ellie, seemed to enjoy my presentation.

So my plan for the next week is to finish a paper, work on the lab and go get married. After that I’m going to fix Linux, fix Open Office, fix the U.N. and finsh my Ph.D.

Aidan…enthusiastic on a Monday morning…even before coffee!

The Internet can be bad for students; a rant

Tuesday, February 21st, 2006

Dear students of the world. You are all beautiful people engaged in the complex task of improving yourselves as individuals. This is a laudable goal. In order to achieve this goal please don’t regurgitate information from the Internet.

The Internet (and the web in particular) are really good sources of information, however if you don’t understand what a question asks how do you know whether to reproduce the definition of atomic fusion from www.bobs a mad mad thing.com or from www.alice knows best.info?

Use the web (particularly Wikipedia) as a source for information, as a starting point. From there gather more concrete resources such as books and academic papers. Please don’t copy-and-paste answers, particularly when they’re wrong :(

Bought a house

Thursday, November 24th, 2005

I’ve been completely stressed recently so apologies to anyone who was trying to contact me if I’ve not gotten back to you soon enough. I have had a pretty large assessment load for work and I was in the middle of buying a house. To date most of the assessment is completed and I’m on top of most things again. Thankfully my house has also completed and Lori and I now have the keys to our new place.

More later…gotta dash to a meeting.

Complete lecture mishap

Friday, October 14th, 2005

I missed a lecture yesterday morning. I had updated the timeslot change from the previous week in one calendar, but not propegated it to the other calendar…so I was in for the lecture, just not in the room. So the only thing I could think of doing was putting my hand up stating mea culpa (Latin for d’oh) and rescheduling the lecture for the later tutorial slot and another slot this morning.

The thing is that I agonised over designing that lecture. It’s on source control, which is a subject dear to my heart. I tried to figure out the best way of drawing the students into the lecture, but I think I ended up loosing them. I think there are two reasons for this

  • the students were rightly annoyed that I missed the lecture,
  • I tried to cover too much.

  • So I’ve to give the same lecture today and I’ve rejigged it slightly.

    I think I now understand what people mean when they say “You can never teach at too low a level”, I don’t think they’re trying to be scathing of students, I think it could be better stated as “You can never teach the basics too well”. For instance, the class I took consists of intelligent, well motivated people (all universitity students are by definition intelligent and generally motivated to get a qualification). It would have been better if I went in and given them an understanding of source control rather than details of the minutae. They can then use that base and build on it themselves. On a good day (or a well-planned lecture) I should be able to communicate the understanding of source control and explain some of the minutae. So the changes I’ve made to the lecture reflect my intention to communicate – clearly – the understanding of source control. I’ll update on how it goes later on.

    My saving grace is that I think the tutorial sheet is a good one…but we’ll see what the students think of it.

    Podcast tastic

    Tuesday, October 11th, 2005

    If you were dying to hear myself and Craig talk for 40 minutes on computer graphics you can.

    First lecture in Computer Graphics Algorithms

    Friday, October 7th, 2005

    I gave my first lecture in CGA today. I think it went well, but the real test is the Traynor 12 Step Guide to Better Lecturing. So how did I score:

    Do you explain to your students why they are taking this module? I think so. I asked them individually why they want to take the module and prepared material on what I expected them to say. As I thought, most were there to develop games. But, I think I got accross some other uses of CGA.

    Do you maintain a course website where all the support materials for your course can be found? Yes and, what’s more, it’s a wiki. To which a student has already added the Junit fix.

    Do you define the bounds of your course so students know what, precisely, the course covers? Probably not as well as I should have. I explained the Haber-McNabb visualisation pipeline and explained that we only consider the rendering aspects. This is something to improve on.

    Do you write your own lecture notes?Yes and they’re on the wiki. I have a custom XML docbook to LaTeX publishing system which I think rocks.

    Do you update your lecture notes every year, and frequently change aspects of your course? Not applicable as it’s the first year of the course.

    Are you teaching the most advanced technologies in the area? Yes, probably too much and No probably not. I use Java 1.5 and Eclipse. Some students are having problems with Eclipse, but we’re working through them. I’m also using source control which seems to be causing them problems, particularly because the network is a bit broken. I use GNU Arch but am going to switch to Subversion as everyone (meaning Eclipse) speaks svn. As for the graphics tech I’m not using cutting edge. In fact I’m using old-tech software rendering in order to explain the underlying concepts, not bleeding-edge hardware rendering.

    Do you use real world examples to support the topics you cover in lectures? Yes, I refer to computer games that are currently on the market, though I should improve this.

    Are you using the best courseware/resources that are available for teaching your course? would say that I am as I developed the courseware, but I’m open to criticism.

    Do you take at least two sets of feedback from your students, and react to what they say? No, not yet. Something to improve upon.

    Do you offer your students weekly tutorials with anonymous question submission? No. I offer weekly formative assessment but it’s not anonymous. I could make it anonymous I suppose. I’ll have to get Des’s reasons for this one.

    Do you verify all your assumptions about the prior knowledge of the class? No I didn’t. That’s why some non-mainstream CS students are having a problem with Eclipse. But I have offered to put on extra tutorials to make up for my mistake.

    Do you assess your class correctly, offering questions at different level of Blooms taxonomy, and using ‘truth in sentencing’? I’ve planned the assessment that way, but we’ll see how it goes.

    So three definate No’s and some maybe’s. I’ll have to have a look at improving that over the coming months.

    Sitting and talking

    Wednesday, September 28th, 2005

    As I’ve previously mentioned, I’m required to keep a reflective journal for a course that I’m currently taking. Of course, because I’ve been told to do it, I’ve not made any blog posts since. I seem to like to blog if it’s a voluntary activity, but I don’t like it if I’m told to keep a journal.

    Anyway…let’s reflect. I attended my action learning group meeting today. I had done some preparation for it because I realise that even though I don’t like the format of the meetings I should be professional about it; prepare, contribute and learn. I’m not sure how much I learned, but I’ll give it some time.

    My next job is to finish the learning pack that I’m working on. It’s on assessment which is something that I need to improve at. However, after reading the referenced chapters and websites I don’t think I’ve picked up anything that Des hasn’t ranted about. I seem to be able to pick up more from my collegues in a shorter space of time than from spending time reading.

    So apart from not liking the format of the meetings (I periodically transition from feeling angry at being told to sit somewhere for several hours like a child to being really angry that I’m being put in some pseudo-therapy [unfortunatly not the uber-cool rock group Therapy?]) and not getting a high return on investement from the study packs it’s all going well :P

    Smoother rotation

    Wednesday, September 7th, 2005

    Here’s a video featuring some smoother rotation (in 10 degree jumps) but with some scanline rendering artifacts. I’ll get rid of these, improve the scenegraph API and implement a proper pixel buffer object (rather than the direct int[] access it is now). It should be servicable for a while then.




    It’s in Ogg Theora as usual so GNU/Linux users can play it out of the box. Windows and Mac users should have a look here for details about Ogg Theora support on their platform. Users of other platforms such as GNU/Hurd, FreeBSD, Solaris etc… are probably savvy enough to figure this one out themselves.

    Blogging self censorship

    Monday, September 5th, 2005

    I find myself censoring my posts recently. This is probably because I’ve moved from a research position into one which requires me to teach and I don’t think it’s professional to tell my students what I got up to at the weekend (It was arranging a mortgage if you’re interested :) ). So instead of publishing (possibly libelous) opinions about my friends I’ll do something way more dangerous…

    I’ve to keep a reflective diary of my teaching for the coming year. This is a requirement of a course that I’m taking at the moment. I’ve decided to keep it on my blog. And hey, if it dosn’t work I can always stop :P One thing I won’t be commenting on publically is one-to-one supervision duties I have. I’ll only be commenting on my own successes or failures.

    In the coming year I have responsibility for the final year Computer Graphics Algorithms and Software Testing courses. I also have input into the second year Software Engineering course and will be assisting with the first year Java Programming course. The Computer Graphics Algorithms and Software Engineering courses are in the coming term, thus my planning for them is more advanced than for the Software Testing course.

    I’m not a computer graphics person. I’ve never previously had an interest in the area, however a discussion with my professor over here quickly put me straight. He explained how computer graphics is on of the few areas of practical computer science where you get all of the classic computer science problems. Low level problems with bandwidth saturation to high-level problems like the fact that graphics pipelines are difficult to test. There are also a few probems that I saw when teaching computer graphics algorightms.

    The first problem is that OpenGL does a lot of the work that I want to teach. It does all the scanline rendering and z-buffering in hardware, thus depriving students of the jucy details. The second is with the propritery nature of other graphics APIs such as the Sun Java3d API which require you to accept a restrictive licence to view the code. It’s fine for me to accept the licence, but I don’t want to force my students to view source code that could discount them from future employment. The third problem was that I have no experience in implementing graphics algorithms.

    The solution to all three problems was to develop my own 3d scengraph and API for Java. The results of which are in my previous post, thought I hope to get up some prettier videos before the end of the week.

    It’s been going slowly. Primarly because I eschewed conventional wisdom and decided not to pay much heed to other 3d API implementations. I wanted to generate an API from first principles in order to really learn “why?”. I think that’s been a success. For instance, I’ve learned that you can get away with simple matrix mathematics for most of a 3d renderer except for the lighting which requires vector mathematics. This mightn’t sound like deep knowledge but I hope it will help me to guide students who find certain types of math difficult. The failure (If I am to use binary classification) is that I don’t have all my class notes written yet. I will get this done in the next three weeks though. I also have to find someone more experienced than I to discuss assessment with.

    I should add that my understanding of computer graphics has been immensely helped by three of Prof. Arnolds research students Craig, Karina and Tudor, who (generally, if I buy them coffee) don’t mind fielding my questions on the topic.