Teaching pages (Physics and related topics).
Since I love both teaching and open source development, I suppose it was only a matter of time before I attempted a survey of open source text books. Here are my notes on the projects I've come across so far:
Light and Matter
The Light and Matter series is a set of six texts by Benjamin Crowell at Fullerton College in California. The series is aimed at the High School and Biology (i.e. low calc) audience. The source is distributed in LaTeX and versioned in Git. I love this guy!
Crowell also runs a book review site The Assayer, which reviews free books.
Radically Modern Introductory Physics
Radically Modern Introductory Physics is David J. Raymond's modern-physics-based approach to introductory physics. He posts the LaTeX source, but it does not seem to be version controlled.
Calculus Based Physics
Calculus Based Physics, by Jeffrey W. Schnick at St. Anselm in New Hampshire. It is under the Creative Commons Attribution-ShareAlike 3.0 License, and the sources are free to alter. However, there is no official version control, and the sources are in MS Word format :(. On the other hand, I wholeheartedly agree with all the objectives Schnick lists in his motivational note.
Textbook Revolution
Calculus Based Physics' Schnick linked to Textbook Revolution, which immediately gave off good tech vibes with an IRC node (#textbookrevolution). The site is basically a wiki with a browsable list of pointers to open textbooks. The list isn't huge, but it does prominently display copyright information, which makes it easier to separate the wheat from the chaff.
College Open Textbooks
College Open Textbooks provides another registry of open textbooks with clearly listed license information. They're funded by The William and Flora Hewlett Foundation (of NPR underwriting fame).
MERLOT's Open Textbook Initiative
The Multimedia Educational Resource for Learning and Online Teaching (MERLOT) is a California-based project that assembles educational resources. They have a large collection of open textbooks in a variety of fields. The Light and Matter series is well represented. Unfortunately, many of the texts seem to be "free as in beer" not "free as in freedom".
Open Access Textbooks
The Open Access Textbooks project is run by a number of Florida-based groups and funded by the U.S. Department of Education. However, I have grave doubts about any open source project that opens their project discussion with
Numerous issues that impact open textbook implementation (such as creating sustainable review processes and institutional reward structures) have yet to be resolved. The ability to financially sustain a large scale open textbook effort is also in question.
There are zounds of academics with enough knowledge and invested interest in developing an open source textbook. The resources (computers and personal websites) are generally already provided by academic institutions. Just pick a framework (LaTeX, HTML, ...), put the whole thing in Git, and start hacking. The community will take it from there.
Anyhow, everything I've read about this project smells like a bunch of bureaucrat's churning out sound bytes.
ArXiv
Finally, there are a number of textbooks on arXiv. For example, Siegel's Introduction to string field theory and Fields are posted source and all. The source will probably be good quality, but the licensing information may be unclear.
Available in a git repository.
Repository: parallel_computing
Author: W. Trevor King
In contrast to my course website project, which is mostly about constructing a framework for automatically compiling and installing LaTeX problem sets, Prof. Vallières' Parallel Computing course is basically an online textbook with a large amount of example software. In order to balance between to Prof. Vallières' original and my own aesthetic, I rolled a new solution from scratch. See my version of his Fall 2010 page for a live example.
Differences from my course website project:
- No PHP, since there is no dynamic content that cannot be handled with SSI.
- Less installation machinery. Only a few build/cleanup scripts to
avoid versioning really tedious bits. The repository is designed to
be dropped into your
~/public_html/
whole, while the course website project is designed torsync
the built components up as they go live. - Less LaTeX, more XHTML. It's easier to edit XHTML than it is to exit and compile LaTeX, and PDFs are large and annoying. As a computing class, there are fewer graphics than there are in an intro-physics class, so the extra power of LaTeX is not as useful.
Available in a git repository.
Repository: intro-physics
Author: W. Trevor King
Over a few years as a TA for assorted introductory physics classes,
I've assembled a nice website framework with lots of problems using my
LaTeX problempack package, along with some handy Makefiles
,
a bit of php, and SSI.
The result is the intro-physics
package, which should make it very
easy to whip up a course website, homeworks, etc. for an introductory
mechanics or E&M class (321 problems implemented as of October 2010).
With a bit of work to write up problems, the framework could easily be
extended to other subjects.
The idea is that a course website consists of a small, static HTML
framework, and a bunch of content that is gradually filled in as the
semester/quarter progresses. I've put the HTML framework in the
html/
directory, along with some of the write-once-per-course
content (e.g. Prof & TA info). See html/README
for more information
on the layout of the HTML.
The rest of the directories contain the code for compiling material
that is deployed as the course progresses. The announcements/
directory contains the atom feed for the course, and possibly a list
of email addresses of people who would like to (or should) be notified
when new announcements are posted. The latex/
directory contains
LaTeX source for the course documents for which it is available, and
the pdf/
directory contains PDFs for which no other source is
available (e.g. scans, or PDFs sent in by Profs or TAs who neglected
to include their source code).
Note that because this framework assumes the HTML content will be relatively static, it may not be appropriate for courses with large amounts of textbook-style content, which will undergo more frequent revision. It mayq also be excessive for courses that need less compiled content. For an example of another framework, see my branch of Prof. Vallières' Parallel Computing website.
Available in a git repository.
Repository: problempack
Author: W. Trevor King
I've put together a LaTeX package problempack
to make it easier
to write up problem sets with solutions for the classes I TA.
problempack.sty
The package takes care of a few details:
- Make it easy to compile one pdf with only the problems and another pdf with problems and solutions.
- Define nicely typeset environments for automatically or manually numbered problems.
- Save retyping a few of the parameters (course title, class title,
etc), that show up in the note title and also need to go out to
pdftitle
andpdfsubject
. - Change the page layout to minimize margins (saves paper on printing).
- Set the spacing between problems (e.g. to tweak output to a single page, versions >= 0.2).
- Add section level entries to the table-of-contents and hyperref bookmarks (versions >= 0.3).
The basic idea is to make it easy to write up notes. Just install
problempack.sty
in your texmf
tree, and then use it like I do in
the example included in the package. The example produces a simple
problem set (probs.pdf) and solution notes (sols.pdf).
For a real world example, look at my Phys 102 notes with and without solutions (source). Other notes produced in this fashion: Phys201 winter 2009, Phys201 spring 2009, and Phys102 summer 2009.
wtk_cmmds.sty
A related package that defines some useful physics macros (\U
, \E
,
\dg
, \vect
, \ihat
, ...) is my wtk_cmmds.sty
. This used to be a
part of problempack.sty
, but the commands are less general, so I
split them out into their own package.
wtk_format.sty
The final package in the problempack
repository is wtk_format.sty
,
which adjusts the default LaTeX margins to pack more content into a
single page.
I've had a few students confused by this sort of "zooming and chunking" approach to analyzing functions specifically, and technical problems in general, so I'll pass the link on in case you're interested. Curtesy of Charles Wells.