Planet Plug goes live!

After much tweaking and messing around, Planet Plug has finally gone live! It doesn’t have many active subscriptions right now but that should change as more people sign up. If you’re a member of the Philadelphia Linux community, you should get onto the #plug IRC channel on irc.freenode.net and ask to have your feed added. Hooray!

Link to it with this button: Planet Plug button

Design approaches in technology enhanced learning

One of the more in-depth papers that I’ve recently encountered is a really cool paper on the many things that go into figuring out and improving upon technology-enhanced learning. It’s really a very good discussion not just on learning, but about educational thought in the context of design, technology and the sciences. The paper, Design approaches in technology enhanced learning is available from the arXiv as well as from Telearn. It was written by Yishay Mor (blog) and Niall Winters who seem to be two very intelligent scholars from the London Knowledge Lab (which has some really cool stuff going on).

The entire piece left me feeling really intrigued by the challenges of effectively integrating technology and education. The paper is very well researched and although I can’t articulate it,  I reached the last page of this paper feeling really good. Maybe it had to do with the enlightened view taken by the authors. Their writing is crisp and their outlook seems appropriately upbeat given the richness of the material and subject matter covered in the paper. The document bursts with elegant and thought-provoking stanzas:

Design based research is a methodology for the study of function. Often referred to as design research or design experiments, it is concerned with the design of learning processes, taking account of the involved complexities, multiple levels and contexts of educational settings. The primary aim is to develop domain-specific theories in order to understand the learning process.

Such succulent gems of insight are plentiful in the opening sections as Mor and Winters set the stage for a comprehensive reflection on the essences of design, science and learning. They are realistic about how “The complexity of classroom situations does not lend itself to the procedures of laboratory research” as they ask “To what extent are we driven by a pure quest for knowledge, and to what extent are we committed to influencing educational practice?”.

The paper continues into a very stimulating overview of design patterns and their application in the many areas of education. Though I have always liked the idea of design patterns in software, I have never been so enthralled by a discussion about the essential elements of design patterns. Also, this is the first time that I’ve heard of design patterns being used as a tool for analysis instead of construction and planning:

An important characteristic of a design pattern is that it has three facets: descriptive, normative, and collaborative. It is an analytic form, used to describe design situations and solutions, a meta-design tool, used to highlight key issues and dictate a valuable method of resolving them, and a communicative tool enabling different communities to discuss design issues and solutions.

The esteemed writers are careful to explain their thought processes without letting their comprehensive coverage become tangential. They expertly work in a mentioning of the political agendas of design pattern construction for city planning and network routing protocols to help illustrate their observations of how values influence design.

This paper is awash in fascinating pointers to further exploration and while I fully intend to follow up on some of their citations, something of immediate interest is a link to a very cool site called the Pedagogical Patterns Project which established a repository of educational design patterns. I need more time to explore but what they have seems to be very cool. It’s clear that I’ll refer back to this paper frequently as I strive to better understand the interactions of education and computing.

Tech, higher education and the Indian job market

I read a brief little paper on the train last week about technology in post-high-school education. While four pages (not counting references) is a bit short for such a rich topic, the scope of discussion has been significantly narrowed to the central theme of business. The paper is entitled Impact of IT on Higher Education through Continuing Education and is written by Shajee Mohan of the LBS College of Engineering, though his other notable work seems to be centered around data compression.

Mohan begins with a very logical stance on the dual subjects of technology and education by saying that “Some of the most cost effective and appropriate ways to use computers and modern technologies is to have close contact between the teachers and the taught.”. When I read this and the text before it, I wondered if all I would get would be a concise exposition detailing those business issues in India which dealt with college students. Instead, I got a whirlwind overview of select “reskilling” efforts thought (by Mohan) to be significant in the scope of the paper.

The paper is written in a casual-yet-technical style with a tone and focus that instantly reminded me of Thomas Friedman’s many commentaries on the Indian tech sector. In fact, some of his more entertaining points might just be a tongue-in-cheek salute to the importance of education in a culture commonly associated with outsourcing:

A mixed approach to valuing staff by developing skills, providing interesting and motivating work while recognizing their individual contribution, alongside benefits and perks, will mean that you are an employer that employees don’t want to leave.

