Notes from SIGCSE 2009 & Barriers to Adoption of FLOSS in the Curriculum
First of all, Chattanooga, Tennessee is a lovely place to visit. Should you find yourself there, lodge at the Stone Fort Inn. The service is impeccable, the property exquisite, the prices reasonable and the breakfasts sumptuous. The claw foot tub and balcony hot tub experience is also not to be missed. The Tennessee Aquarium was recently declared #1 in the United States and with good reason; I touched a manta ray, shark and sturgeon for the first time at the conference reception, and they have an entire exhibit dedicated to turtles. Not that my deep and abiding love of turtles inspires any bias in my assessment, mind you.
But on from the business of hospitality and marine biology to the business of computing. Whilst in Chattanooga, I had the privilege of speaking at SIGCSE 2009, the ACM's 40th Technical Symposium on Computer Science Education. I joined several folks from industry and academia at the Free and Open Source Software Symposium on Wednesday, where the theme was integrating FOSS into the Undergraduate Computing Curriculum. I learned a great deal from the educators present about how they are using FOSS in their curriculum and several folks presented on courses they've developed using FOSS software as the basis for the concepts they were teaching, e.g. version control systems. Among other initiatives discussed, It was particularly inspiring to meet up with professors who encourage their students devote their time to humanitarian projects such as OpenMRS and Sahana. My fellow panelist, Stormy Peters, sent out notes via Twitter (@storming) during the sessions, and I'd recommend taking a look at her Tweets for more details.
So with all the great work being done by well known folks like Oregon State University's Open Source Labs or some of the less well known (but ought to be better known) efforts underway at institutions like Connecticut College, Trinity College and Wesleyan University - and even in my own Silicon Valley backyard at San Jose State* - why aren't we seeing more use of FOSS in (higher) education? When talking to the professors in several sessions, most of their top students are already involved in FOSS projects, submitting patches or sometimes full committers. FOSS adoption by business is ever increasing, particularly in these troubled economic times. Certainly any institution, be it wider academia or a university, will change more slowly than industry, but it seems only natural that FOSS code and tools would be the best choice for teaching and use in the classroom, especially given the potential for cost savings. So why aren't we seeing more of this happen and with all haste?
The most valuable part of SIGCSE for me was understanding from educators what their pain points are in adopting FOSS in their classroom. A few of the main ones include:
Obtaining Tenure:
Encouraging students to participate in FOSS development requires some degree of community participation on the part of the educator, at the very least so they can impart the social lessons that prepare students for the cultural aspects of FOSS. Many would be most happy to do so, but contributions to these projects are not considered admissible to the body of work required to obtain tenure. Tenure review committees also lack the domain expertise to judge whether a particular code base contributed to a FOSS projects is a substantial achievement or a less significant patch. And, of course, contributions of source code are not considered publication, whether or not they meet the stated objective of publication - the advancement of Computer Science.
Curriculum Challenges:
Staying abreast of all the changes in the technical world is difficult enough for those of us who work day to day in the high tech industry. Imagine keeping up with these trends in addition to the requirements to publish academic papers, remain current on pedagogical trends, serve on various committees, and actually teach courses. Needless to say educators are left with little time to refresh their curricula with FOSS examples or to create entirely new curricula integrating FOSS into their pedagogy. Consider also that FOSS software is usually released more often than its proprietary counterparts and his more rapidly changing landscape can be a deterrent for time strapped teachers. A few folks noted that proprietary software vendors often provide a well written, useful and oft-refreshed curricula to them.
It's also worth noting that there's quite a bit of Open Courseware and FOSS code out there targeted at educators, such as Rice University's Connexions site, MIT's Open Course Ware and the Respository for Open Software Education, but not everyone is aware of these resources. Even beyond these more well known resources, the internet is chock full of information to learn about FOSS and computing. However, vetting these resources to ensure quality content is time consuming and not something that every professor is well suited to do in every technical area. Keeping to the known is a lower time investment. I've also heard folks mention that there's need to educate educators around content licensing in general, and some who well understand content licensing still hesitate to use courseware that is Creative Commons licensed for educational use but restricted for commercial use given the for-profit nature of their academic institutions.
I haven't yet mentioned the need to meet Administration curriculum requirements for each course, some of which don't recognize FOSS as a viable mode for illustrating concepts in computing. I know how counterintuitive this fact must seem given the number of universities that were the birthplaces of FOSS - my alma mater anyone? - but it is what it is. Persuading school administrations to change curriculum requirements is time consuming at best and not a battle everyone would care to fight. Particularly when they're seeking tenure, meaning their time is likely focused on publishing rather than challenging status quo.
Declining Enrollments:
Many folks I spoke with lamented both the shrinking numbers of student enrolling in Computer Science and the lack of preparation their students have for tackling the discipline. Faced with shrinking numbers of CS majors and corresponding decline in revenue, expending the resources to innovate the CS curriculum period, let alone in this 'radical' way that is FOSS, can be hard to justify at the institutional level. Everyone seems to agree that these curriculum innovations would be a useful catalyst to stimulate interest in Computer Science, but for now it's a chicken and egg problem.
Education for Educators:
This topic was quite the hot button for folks teaching computing to pre-university students, but the principle holds true for higher education, as well. Not everyone knows what FOSS is, why it's useful or why they ought to choose to use it in their courses as opposed to proprietary software. Once you have a teacher convinced that FOSS is the right choice, they may have no clue how to choose which code base to use as a teaching tool or even a good understanding of a particular operating system, tool, etc. While we in the FOSS world are used to a "figure it out yourself" mentality, that's at best not the modus operandi and at worst the antithesis of the academic world. Folks enmeshed in this structured learning environment, where lectures are the order of the day can find the unstructured environment of FOSS both unfamiliar and intimidating, no matter how brilliant they are.
Particularly on this last point, though on all points, I think we in the FOSS community have an amazing opportunity to provide help to the academic community around these issues. Local LUGs can hold workshops to train teachers, FOSS developers would make excellent invited speakers for classes, etc., etc. If you're passionate about this topic, consider volunteering to be a guest lecturer at your local school. I think Community Colleges and Trade/Vocational schools are our best bet for a first port of call. Bonus points if you have the time, energy and school board support to facilitate an after school computer club for younger students.
Many thanks to Ralph Morelli and his fellow Symposium chairs, for inviting me to take part in the panel, to my fellow participants for sharing their stories, and to all the educators who took the time to share their achievements and challenges with me this past week. Many thanks also to Greg Dekoningsberg for the riffing over coffee on these same topics. Check out his post-symposium blog post while you're at it. And finally, thanks to Stormy for suggesting to Ralph that I'd make a good addition to the Symposium; I'm grateful for the connections that I formed due to my attendance.
* This list is just a smattering of all the great work I heard about during the symposium. For more, check out the papers presented.
But on from the business of hospitality and marine biology to the business of computing. Whilst in Chattanooga, I had the privilege of speaking at SIGCSE 2009, the ACM's 40th Technical Symposium on Computer Science Education. I joined several folks from industry and academia at the Free and Open Source Software Symposium on Wednesday, where the theme was integrating FOSS into the Undergraduate Computing Curriculum. I learned a great deal from the educators present about how they are using FOSS in their curriculum and several folks presented on courses they've developed using FOSS software as the basis for the concepts they were teaching, e.g. version control systems. Among other initiatives discussed, It was particularly inspiring to meet up with professors who encourage their students devote their time to humanitarian projects such as OpenMRS and Sahana. My fellow panelist, Stormy Peters, sent out notes via Twitter (@storming) during the sessions, and I'd recommend taking a look at her Tweets for more details.
So with all the great work being done by well known folks like Oregon State University's Open Source Labs or some of the less well known (but ought to be better known) efforts underway at institutions like Connecticut College, Trinity College and Wesleyan University - and even in my own Silicon Valley backyard at San Jose State* - why aren't we seeing more use of FOSS in (higher) education? When talking to the professors in several sessions, most of their top students are already involved in FOSS projects, submitting patches or sometimes full committers. FOSS adoption by business is ever increasing, particularly in these troubled economic times. Certainly any institution, be it wider academia or a university, will change more slowly than industry, but it seems only natural that FOSS code and tools would be the best choice for teaching and use in the classroom, especially given the potential for cost savings. So why aren't we seeing more of this happen and with all haste?
The most valuable part of SIGCSE for me was understanding from educators what their pain points are in adopting FOSS in their classroom. A few of the main ones include:
Obtaining Tenure:
Encouraging students to participate in FOSS development requires some degree of community participation on the part of the educator, at the very least so they can impart the social lessons that prepare students for the cultural aspects of FOSS. Many would be most happy to do so, but contributions to these projects are not considered admissible to the body of work required to obtain tenure. Tenure review committees also lack the domain expertise to judge whether a particular code base contributed to a FOSS projects is a substantial achievement or a less significant patch. And, of course, contributions of source code are not considered publication, whether or not they meet the stated objective of publication - the advancement of Computer Science.
Curriculum Challenges:
Staying abreast of all the changes in the technical world is difficult enough for those of us who work day to day in the high tech industry. Imagine keeping up with these trends in addition to the requirements to publish academic papers, remain current on pedagogical trends, serve on various committees, and actually teach courses. Needless to say educators are left with little time to refresh their curricula with FOSS examples or to create entirely new curricula integrating FOSS into their pedagogy. Consider also that FOSS software is usually released more often than its proprietary counterparts and his more rapidly changing landscape can be a deterrent for time strapped teachers. A few folks noted that proprietary software vendors often provide a well written, useful and oft-refreshed curricula to them.
It's also worth noting that there's quite a bit of Open Courseware and FOSS code out there targeted at educators, such as Rice University's Connexions site, MIT's Open Course Ware and the Respository for Open Software Education, but not everyone is aware of these resources. Even beyond these more well known resources, the internet is chock full of information to learn about FOSS and computing. However, vetting these resources to ensure quality content is time consuming and not something that every professor is well suited to do in every technical area. Keeping to the known is a lower time investment. I've also heard folks mention that there's need to educate educators around content licensing in general, and some who well understand content licensing still hesitate to use courseware that is Creative Commons licensed for educational use but restricted for commercial use given the for-profit nature of their academic institutions.
I haven't yet mentioned the need to meet Administration curriculum requirements for each course, some of which don't recognize FOSS as a viable mode for illustrating concepts in computing. I know how counterintuitive this fact must seem given the number of universities that were the birthplaces of FOSS - my alma mater anyone? - but it is what it is. Persuading school administrations to change curriculum requirements is time consuming at best and not a battle everyone would care to fight. Particularly when they're seeking tenure, meaning their time is likely focused on publishing rather than challenging status quo.
Declining Enrollments:
Many folks I spoke with lamented both the shrinking numbers of student enrolling in Computer Science and the lack of preparation their students have for tackling the discipline. Faced with shrinking numbers of CS majors and corresponding decline in revenue, expending the resources to innovate the CS curriculum period, let alone in this 'radical' way that is FOSS, can be hard to justify at the institutional level. Everyone seems to agree that these curriculum innovations would be a useful catalyst to stimulate interest in Computer Science, but for now it's a chicken and egg problem.
Education for Educators:
This topic was quite the hot button for folks teaching computing to pre-university students, but the principle holds true for higher education, as well. Not everyone knows what FOSS is, why it's useful or why they ought to choose to use it in their courses as opposed to proprietary software. Once you have a teacher convinced that FOSS is the right choice, they may have no clue how to choose which code base to use as a teaching tool or even a good understanding of a particular operating system, tool, etc. While we in the FOSS world are used to a "figure it out yourself" mentality, that's at best not the modus operandi and at worst the antithesis of the academic world. Folks enmeshed in this structured learning environment, where lectures are the order of the day can find the unstructured environment of FOSS both unfamiliar and intimidating, no matter how brilliant they are.
Particularly on this last point, though on all points, I think we in the FOSS community have an amazing opportunity to provide help to the academic community around these issues. Local LUGs can hold workshops to train teachers, FOSS developers would make excellent invited speakers for classes, etc., etc. If you're passionate about this topic, consider volunteering to be a guest lecturer at your local school. I think Community Colleges and Trade/Vocational schools are our best bet for a first port of call. Bonus points if you have the time, energy and school board support to facilitate an after school computer club for younger students.
Many thanks to Ralph Morelli and his fellow Symposium chairs, for inviting me to take part in the panel, to my fellow participants for sharing their stories, and to all the educators who took the time to share their achievements and challenges with me this past week. Many thanks also to Greg Dekoningsberg for the riffing over coffee on these same topics. Check out his post-symposium blog post while you're at it. And finally, thanks to Stormy for suggesting to Ralph that I'd make a good addition to the Symposium; I'm grateful for the connections that I formed due to my attendance.
* This list is just a smattering of all the great work I heard about during the symposium. For more, check out the papers presented.
Labels: conferences, edufloss


