Open Source Technologies in Science Education: What's Your Geek IQ?

Stephen L Arnold Assoc. Faculty, Allan Hancock College Gentoo Linux Developer Sci, dev-tools, comm-fax herds
stephen.arnold@acm.org nerdboy@gentoo.org

Overview
• Definitions • What is Free and Open Source Software?
• Overview of the technology • Examples

• My View from the Trenches
• Specific applications • Student scores

• Results and Conclusions
• What works and what doesn't • Open source to the rescue

• Gentoo Linux (extra)

Why Open Source?
• User Freedom - Examine, use, and extend to fit

your needs. • Life-cycle costs - Reliability, Availability, Maintainability (RMA) • Pedagogy - Internals open to all, supports multiple levels of instruction, verifiability.
Citing everything from insufficient education and training, to the perceived but unrealized benefits of technology, and concerns about the risks to society, the NRC reports a need to get more value from information technology and education (NRC, 1999). NRC report also directly links wages to technology skills and education.

Open Source Technologies
• Earth Sciences
• Meteorological Analysis & Modeling • Image Processing, GIS, & Mapping

• Data Formats & Transports
• NetCDF, HDF4/5, LDM

• General Scientific Software
• Numerical Computing/Libraries • Cluster/High Performance Computing • Analysis/Visualization

• Desktop Tools
• Document Production – SGML, XML, PDF • Graphics Manipulation – too many to list • Archiving & backup – tar, gzip, bzip2, zip

Some Real-World Examples: RedHat with Gnome

Gentoo Linux Gnome Desktop

Open Source Technologies (cont.)
• Operating Systems and Hardware Platforms
• Linux – Numerous distributions that run on x86, PPC,

HPPA, MIPS, ARM, Sparc, Alpha, s390
• BSD – OpenBSD/NetBSD/FreeBSD (at least x86) • Various Embedded Devices – Sharp Zaurus, Ipaq, etc

• Network Services
• Web Application Servers, other services • Internet clients – web, email, messaging • Security tools and services

Software Development
• Programming Languages
• Ada, Python, C, Fortran, C++, Java, Perl, Ruby, AWK,

SmallTalk, Lisp (and more)

• Development Tools & Libraries
• GCC, SourceNavigator, Eclipse, Doxygen, Emacs,

bugzilla
• Glade/Python, GTK/CORBA (Gnome), Qt (KDE) • Udev/sysfs, HAL

• Configuration Management
• CVS/RCS, subversion, arch

View from the Trenches
• Gnome Desktop
• provides integrated yet independent components and

applications (CORBA, XML)
• Nautilus file manager for local and remote resources

– FTP, SSH, SMB, WebDAV

• OpenOffice productivity suite – Open document

formats, import/export • Mozilla/Firefox – Browsing, email, chat, XML tools • Accessories, games, multimedia, system tools • GIMP – GNU Image Manipulation Program

Gentoo with Gnome 2.8.2

Network/Web Services
• Apache/Zope Web servers:
• Documents, Applets, Discussion Forums; Future

Directions: Content Management and Portal services

• Real-time Chat and Conferencing:
• IRC as Virtual Office Hours, Video conferencing with

GnomeMeeting

• Third-Party Web Services:
• Blackboard, textbook companion sites, other

academic web sites

• Gentoo Linux:
• Supports scientific & high performance computing,

as well as general education, with a huge collection of cutting-edge applications

In-house Web Hosting
• Scalable and flexible
• Author's geography courses currently hosted on

personal web server on home DSL connection (dedicated geography server in purchase order queue; total cost $600 plus build time)
• Additional planned services include live

meteorological data, web-based analysis tools, as well as web-based GIS & mapping tools (requires additional network infrastructure and bandwidth)

• Low Cost
• Hardware and bandwidth only • OS and network servers freely available

• Test on the desktop, deploy on the LAN • Some Zope Examples

Zope Web Application Server

Zope Management Interface

Editing a DTML Page

SquishDot: An Example Product

Managing SquishDot

Zope CMF: The Content Management Framework

Assessment Types
• Exams, group/individual assignments - on-line

applications, some traditional
• Required: Open-book exams, group and individual

assignments and activities, semester project (eg, contributing relevant articles and comments on a web-based discussion forum)
• Optional: Additional articles, web-based quizzes and

exercises provided by textbook publisher

• Successful assessment methods combine

peer-interaction and community
• Discussion forum project • Migration research project • Focused group discussion (non-virtual) • Simply using the WWW is not enough

Assessment Results
Student Geography Scores by Semester
Semester Fall 2001 Fall 2002 Spring 2002** Spring 2003*,*** Fall 2003* Spring 2004* Fall 2004 LOW 45 50 35 35 82 61 21 HIGH 84 87 95 97 94 100 99 MEAN 70 68 82 84 90 90 76 MEDIAN 76 67 87 89 91 92 84 STD-DEV 13 12 16 16 7 17 32 N 16 14 12 23 9 26 17

* includes web-site extra credit ** first use of Squishdot discussion forum project *** migration research project

Training and Logistics Issues
• Student Technology Proficiency
• Medium on average, however, with a very broad

spread (ie, from very low to very high). Universal technology courses recent and not wide-spread

• Basic Skills
• Also highly variable in all areas (student population

high in recent immigrants and other ESL students)

• More Training Required
• Schools beginning to require freshman technology

courses
• Faculty/Staff professional development

Technological Conclusions
• Excellent overall
• Low cost, reliable, stable, cutting-edge tech • Everything you've seen today was created with

GNU/Linux and other Open Source tools
• Philosophically compatible with public education and

research
• Open and verifiable • Highly secure and flexible • Puts the user back in control