If this paper were any longer than it is, I would advise people to move along and skip it in favor of more detailed works. That being said, the topic was narrowed significantly and as such, could be considered to have an reasonably-appropriate length in addition to it’s generally generally-upbeat discourse. In fact, I actually found myself giggling at some of Mohan’s informalities and clear showings of enthusiasm.

Wait, is static typing good or bad?

Though I haven’t taken that much time to learn about type systems, I have read up a little bit. I devoured Chris Smith’s essay on What To Know Before Debating Type Systems and briefly tinkered around with a typed lambda calculus before trying to really get into some of the heavier stuff that my program covered in a seminar earlier this year. All of this, combined with my personal experiences using dynamically and statically typed languages, gave me just enough of a background to get by when learning or comparing various programming languages.

While I favor dynamically-typed languages (like Lisp, Ruby and Python) as a matter of personal preference, I have tremendous respect for statically-typed languages (like C and Java). In my humble opinion, some of the most interesting languages are those which allow one to switch between the paradigms as need or desire dictates. Take for example, Haskell’s type annotations or Common Lisp’s type specifiers (particularly declare). The former allows one to annotate Haskell function definitions with type information to enforce type constraints while the latter can be used to turn off Lisp’s dynamic typing system when trying to do something special like optimize certain functions.

After I discovered all of this and determined that I think it’s pretty neat but not something I have the time to pursue right now, my interest has been rekindled by a recently delivered presentation entitled Types Considered Harmful. Perhaps it’s also time for me to re-read another famous type-system paper, Java is not type-safe.

Don’t forget your white bible

I’ve been doing a fair amount of hacking in C recently thanks to some very interesting class assignments. As my C skills had been virtually non-existent before being forced to use it this year, I can honestly say that my appreciation for the language is improving. While I can’t yet say that I’m so competent, I am becoming increasingly comfortable with my ability to use some of the more powerful features like pointers and addressing. This was finally my chance to brush of my copy of K&R’s The C Programming Language (2nd edition covers ANSI C) which I had purchased in high school when C seemed like a good thing to learn in between Lisp and Python (speaking of which, I still miss the language features of higher-level languages). Regardless, anyone learning to learn C should still turn to the oldie-but-goodie and buy a copy to keep on the desk. For those who do purchase it, look at the copyright page and notice that the book was actually formatted and written with troff.

Prettier GUIs thanks to separators

I read a very interesting essay on OSnews regarding the improvement of GUI layout with separators and containers. Essentially, the whole premise is that visual elements in most interfaces are needlessly cluttered and it is precisely this congestion which decreases the usability and aesthetic appeal of applications. In response to this problem, the author demonstrates how good layout conventions employing containers and separators can improve visual definition and arrangement. He goes on to elaborate on the potential benefits of using open standards like XML and SVG to aid in GUI creation and puts a considerable amount of emphasis on inheritance among GUI components.

Now, while the examples in the essay are extremely enlightening, I still feel that certain, poorly-thought-out interfaces are beyond help. At the very least, it made me think twice about the importance of the margin and padding properties in CSS while giving me a whole new outlook on the apps I use every day.

(Processing - Java) + JavaScript = Wonderous!

I’ve messed about with Processing a couple of years ago but haven’t done much with it since. I saw this post from Lambda the Ultimate detailing how the gentleman behind the jQuery JavaScript toolkit ported almost all of Processing from Java to JavaScript. Now, the whole thing will run directly in your browser thanks to the canvas element. The demos (ported from the original Processing examples page) are very impressive.

Getting philosophical about learning and computers

In what has to be one of the most philosophical CS papers I have ever encountered, a team of researchers from Brazil and Luxembourg have presented a fascinating overview of many issues surrounding the area of computer-based learning. In their paper, Redesigning Computer-Based Learning Environments: Evaluation as Communication, they make reference to everything from psychology to meta-communication and citing a broad yet well-chosen set of authors from Claude Shannon to Gregory Bateson.

