Mike Fletcher gave a pep talk at last night’s PyGTA meeting for the One Laptop Per Child (OLPC) project. They showed off some actual hardware (yay), but the project isn’t as far along as I’d thought: major systems are still being designed, and parts of those designs are still in the wishlist stage. As I’ve said before, though, it’s an exciting time; if you want to get into open source, here’s a chance to touch the lives of millions.
Uncategorized
John Backus passed away on Saturday at the age of 82. He helped invent Fortran and Backus-Naur form (familiar to everyone who’s taken a compiler course), and was later a strong advocate of functional programming languages. He’ll be missed…
Uncategorized
Via Genome Biology (free registration for trial access required), news that scientists from the Scripps Institute have to retract five papers published in various prestigious journals because of a sign error in a computer program. As Gregory Petsko says in the article:
Their mistake has consequences beyond the damage to the unfortunate young investigator and his team. For five years, other labs have been interpreting their biophysical and biochemical data in terms of the wrong structures. A number of scientists have been unable to publish their results because they seemed to contradict the published X-ray structures. I personally know of at least one investigator whose grant application was turned down for funding because his biochemical data did not agree with the structures. One could argue that an entire sub-field has been held back for years…
If I was a twenty-something working toward my PhD, I’d be thinking very hard about how I was going to validate the programs I was writing—the odds are growing steadily that journal editors and granting agencies are going to start demanding some sort of due diligence, sooner rather than later.
Software Carpentry
Warsaw took first place; then Tsinghua, St. Petersburg, and MIT. Highest Canadian placing was Waterloo at #9; Toronto was one of twelve schools tied for 14th, along with UBC and the University of Alberta.
Uncategorized
One of the biggest changes in technical publishing in the last few years has been the “book of the blog”. Joel on Software was the first to make it big, but there have been many more since. For example, I’ve just finished The Open Laboratory: The Best Writing on Science Blogs 2006, which was put together in just a few weeks for the 2007 North Carolina Science Blogging Conference. The quality is sometimes uneven, but it’s as topical and entertaining as its more traditional counterparts.
I’ve wondered several times about blogging chapters or lectures as I write them; I even tried it out with the Software Carpentry lectures (though what I actually blogged was announcements about the chapters, rather than their contents). I’m not worried about it leading to “bitty” writing: lots of great literature started off in newspaper columns. What I do worry about is versioning: I have to revise material several times in order to find out what I’m thinking, but most people only ever read the first, or are upset or angered by contradictions between preliminary and final copies. On the other hand, as John Scalzi said in his announcement that he’s running for SFWA president, “…the biggest problem facing creators is not piracy but obscurity.”
Uncategorized
The list of mentoring organizations for this year’s Google Summer of Code is now up. We’re putting forward two proposals for DrProject, and one for the Online Marking Tool. If you’re interested, please read Google’s student guide, then contact me.
Note: student applications close on March 24th, and organizations have until April 9th
to pick the projects.
Update: deadline for student applications has been extended to Monday, March 26, 5:00 pm Pacific time. I’d like to see more U of T students in the program; if you’d like to apply, please sign up now and find a project.
Further update: I’ve been contacted by students from Montenegro, the US, and Sri Lanka so far about the DrProject ticketing system, and two students are interested in doing Eclipse integration work (with OLM and DrProject respectively). Another student has proposed adding instant messaging to DrProject, which is a topic near to my heart. Two days to go ’til proposals close — if you’re interested, please get one in ASAP.
Announcements, DrProject, Research, Teaching
I’ve been saying for a while now that extensible programming systems are the Next Big Thing, but I wasn’t expecting them to arrive this quickly. Check out Expressive Programs Through Presentation Extension, by Eisenberg and Kiczales (at UBC). They use Java plus annotations for storage, rather than XML, which allows them to piggyback on the standard Java/Ant/JUnit/Eclipse toolset. They even provide (simple) graphical embeddings; the only thing missing from the core I asked for in 2004-05 is debugger support. Anyone wanna do a PhD?
Extensible Programming
The regular monthly PyGTA meeting on March 20 will feature an introduction to the One Laptop Per Child project, and particularly the Python-coded Sugar development environment. It’ll also have some discussion on news and events in the Python world, such as the University of Toronto choosing Python as its first-year teaching language.
The meeting will be in the Linux Caffe at the corner of Grace and Harbord. People will start gathering around 6:30pm and get started with the more formal discussions around 7:00pm. Attendees normally wrap up the formal session between 8:30 and 9:00 and head out for beer, ice-cream and the like. See the PyGTA web site for details.
Announcements
Jorge Aranda reports on the largest study to date of pair programming. Interesting results, even though the study itself can be critiqued in several ways. We need lots more of this kind of empirical research in software engineering…
Research
I wasn’t able to go to SIGCSE this year, but I browed the papers on the weekend. There was lots of good stuff; here are my favorites out of the more than 200 pieces of work presented:
- Chase, Oakes, & Ramsey: Using Live Projects Without Pain: The Development of the Small Project Support Center at Radford University. Real projects for real customers always have problems; the authors describe the support center their university (in Virginia) set up, and how it functions. Lots of good ideas…
- Dierbach & Cirri: FedEx package Delivery: A Robust Domain for Object-Oriented Design. Very nice extended exercise in OO design, UML, and patterns. I wish there was a whole book of these…
- Goldwasser & Letscher: Teaching an Object-Oriented CS1 in Python. Not much surprising here, but it’s good to see other schools are already doing what we’re going to this fall.
- Goodwin & Califf: Encouraging Programming Success by Helping Students Learn to Manage Their Time. I realized a long time ago that prioritizing and staying focused count for at least as much as raw intelligence. This paper describes how the authors taught time management, and what effect it had. I’m going to try this in the new software engineering courses we’re introducing this flal.
- Groth: How Students Perceive Risk: A Study of Senior Capstone Project Teams. Groth used Tiwana and Keil’s “One-Minute Risk Assessment Tool” with senior undergrad programming teams, and found that (a) it helped, and (b) doing poorly correlated with not knowing how poorly you were doing. I’m going to try this in the new software engineering courses as well.
- Ludi: Accessibility Integration in an Undergraduate Software Engineering Course. Presents a comparative study of team projects, in which some students had to allow for users with visual disabilities, while others didn’t. There’s a very active accessibility group at the University of Toronto; I think that making DrProject usable by people with physical disabilities would be a great term-long project for the new courses. (Yes, there’s a theme here…
)
- Noonan & Hott: A Course in Software Development. A tool-oriented course designed to give students core software development skills early in their careers. It’s similar to our CSC207, and has lots of good ideas to steal for the “new” Java-based version we’re going to launch this fall.
- Radenski: Digital Abductive Learning in Early Programming Courses. The “abduction” Radenski is referring to is “…a reasoning process that starts with a set of specific observations and then derives the most likely explanation”. He argues that this is how the Net generation learns, and that we ought to design courses to cater to them. He backs this up with data, and his experiences with self-guided Python labs.
- Randolph, Julnes, Bednarik, & Sutinen: A Comparison of the Methodological Quality of Articles in Computer Science Education Journals and Conference Proceedings. Shows that conference papers are just as solid as journal papers; intent is to provide ammunition to researchers who prefer to publish in the former.
- Sciore: SimpleDB: A Simple java-Based Multiuser System for Teaching Database Internals. I’m a big fan of “learning by building”, which is the philosophy behind Sciore’s simple relational database. Assignments include adding indexing, adding sorting (and operators that depend on it), sophisticated buffer allocation, query optimization, and more.
- Woodley & Kamin: Programming Studio: A Course for Improving Programming Skills in Undergraduates. Lots of people have talked about creating a “performance” course in programming; Woodley & Kamin have done it. It requires a lot of resources, but seems to deliver a lot of value as well.
Teaching
Recent Comments