• Ideal for Students and Educators
• Freely available and distributable • Runs on older hardware of many varieties • Compatible with other platforms

Pedagogical Conclusions
• Standard assessment tools not very good
• Seductive and seemingly easy, but very little to

engage students
• Several semesters of low scores speak for

themselves

• Open Source tools foster creativity
• Customized and targeted web applications in just a

few mouse clicks
• Allows for both automation and exploration • Appropriate technology use is key

• Importance of technology and environment
• Real-world vs. virtual • Connecting course topics to the customer • Peer Interaction and “a place of their own”

Fini
Thanks for coming, and thanks for bringing some weather to San Diego... :) Further reading: http://www.gentoo.org/doc/en/index.xml http://www.python.org/moin/BeginnersGuide http://www.python.org/sigs/edu-sig/ http://www.stgray.com/quotes/python.html http://www.zope.org/ http://www.zope.org/Documentation/Books/ZopeBook/

Gentoo Details

(extra slides)

Gentoo Linux Features
• glibc 2.3.4+, gcc 3.4.x, ext3, ReiserFS, XFS,

• • • •

JFS, ALSA, pcmcia-cs, SELinux, PaX/Grsecurity, Propolice Xfree86 4.3 (and xorg 6.8.0-r4), OpenGL, KDE 3.3.1, Gnome 2.8, iptables, QoS qmail (with mysql and LDAP), postfix, courier udev/hotplug, sysfs, GRUB, lilo, milo, silo, palo, yaboot, BootX Multiple kernel possibilities
• Vanilla 2.4.26, 2.6.8.1 (stable), aa-, ac-, acpi-, mm-,

openmosix-, ppc-, ppc-benh-, redhat-sources
• Gentoo kernels with preempt, low latency, EVMS

• Prelinking, ccache, distcc

Gentoo Portage Features
• Provides functions/scripts which download, • • • •

patch, compile, and install packages Modeled on the ports-based BSD distributions Dependency checking, extreme customization Original source tarballs are downloaded The user specifies what they want, and the system is built to their specifications
• Compiles are optimized for your specific hardware • E.g. Altivec on G4 PPC chips • Pentium versus Athlon • Specify settings once, and all packages are built to

those options

Portage Ebuild Scripts
• Easy to read format, clear separation of

phases • KEYWORDS, DEPEND • Stable versus testing • CPAN/Portage integration
• Install and manage dependencies via Portage • Package management for perl modules

(including uninstall)
• Ebuilds are automatically created for CPAN

packages

Portage USE Flags
• Globally defined list of features
• Configure yours in /etc/make.conf

• USE="-gnome kde qt arts -nls python perl

• • • •

oggvorbis opengl sdl -postgres jpeg png truetype dvd avi aalib mpeg encode fbcon mmx" Each one defines specific functionality for each package to support USE flags generally map onto --configure options Install only what you want. No need to trim down a default installation “Opt-in” versus “opt-out”

Installation Process
• Currently no graphical installer • Just follow the detailed install documents • Briefly: • Boot from CD, setup networking, partition • Unpack stage 1, stage 2, or stage 3 • Chroot, bootstrap or emerge system • Compile kernel, install system logger, cron

daemon
• Setup bootloader. • Set timezone, configure additional users

Stage Tarballs
• Stage 1 install
• Bare-bones. Need to bootstrap, compile gcc, glibc,

system (make, perl, etc.), kernel, and user environment

• Stage 2 install
• Already bootstrapped. Compile system, kernel,

and user environment

• Stage 3 install
• Base system included. Compile kernel and boot

manager

• GRP install (Stage 3 add-ons)
• Precompiled packages with the default MAKEOPTS

and USE flags for your architecture

Binary Packages
• Build your own, distribute packages to your

machines
• emerge --buildpkg • FEATURES="buildpkg" • PORTAGE_BINHOST=”http://local-server”

• GRP (Gentoo Reference Platform)
• Pre-built binary packages using default options • Including Xfree86, Mozilla, Gnome, KDE, Emacs,

OpenOffice.org, Apache, MySQL, PostgreSQL, Samba

Try Gentoo Linux
• Download from www.gentoo.org
• 95-600mb iso images, plus 10-85mb stage files

• Unreal Tournament 2004 demo for x86/NVIDIA
• Does not touch your hard drive

• Live CDs for x86, PPC (NewWorld and

OldWorld), Alpha, AMD 64, HPPA, Sparc • All live CDs are also install and rescue CDs

Documentation
• Gentoo Handbook • Installation, FAQs • Portage user manual • USE flags, ENV.D, Security guide • Desktop configuration guide, rc-scripts,

ALSA, DRI, Java • AFS, OpenMosix, Diskless/LTSP, Printing, UML, IPv6, Virtual Mailhost • Developer documentation
• Ebuild creation, eclass • Documentation guide (XML syntax)

Gentoo Community
• Close contact with end users • Many ebuild scripts are submitted by users • IRC channels (on irc.freenode.net) - #gentoo • • • •

is the largest on the network with 900+ users Web-based forums (on forums.gentoo.org), 1000+ posts per day, 100,000+ topics Fully-public bug tracking (bugs.gentoo.org), 20,000+ hits per day “Gentoo Bug Day” Linux World Expo in Boston, SoCal Linux Expo in Los Angeles (Feb 2005)

Staying Informed
• News on www.gentoo.org • Gentoo Linux Security Announcements • • • •

(GLSA) RDF feed of news. GLSA feed coming soon Multiple mailing lists (each architecture, documentation, security) Gentoo Weekly News (GWN) Informal Discussion and Announcements
• Gentoo forums on forums.gentoo.org • Gentoo IRC channels on irc.freenode.net

Sign up to vote on this title
UsefulNot useful