Perhaps the most interesting aspect of this paper is it’s writing style. These authors have clearly given the subject a great deal of thought and have not been shy about getting philosophical while expressing their opinions. In fact, these authors have gone out of their way to use their variety of interdisciplinary sources to help illustrate the idea that issues in computer-based learning are never purely technical. One of the first communication models they discuss is the well known psychology concept of the double bind. While the concept isn’t worth explaining here (given the ubiquity of detailed explanations), their relation of the concept to educational evaluation is certainly significant.

Evaluation is also trapped in the double bind. Student and teacher or even the other characters such as colleagues and parents exchange many contradictory stimuli about learning. For example: have critical sense versus accept as truth what is in books, express yourself efficiently versus do not talk, concentrate on homework versus play with friends, etc. These situations are inherent to evaluation in the same sense the double bind is part of communication

The tensions described here are all-too-familiar to students, both past and present. Issues such as the ones mentioned in the paper are very real obstacles that must be overcome in classrooms all over while their complexities are only emphasized further by the still-developing experience of computer-based learning.

…the computer-based learning environment must support and, if possible, amplify the expression and the emergence of contradictory relations. These are essential to the evaluation process, since provocative statements may communicate how teacher and colleagues perceive one’s performance and understanding.

With this in mind, they conclude their discussion by explicitly stating the importance of letting real-world factors influence the design of learning systems. This exceptionally well thought-out piece of technical writing should be required reading for any educator considering the deployment of a computer-based learning system or struggling with the design of an alternative assessment mechanism.

Start Eating the Paste

Anyone who frequents programming-related IRC channels will already have an appreciation for online pastebins, originally termed nopastes. For those who might be unfamiliar the basic idea is that pastebins provide a quick and convenient way to display text on the web and share it with others. The canonical usage of a pastebin is a situation where an individual must share a snippet of source code with other programmers to illustrate a concept or seek advice. The most famous of pastebins:

Most interesting is the recent increase in pastebin spam. The open nature of pastebins make them ripe for abuse by spammers and that has led to numerous discussions of the problem and use of CAPTCHAs to try and combat the issue. I had no idea this was even an issue though it makes a lot of sense now that I think about it…

Open Source in Schools

This afternoon I read a really thoughtful paper about Free/Open Source Software in schools published in the Canadian Journal of Learning and Technology. As an aside, the CJLT has a really solid collection of papers and I look forward to paging through them in the coming months. Anyway, this paper, Open Source Software and Schools: New Opportunities and Directions by Gary Hepburn, presents a tasty discussion of the benefits and advantages to using F/OSS in schools.

After a brief overview of the proprietary software model, Hepburn devotes a solid page examining the issues surrounding using proprietary software in schools. He cites the cost of doing business with Microsoft (according to the Microsoft School Agreement), as of Winter 2005 with a school of 400 machines, to be US$7200 for the OS alone and US$19,200 for a complete desktop package. Additionally, he notes that, in general, “…using proprietary software requires a high degree of accountability” on account of license compliance issues and other legal liabilities. Alongside the financial downsides, Hepburn makes a very good point when examining “…school’s complicity in exposing students to commercial products and corporate interests”. The idea of a classroom as a corporate marketing machine is rather unappealing.

While it’s not hard to find literature extolling the virtues of F/OSS, Hepburn does a nice job of emphasizing the potential benefits for schools. One particular point that caught my eye was his comment that “Schools can also burn OSS on to a compact disc and give it to staff or students to take home and do what they wish with it”. Granted, projects like OpenDisc have been leveraging the flexibility of F/OSS licenses for some time now, but I have been toying with the idea of using virtual machines as distributable workspaces. Personally, I find the idea of being able to send a student home with their own system saved on a thumb drive very compelling.

After touching briefly on the subject of Linux, Hepburn goes on to discuss some of the neater software packages from the F/OSS world. In particular, OpenOffice.org gets a shout out though I don’t know if I agree with his insinuation that OO.org requires fewer system resources (specifically hardware) than MS Office. Overall, I do agree with his other major points which support the ideas that the F/OSS community is better equipped to respond to change and correct errors. Moreover, I fully support the idea that more diverse exposure to different types of software will lead to an overall greater computing literacy.

With a healthy sprinkling of Lawrence Lessig quotes and shameless support for F/OSS, this paper is definitely worth a read.

Next Page »