11 Comments:
I see the name "Chattanooga" and my mind incidentally jumps to a jazz classic.
No, not that one - "Boogie-woogie bugle boy from company B".
I'd love to know how my head got miswired that way.
Part of the problem I've observed lately is a companion issue, not directly related: research into open algorithms has been lacking. For instance, research was done into providing high availability characteristics for databases, allowing commit semantics to provide a guarantee with a minimum number of available copies, potentially biasing toward a local copy for writing. That research has been incorporated into open source projects in various ways, while an implementation of it wouldn't be directly useful to most projects, many in different languages or with different, conflicting requirements.
Anymore, it seems that much of the interesting work in algorithms has gone private, and gets patented rather than seeing the light of day. It's there, really, where I'd like to see some focus: making sure open algorithms work happens; Tell me what I'm implementing, and I can go do it.
Chattanooga reminds me of many things. One amongst them are the remains of railroads one sees everywhere. From the Chattanooga Choo Choo (an old terminus that has been converted in to a hotel) to railroad tracks all over town, its quite a place to see if you like trains! There's also the Tennessee Valley Railroad Museum that operates a steam line locally. http://www.tvrail.com/
As for the tenure process (disclaimer: I am tenured), the standards of tenure vary, and so does the content considered for contribution. It also depends on the department, college and university to consider what they call "contribution". Many schools will peg contribution at a certain number of top level journal publications, and that's where it becomes a numbers game. Quality surrogated by quantity, and sometimes a disservice to the populations we serve.
If we look at contributions toward tenure as three different channels - teaching, research, service - then assessing contributions such as ones made to FOSS could fall in one of the three buckets and still get counted. For example, my research papers on FOSS go into the research bucket, my course on "Managing FOSS" (http://opensource.sfsu.edu/node/40) goes into teaching, and my presentations to LUGs, OLPC-SF meetings, etc. go into service.
Universities should actively reassess how they count contributions, and that process begins with the *contributor*.
There is a significant amount of open source in use within computer science classes. Minix is used as the test bed for many operating system classes because it is small enough that students can replace one component of the kernel at a time with code written on their own. Many of the programming language tools are all open source.
The question is "at what layer and which kinds of tools do you want to see open source be introduced at?"
When I completed my Masters thesis and was working on a PhD all of the software that was associated with my research was published as open source. The source code is not what gets you a degree or gets you "published". Its the innovative ideas and the analysis that are demonstrated in the source code that are worthy of publication.
Software is just a tool. Publication is about ideas.
Are you questioning why more research does not end up as open source? Just as a random example, why was RacerX never open sourced? It clearly was publication worthy and they obviously wrote the software and OpenAFS as well as many other products would absolutely benefit from it. My guess is that it comes down to patents and licensing revenues. Software that the University believes have no licensing value can be open sourced and those that do cannot be.
Getting back to the question of FLOSS in the Curriculum. Faculty make use of the tools that are provided to them by their system administrators. Target the sysadmins in academic departments so they are prepared to support the faculty with various FLOSS products. Then the faculty will have a much easier time making use of them.
Good post, and all good points. In the end I think many of these things are about proper incentives not being where they ought to be. The tenure system is a good example, and it has other ramifications too. For example, a lot of academic software gets reinvented over and over (and often in poorly designed ways), because publishing about a new piece of software is a much lower hurdle than publishing about fixing an existing piece of FOSS software and adding the one missing function to it in a way that the developer community would accept it.
Having said that, there are (increasingly?) people who try to train students so that contributing to a collaborative project is less of an intimidation than something that seems natural. For example, see Dionisio and Dahlquist (2008), Improving the computer science in bioinformatics through open source pedagogy. doi:1383602.1383648, incidentally presented at last year's SIGCSE :-)
Aloha
These are some concisely stated and well-reasoned observations. Thank-you. I find this comment to be especially ironic, "... contributions of source code are not considered publication, whether or not they meet the stated objective of publication - the advancement of Computer Science." I've never considered this deficiency. It really is true. When speaking to an academic audience, I explain the paradigm of FOSS development in the context of peer reviewed academic research in the pursuit of a greater body of knowledge. What a shame that the tenure track is not being traveled by FOSS developers.
"A few folks noted that proprietary software vendors often provide a well written, useful and oft-refreshed curricula to them. " This, I fear, is why we don't see more FOSS in education. Cynically, I call it the OPM addiction - Other People's Money. Use it or lose it budgets require that money be spent. In reality - as you observed - time is of the essence, and vendors who can help keep curricula on track get the money without regard for the nature of the software's licensing. We need more economic entrepreneurs building on the work of social entrepreneurs to close the education gap.
"While we in the FOSS world are used to a "figure it out yourself" mentality, that's at best not the modus operandi and at worst the antithesis of the academic world." Well put, Leslie. No one likes to feel dumb. Each month we do an "Open Source Pizza" at The University of Hawaii. Last month's session was guiding an audience member through the process of installing a dual-boot computer. You don't know how confusing 'download an iso from a mirror, burn a CD, and boot from it' sounds until you see a human try to do it.
"I think Community Colleges and Trade/Vocational schools are our best bet for a first port of call." Yes. I echo this. I speak pretty frequently to the CENT program at Honolulu Community College. It is here that some of our best volunteers have been discovered. Many schools allow students to participate in service learning projects. We currently have a High Schooler getting school credit for volunteering. By wrapping the FOSS experience around installing a computer lab for a school, or in a park, or for a Boys and Girls Club, the seeds are planted for a more enduring relationship with and commitment to FOSS.
"Bonus points if you have the time, energy and school board support to facilitate an after school computer club for younger students." Or your Boys and Girls Clubs, City Park's recreational facilities, and even youth offender programs. No matter where you are, 501(c)(3) exemption plus donated computers can allow you to change many lives with many programs in many ways where FOSS is part of the picture. But ...
"Local LUGs can hold workshops to train teachers." Here's my experience. For years, many years, we held a free workshop every Saturday at one of our DOE schools. It was a school where we had donated a computer lab. It was a school where we taught computer literacy classes to senior citizens, using ubuntu. The workshops were provided for all the schools our LUG-in-action, HOSEF, had given K12LTSP computer labs so that the culture of Free was voluntarily perpetuated by the community. It was a way for those of us who are not developers to support the FOSS world where the rubber hits the road.
Problem is this - few teachers came. It was an effort, it was not credited, it was not paid time, and it did not lead to job security. It was not an opportunity to spend money, offload the burden of staying abreast of evolving technologies, and make life easier. This year I changed my approach by still offering the free workshops, but now offering to provide support and in-school presentations on what I call my Utopian DOE Network using FOSS tools. The uptake and interest is impressive.
It's a good problem for the community to have. Monetizing and democratizing a business infrastructure that competes in the education market is a project long overdue. The key, it seems, to driving University enrollment in the Computer Arts is successfully engaging kids before they get to high school. So much of this is about believing that you can do it.
Thanks for these thoughts, Leslie.
Great trip report, Leslie. I've been to Chattanooga many times to visit family and I'm glad you had a nice time. Thanks for the link to the symposium papers.
Regarding barriers the keep more professors from getting involved in academia, as I mentioned in my talk at the conference, I see the following. (a) dirty little secret that few will admit, but the most important measure for tenure is the number of $$ you bring in in grant money. Few of the major grant organizations (e.g. NSF) are attuned to open source. My colleague Carlos as had some good experience, but I know many people who have had difficulty. (b) getting students involved in projects takes a lot of work - perhaps can be justified if the project is tied to your own research, but otherwise what is the motivation? (except that it is great experience for the student, but that alone doesn't get you tenure). In my talk I mentioned the story that when I was just starting to get interested in getting students excited about open source I pitched the idea to my chairman and asked for a one course reduction in my teaching load. She refused since I didn't have any grant funds, so instead I negotiated a six-month reduction in my salary by ten-percent in exchange for the course load reduction. It's still the case that perks like course reduction require grant funds, which can be scare in this area. And I won't even get into summer support (most faculty get paid only 9 months of the year, and are responsible for finding summer salary on their own using grant funds or whatever - something that a lot of companies don't understand).
Thanks to all of you for your comments. I'm encouraging as many educators as possible to add their thoughts here.
If anyone is interested, here's an interview with me from the HFOSS Symposium.
There are so many different issues here.
In terms of computer science education, I really think that FOSS provides fantastic opportunities for excellent pedagogy. One of the most important freedoms of the GPL is the freedom to study code. Studying great code and problem code, seeing how smart people solve real world problems, is a great way for students to learn how to do good work themselves.
FOSS also provides infinite opportunities to engage students in real world complex work rather than hypothetical exercises. Unlike a homework exercise, solving a problem in a FOSS project shows students how to work in a team of developers, respond to feed back, and teaches the important lesson that there is no software that is done unless it is software that is going to the code graveyard. All too often CS classes (just like classes in other disciplines, my own included) tend to focus on the idea of a finished final product that gets a grade and is done, rather than a living product that people will use and will need to be continuously maintained and improved.
FOSS also provides students with opportunities at all kinds of skill levels (beginners to advanced). It is not something that you need to wait to do. In the Joomla! project we have many students who contribute patches, original code, extensions, templates, and documentation. As a matter of fact, one of them taught me almost all the regex I know. These are people who are going to be outstanding IT professionals.
We all bemoan the decline in computer science majors; maybe moving toward a more effective pedagogy (based on what we know works best in teaching) such as that embracing open source models would be one way to reverse this.
You might find this presentation I gave to high school CS teachers last year (thanks to Leslie) interesting:
http://docs.google.com/Presentation?id=dcsmkjps_117xf7bzzgt
Regarding the tenure question: Speaking as an as-yet-untenured one, the tenure problem is significant. A couple of things:
(i) the tenure consideration involves reviews by academic computer scientists, who may understand that open source contribs are meaningful, and should count towards tenure, but they simply have no way of evaluating the actual contribution itself. When it comes to conference/journal papers, there are metrics such as the reputation of the Journal, and the acceptance rate of the conference. But there is no such "quality of contrib" metric when it comes to open source contribs (Greg Dekoenigsberg has compiled some good ideas on his blog.)
(ii) Sure folks write code as part of their research, and also put it up with an open source license. But not many academic projects get actively maintained, and not many faculty actively contribute code to an existing open source project. This is hard because once the modifications yield publishable results, despite the quality of the code mods, there is little motivation for tenure-track folk to actually go the extra mile and get the code accepted into the project, or maintain an existing project.
At least a simple mechanism to evaluate code contribs that can be added to the tenure application must be developed.
This situation has to, and eventually will, change. But only if both academics and the industry folk keep going at the problem together. The FOSS symposium definitely helped a great extent in raising the level of awareness about this question.
Post a Comment
<< Home