POSSE (Professors' Open Source Summer Experience) - Application deadline approaching! Sat, Mar 28. 2009
Greg DeKoenigsberg's POSSE program -- Professor's Open Source Summer Experience -- is a week-long immersion in the world of community-based open source open to any professor teaching programming.
This is a fantastic opportunity to get up to speed on open source development: working (1) at scale, on large codebases used on production systems, and (2) in community, collaborating on a global scale and leveraging the network effects of an open source community.
The application deadline for POSSE is this Friday, April 3. Red Hat is picking up all costs except for transportation -- you just have to get yourself there. Don't delay: read the wiki page and send your application!
TeachingOpenSource.org is Online Wed, Mar 4. 2009
Teaching community-based Open Source software development is a surprisingly difficult task. Many educational institutions, open source projects, and companies have started educational initiatives, but these exist in isolation.
To enable and empower collaboration across boundaries, and after extensive consultation, I announce TeachingOpenSource.org, a neutral collaboration point for everyone and everything involved in Teaching Open Source.
As a collaboration point, the success of this initiative depends on participation -- so if you have any interest in seeing Open Source taught effectively in our college, universities, and schools, please jump in!
High Schools are Not Preparing Students for Computer Studies Wed, Jan 21. 2009
My second daughter is about to enter High School, and we're trying to choose between two different high schools. During an Open House at one of the schools, I saw a room with some robotics set up, so I stopped in. The teacher was explaining to some other parents that "programming is often associated with electronic design", which piqued my interest. On the screen was a simple helloworld-class program written in Turing.
When my turn came to speak to the teacher, he explained that programming was part of their tech stream, and that students could take programming starting in grade 10. According to a diagram handed to me, students would enter the programming course after having taken an introductory tech course in grade 9 -- which is a basic overview of wordworking, electricity, a bit of metalwork, and some drafting (though a quick peek at the Ontario Ministry of Education website shows that the grade 10 course has no prerequisite). The teacher explained that they taught using Turing, and in the later courses students may be able to do some work in C/C++ or Java. Alternately, there are business computing courses, which teach students how to use popular productivity applications, and digital media arts courses, which cover multimedia applications.
This is bad on so many levels.
Turing is a proprietary language. It has only ever been used for teaching in Ontario high schools and has never been used for any significant real-world software development. It was never Free Software or Open Source (libre) and only became free software (gratis) when the company distributing it, Holt Software, ceased operations in 2007. The website for Holt Software (from which the software could be downloaded) appears to have gone offline, as has the website for the OpenT project, an open source reimplementation/superset. Although students can learn basic programming concepts with Turing, they will have to learn another computer language in order to program in any other context.
Many computer programmers are not involved in electronics design, woodworking, metalwork, or drafting. Few of my colleagues or students are into electronics design. There seems to be little or no recognition of connections between programming and logic, math, or language in the Ontario high school curriculum.
The question in my mind: do we fix this? Or route around it?
(Fortunately, not all Ontario students face these issues... for example, my friend Ernie Carmichael was teaching Python six or seven years ago at a Toronto-area private school, and I have recently had one of his students in my LUX class, having earned a bachellors in Phillosophy and picked up a couple of courses in logic since studying with Ernie).
Teaching Open Source - Getting on the Same Page Thu, Oct 30. 2008
Last week at FSOSS we had a great track on Teaching Open Source. Greg's solid blog post from yesterday outlines some of the challenges and has set the ball rolling on a "Coalition of the Willing" (which I've expanded slightly -- you've got to love wikis).
I believe that Code Development is a form of Research, and that Open Source is Peer-Reviewed Publication. If those two statements were widely accepted, teaching Open Source would be a lot more paletable to many university professors. We must advance that position while accommodating the transition: in comments on Greg's posting, Dr. Jef Spaleta noted the need for a peer-reviewed journal on Open Source. I believe this could be a very positive interim step. (Jef, are you going to make it happen?)
In the shorter term, we need to ensure we understand one another when talking about teaching Open Source, and its become painfully obvious that the participants in many conversations are not even on the same page in terms of what it means to teach Open Source. In an attempt to help sort this out, I've created a rough sketch of a taxonomy of Open Source education. Please take a look and join the discussion.
"Open Source" is not "Open Systems" Sat, Sep 8. 2007
In the past couple of weeks, I've heard several of my colleages refer to Open Source as Open Systems. I thought that this was a slip of the tongue, but since it's happened several times and by people of sufficient ... experience ... to remember Open Systems (as I do), I'm not so sure that the distinction is being made. To clarify:
- The term Open Systems was used, primarily in the 1980's, to refer to systems that were hardware-and-software interoperable between different vendors and therefore avoided vendor lock-in (with varying degrees of success). Standards such as POSIX, SVID, and the Single Unix Specification provided source-code portability, and network standards such as TCP/IP provided network interoperability. However, Open Systems were still often proprietary, did not include source code, and were generally Unix-centric.
- Open Source is software for which the source code is freely distributed (though the term is actually more formally defined). This software may be any type of program: an operating system, applications for an iSeries system, utilities for a Windows system, or games for a Mac. Since source code is provided, the software can be further enhanced and developed, and derivative works can be created.
There's not really much in common between the two. For good measure, one more definition:
You are Officially Lost Wed, Aug 1. 2007
Found in the pamscale(1) man page:
If you donít know what the mathematical concept of convolution (convolving) is, you are officially lost. You cannot understand this explanation.
Is this pointing out a shortcoming of the author or the reader? I'm sure you could make an argument either way.