From 65d32ad227affcf75d7094e74a36414357f9e49a Mon Sep 17 00:00:00 2001
From: "W. Trevor King"
Date: Mon, 8 Jun 2009 14:12:57 -0400
Subject: [PATCH 1/1] Began versioning.
This course-website framework developed over the first half of 2009
while TAing for Phys201 (Modern physics for engineers) at Drexel
University. After a few false starts at versioning, I'm starting this
new repository because I think I've figured out a stable scheme.
When you start a new course, clone this repository to create a working
copy. Seperate your commits on the clone into course-specific commits
(e.g. Makefile changes when adding homework 2, atom.xml updates, etc.)
and general commits (corrections to README files, additional problem
source in /latex/problems/, etc.). Then, cherry pick the
course-specific commits back into this repo with
git remote add phys201 /home/bob/phys201
git fetch phys201
git cherry-pick 1d8fb1fe41dfc1b1eb38c7b5d574577c4b341c58
git remote rm phys201
git remote prune phys201
The benefit of cloning an independent repo over just starting up a new
branch is that most people don't care about the particular per-course
details, but lots of people may want the framework, and not want to
worry about the disk space needed for all the per-course cruft.
From a more philosophical perspective, this repo will track the history
of 'what you want for building a course website', while the per-course
repos track the history of a particular course's website (and student
grades, TA emails, etc.).
---
Makefile | 28 ++
README | 27 ++
announcements/Makefile | 9 +
announcements/README | 26 ++
announcements/addresses.txt.examples | 6 +
announcements/script/course-details.sh | 9 +
announcements/script/initial-post.sh | 19 ++
announcements/script/post.sh | 57 ++++
html/.htaccess | 1 +
html/Makefile | 45 +++
html/README | 76 +++++
html/announcements.shtml | 9 +
html/homeworks.shtml | 10 +
html/inactive/contact.shtml | 21 ++
html/inactive/exams.shtml | 10 +
html/inactive/labs.shtml | 30 ++
html/inactive/lectures.shtml | 10 +
html/index.shtml | 27 ++
html/php/atom.php | 43 +++
html/php/people.php | 62 +++++
html/php/quarter.php | 4 +
html/php/section_docs.php | 44 +++
html/php/webmaster.php | 15 +
html/recitations.shtml | 10 +
html/shared/favicon.ico | Bin 0 -> 3638 bytes
html/shared/feed-icon-14x14.png | Bin 0 -> 689 bytes
html/shared/footer.shtml | 25 ++
html/shared/header.shtml | 63 +++++
html/shared/style.css | 120 ++++++++
html/xml/TAs.xml | 75 +++++
html/xml/admin_mailing_list.py | 27 ++
html/xml/department_xml_to_people.py | 60 ++++
html/xml/profs.xml | 12 +
html/xml/webmaster.xml | 5 +
latex/Makefile | 11 +
latex/README | 14 +
latex/hwk/Makefile | 21 ++
latex/hwk/hwk1/Makefile | 41 +++
latex/hwk/hwk1/all_problems.tex | 19 ++
latex/hwk/hwk1/problem1.tex | 1 +
latex/hwk/hwk1/problem2.tex | 1 +
latex/hwk/hwk1/problem3.tex | 1 +
latex/hwk/hwk1/probs.tex | 5 +
latex/hwk/hwk1/sols.tex | 5 +
latex/old-source/s09-phys201-syllabus.tex | 141 ++++++++++
latex/problems/README | 4 +
latex/problems/equation27.07.tex | 69 +++++
latex/problems/example13.06.T.tex | 25 ++
latex/problems/figure27.03.T.tex | 120 ++++++++
latex/problems/problem01.60.tex | 44 +++
latex/problems/problem01.62.tex | 37 +++
latex/problems/problem02.10.tex | 20 ++
latex/problems/problem02.16.tex | 16 ++
latex/problems/problem02.40.tex | 72 +++++
latex/problems/problem02.49.tex | 76 +++++
latex/problems/problem03.09.tex | 63 +++++
latex/problems/problem03.19.tex | 78 ++++++
latex/problems/problem03.24.tex | 52 ++++
latex/problems/problem03.43.tex | 55 ++++
latex/problems/problem04.08.tex | 67 +++++
latex/problems/problem04.22.tex | 82 ++++++
latex/problems/problem04.24.tex | 70 +++++
latex/problems/problem04.51.tex | 62 +++++
latex/problems/problem05.16.tex | 24 ++
latex/problems/problem05.18.tex | 33 +++
latex/problems/problem05.23.tex | 18 ++
latex/problems/problem05.24.tex | 55 ++++
latex/problems/problem05.32.tex | 31 +++
latex/problems/problem05.34.tex | 24 ++
latex/problems/problem05.45.tex | 77 +++++
latex/problems/problem05.47.tex | 41 +++
latex/problems/problem05.50.tex | 38 +++
latex/problems/problem05.52.tex | 107 +++++++
latex/problems/problem06.09.tex | 39 +++
latex/problems/problem06.24.tex | 31 +++
latex/problems/problem06.29.tex | 51 ++++
latex/problems/problem06.30.tex | 70 +++++
latex/problems/problem06.43.tex | 18 ++
latex/problems/problem06.57.tex | 50 ++++
latex/problems/problem07.02.tex | 38 +++
latex/problems/problem07.04.tex | 48 ++++
latex/problems/problem07.10.tex | 55 ++++
latex/problems/problem07.16.tex | 20 ++
latex/problems/problem07.22.tex | 60 ++++
latex/problems/problem07.28.tex | 43 +++
latex/problems/problem07.47.tex | 39 +++
latex/problems/problem07.50.tex | 69 +++++
latex/problems/problem07.54.tex | 46 +++
latex/problems/problem07.55.tex | 47 ++++
latex/problems/problem07.61.tex | 41 +++
latex/problems/problem07.62.tex | 47 ++++
latex/problems/problem08.05.tex | 27 ++
latex/problems/problem08.06.tex | 18 ++
latex/problems/problem08.17.tex | 29 ++
latex/problems/problem08.18.tex | 31 +++
latex/problems/problem08.24.tex | 33 +++
latex/problems/problem08.25.tex | 47 ++++
latex/problems/problem08.26.tex | 25 ++
latex/problems/problem08.28.tex | 47 ++++
latex/problems/problem08.43.tex | 31 +++
latex/problems/problem08.45.tex | 26 ++
latex/problems/problem08.48.tex | 31 +++
latex/problems/problem08.51.tex | 35 +++
latex/problems/problem09.18.tex | 33 +++
latex/problems/problem09.19.tex | 41 +++
latex/problems/problem09.22.tex | 46 +++
latex/problems/problem09.23.tex | 59 ++++
latex/problems/problem09.30.tex | 41 +++
latex/problems/problem09.31.tex | 24 ++
latex/problems/problem09.35.tex | 49 ++++
latex/problems/problem09.50.tex | 68 +++++
latex/problems/problem09.V12.tex | 39 +++
latex/problems/problem09.V13.tex | 21 ++
latex/problems/problem09.V17.tex | 75 +++++
latex/problems/problem09.V3.tex | 76 +++++
latex/problems/problem09.clock-orbit.T.tex | 30 ++
latex/problems/problem09.doppler.T.tex | 50 ++++
latex/problems/problem09.limo.T.limo.py | 92 ++++++
latex/problems/problem09.limo.T.tex | 59 ++++
latex/problems/problem10.13.tex | 36 +++
latex/problems/problem10.21.tex | 25 ++
latex/problems/problem10.44.tex | 56 ++++
latex/problems/problem10.72.tex | 44 +++
latex/problems/problem11.34.tex | 39 +++
latex/problems/problem11.35.tex | 34 +++
latex/problems/problem11.36.tex | 35 +++
latex/problems/problem11.37.tex | 45 +++
latex/problems/problem11.38.tex | 18 ++
latex/problems/problem11.41.tex | 29 ++
latex/problems/problem11.V1.tex | 191 +++++++++++++
latex/problems/problem11.V2.tex | 37 +++
latex/problems/problem12.01.tex | 10 +
latex/problems/problem12.02.tex | 40 +++
latex/problems/problem12.05.tex | 72 +++++
latex/problems/problem12.06.T.tex | 85 ++++++
latex/problems/problem12.07.tex | 17 ++
latex/problems/problem12.12.tex | 41 +++
latex/problems/problem12.15.tex | 35 +++
latex/problems/problem12.18.tex | 98 +++++++
latex/problems/problem12.20.tex | 163 +++++++++++
latex/problems/problem12.31.tex | 8 +
latex/problems/problem12.33.tex | 10 +
latex/problems/problem12.38.tex | 14 +
latex/problems/problem12.42.tex | 100 +++++++
latex/problems/problem12.47.T.tex | 98 +++++++
latex/problems/problem12.T.bombardier.jpg | Bin 0 -> 11296 bytes
latex/problems/problem12.T.tex | 45 +++
latex/problems/problem12.V1.tex | 126 +++++++++
latex/problems/problem12.V2.tex | 182 ++++++++++++
latex/problems/problem12.V3.tex | 72 +++++
latex/problems/problem13.05.tex | 50 ++++
latex/problems/problem13.07.tex | 47 ++++
latex/problems/problem13.10.tex | 28 ++
latex/problems/problem13.11.tex | 88 ++++++
latex/problems/problem13.12.T.tex | 42 +++
latex/problems/problem13.16.tex | 44 +++
latex/problems/problem13.18.tex | 24 ++
latex/problems/problem13.27.tex | 42 +++
latex/problems/problem13.40.tex | 61 ++++
latex/problems/problem14.05.tex | 61 ++++
latex/problems/problem14.06.tex | 27 ++
latex/problems/problem14.08.tex | 74 +++++
latex/problems/problem14.09.tex | 41 +++
latex/problems/problem14.11.T.tex | 253 +++++++++++++++++
latex/problems/problem14.19.T.tex | 37 +++
latex/problems/problem14.20.tex | 105 +++++++
latex/problems/problem14.22.tex | 14 +
latex/problems/problem14.51.T.tex | 69 +++++
latex/problems/problem19.03.tex | 29 ++
latex/problems/problem19.04.tex | 45 +++
latex/problems/problem19.07.tex | 61 ++++
latex/problems/problem19.09.tex | 66 +++++
latex/problems/problem19.11.tex | 80 ++++++
latex/problems/problem19.13.tex | 73 +++++
latex/problems/problem19.15.tex | 78 ++++++
latex/problems/problem19.16.tex | 68 +++++
latex/problems/problem19.19.tex | 49 ++++
latex/problems/problem19.31.tex | 16 ++
latex/problems/problem19.35.tex | 60 ++++
latex/problems/problem19.36.tex | 17 ++
latex/problems/problem19.38.tex | 25 ++
latex/problems/problem19.40.tex | 38 +++
latex/problems/problem19.55.tex | 111 ++++++++
latex/problems/problem19.57.tex | 69 +++++
latex/problems/problem19.59.tex | 113 ++++++++
latex/problems/problem19.62.tex | 105 +++++++
latex/problems/problem20.01.tex | 24 ++
latex/problems/problem20.03.tex | 31 +++
latex/problems/problem20.08.tex | 94 +++++++
latex/problems/problem20.11.tex | 14 +
latex/problems/problem20.19.tex | 53 ++++
latex/problems/problem20.20.tex | 36 +++
latex/problems/problem20.21.tex | 25 ++
latex/problems/problem20.22.tex | 25 ++
latex/problems/problem20.24.tex | 33 +++
latex/problems/problem20.27.tex | 29 ++
latex/problems/problem20.40.tex | 45 +++
latex/problems/problem20.41.tex | 49 ++++
latex/problems/problem20.43.tex | 70 +++++
latex/problems/problem20.47.tex | 18 ++
latex/problems/problem20.49.tex | 33 +++
latex/problems/problem20.51.tex | 16 ++
latex/problems/problem20.54.tex | 46 +++
latex/problems/problem20.69.tex | 29 ++
latex/problems/problem20.73.tex | 31 +++
latex/problems/problem21.01.tex | 19 ++
latex/problems/problem21.04.tex | 21 ++
latex/problems/problem21.14.tex | 18 ++
latex/problems/problem21.17.tex | 23 ++
latex/problems/problem21.25.inversion.tex | 63 +++++
latex/problems/problem21.25.tex | 63 +++++
latex/problems/problem21.27.tex | 62 +++++
latex/problems/problem21.29.tex | 99 +++++++
latex/problems/problem21.30.tex | 68 +++++
latex/problems/problem21.31.tex | 85 ++++++
latex/problems/problem21.32.tex | 120 ++++++++
latex/problems/problem21.35.tex | 165 +++++++++++
latex/problems/problem21.38.tex | 263 ++++++++++++++++++
latex/problems/problem21.40.tex | 84 ++++++
latex/problems/problem21.42.tex | 114 ++++++++
latex/problems/problem21.45.tex | 112 ++++++++
latex/problems/problem21.46.tex | 39 +++
latex/problems/problem21.53.tex | 29 ++
latex/problems/problem21.55.tex | 17 ++
latex/problems/problem21.58.tex | 78 ++++++
latex/problems/problem22.01.tex | 88 ++++++
latex/problems/problem22.03.tex | 24 ++
latex/problems/problem22.04.tex | 25 ++
latex/problems/problem22.06.tex | 23 ++
latex/problems/problem22.08.tex | 35 +++
latex/problems/problem22.10.tex | 27 ++
latex/problems/problem22.12.tex | 58 ++++
latex/problems/problem22.15.tex | 33 +++
latex/problems/problem22.16.tex | 25 ++
latex/problems/problem22.21.tex | 70 +++++
latex/problems/problem22.33.tex | 38 +++
latex/problems/problem22.34.tex | 60 ++++
latex/problems/problem22.37.tex | 68 +++++
latex/problems/problem22.39.tex | 31 +++
latex/problems/problem22.43.tex | 22 ++
latex/problems/problem22.48.tex | 47 ++++
latex/problems/problem22.56.tex | 21 ++
latex/problems/problem22.57.tex | 40 +++
latex/problems/problem22.58.tex | 78 ++++++
latex/problems/problem23.01.tex | 24 ++
latex/problems/problem23.02.tex | 23 ++
latex/problems/problem23.06.tex | 32 +++
latex/problems/problem23.07.tex | 18 ++
latex/problems/problem23.10.tex | 37 +++
latex/problems/problem23.12.tex | 21 ++
latex/problems/problem23.13.tex | 56 ++++
latex/problems/problem23.22.tex | 38 +++
latex/problems/problem23.53.tex | 46 +++
latex/problems/problem23.64.tex | 30 ++
latex/problems/problem24.07.tex | 52 ++++
latex/problems/problem24.08.tex | 34 +++
latex/problems/problem24.09.tex | 43 +++
latex/problems/problem24.18.T.tex | 25 ++
latex/problems/problem24.22.tex | 28 ++
latex/problems/problem24.25.tex | 47 ++++
latex/problems/problem24.39.T.tex | 26 ++
latex/problems/problem24.55.T.tex | 41 +++
latex/problems/problem24.57.T.antenna.jpg | Bin 0 -> 8008 bytes
latex/problems/problem24.57.T.tex | 72 +++++
latex/problems/problem27.02.T.tex | 35 +++
latex/problems/problem27.07.T.tex | 27 ++
latex/problems/problem27.15.tex | 40 +++
latex/problems/problem27.V1.tex | 89 ++++++
latex/problems/problem28.02.T.tex | 56 ++++
latex/problems/problem28.04.tex | 19 ++
latex/problems/problem28.06.tex | 22 ++
latex/problems/problem28.07.T.tex | 18 ++
latex/problems/problem28.09.T.tex | 33 +++
latex/problems/problem28.09.tex | 32 +++
latex/problems/problem28.10.tex | 27 ++
latex/problems/problem28.13.tex | 23 ++
latex/problems/problem28.14.tex | 25 ++
latex/problems/problem28.15.tex | 39 +++
latex/problems/problem28.16.tex | 28 ++
latex/problems/problem28.25.T.tex | 66 +++++
latex/problems/problem28.25.tex | 64 +++++
latex/problems/problem28.31.T.tex | 77 +++++
latex/problems/problem28.34.T.tex | 100 +++++++
latex/problems/problem28.38.T.tex | 27 ++
latex/problems/problem28.46.T.tex | 53 ++++
latex/problems/problem28.56.millikan.ppm | 61 ++++
latex/problems/problem28.56.millikan.scaled | 8 +
latex/problems/problem28.56.tex | 69 +++++
latex/problems/problem28.57.tex | 75 +++++
latex/problems/problem28.62.T.tex | 98 +++++++
latex/problems/problem28.V1.tex | 35 +++
latex/problems/problem28.V2.tex | 36 +++
latex/problems/problem28.V3.tex | 40 +++
latex/problems/problem28.compton-cat.T.tex | 19 ++
.../problem28.thornton_and_rex.eqn5.23.T.tex | 77 +++++
latex/problems/problem28.xray.T.tex | 38 +++
latex/problems/problem28.xray.T.xray_tube.png | Bin 0 -> 37136 bytes
latex/problems/question09.11.T.tex | 48 ++++
latex/problems/question12.07.T.tex | 41 +++
latex/problems/section11.05.T.tex | 54 ++++
latex/rec/Makefile | 21 ++
latex/rec/rec1/Makefile | 41 +++
latex/rec/rec1/all_problems.tex | 18 ++
latex/rec/rec1/problem1.tex | 1 +
latex/rec/rec1/problem2.tex | 1 +
latex/rec/rec1/problem3.tex | 1 +
latex/rec/rec1/problem4.tex | 1 +
latex/rec/rec1/problem5.tex | 1 +
latex/rec/rec1/probs.tex | 5 +
latex/rec/rec1/sols.tex | 5 +
latex/syllabus/Makefile | 17 ++
pdf/Makefile | 11 +
pdf/README | 1 +
pdf/exam/Makefile | 16 ++
pdf/exam/README | 1 +
pdf/exam/exam1/Makefile | 36 +++
pdf/lab/Makefile | 16 ++
pdf/lab/README | 26 ++
pdf/lab/lab1/Makefile | 30 ++
pdf/lab/sample-lab/Makefile | 29 ++
pdf/lab/sample-lab/report.pdf | Bin 0 -> 2322465 bytes
pdf/lec/Makefile | 16 ++
pdf/lec/README | 25 ++
pdf/lec/lec1/Makefile | 36 +++
324 files changed, 14418 insertions(+)
create mode 100644 Makefile
create mode 100644 README
create mode 100644 announcements/Makefile
create mode 100644 announcements/README
create mode 100644 announcements/addresses.txt.examples
create mode 100644 announcements/script/course-details.sh
create mode 100755 announcements/script/initial-post.sh
create mode 100755 announcements/script/post.sh
create mode 100644 html/.htaccess
create mode 100644 html/Makefile
create mode 100644 html/README
create mode 100644 html/announcements.shtml
create mode 100644 html/homeworks.shtml
create mode 100644 html/inactive/contact.shtml
create mode 100644 html/inactive/exams.shtml
create mode 100644 html/inactive/labs.shtml
create mode 100644 html/inactive/lectures.shtml
create mode 100644 html/index.shtml
create mode 100644 html/php/atom.php
create mode 100644 html/php/people.php
create mode 100644 html/php/quarter.php
create mode 100644 html/php/section_docs.php
create mode 100644 html/php/webmaster.php
create mode 100644 html/recitations.shtml
create mode 100644 html/shared/favicon.ico
create mode 100644 html/shared/feed-icon-14x14.png
create mode 100644 html/shared/footer.shtml
create mode 100644 html/shared/header.shtml
create mode 100644 html/shared/style.css
create mode 100644 html/xml/TAs.xml
create mode 100755 html/xml/admin_mailing_list.py
create mode 100755 html/xml/department_xml_to_people.py
create mode 100644 html/xml/profs.xml
create mode 100644 html/xml/webmaster.xml
create mode 100644 latex/Makefile
create mode 100644 latex/README
create mode 100644 latex/hwk/Makefile
create mode 100644 latex/hwk/hwk1/Makefile
create mode 100644 latex/hwk/hwk1/all_problems.tex
create mode 120000 latex/hwk/hwk1/problem1.tex
create mode 120000 latex/hwk/hwk1/problem2.tex
create mode 120000 latex/hwk/hwk1/problem3.tex
create mode 100644 latex/hwk/hwk1/probs.tex
create mode 100644 latex/hwk/hwk1/sols.tex
create mode 100644 latex/old-source/s09-phys201-syllabus.tex
create mode 100644 latex/problems/README
create mode 100644 latex/problems/equation27.07.tex
create mode 100644 latex/problems/example13.06.T.tex
create mode 100644 latex/problems/figure27.03.T.tex
create mode 100644 latex/problems/problem01.60.tex
create mode 100644 latex/problems/problem01.62.tex
create mode 100644 latex/problems/problem02.10.tex
create mode 100644 latex/problems/problem02.16.tex
create mode 100644 latex/problems/problem02.40.tex
create mode 100644 latex/problems/problem02.49.tex
create mode 100644 latex/problems/problem03.09.tex
create mode 100644 latex/problems/problem03.19.tex
create mode 100644 latex/problems/problem03.24.tex
create mode 100644 latex/problems/problem03.43.tex
create mode 100644 latex/problems/problem04.08.tex
create mode 100644 latex/problems/problem04.22.tex
create mode 100644 latex/problems/problem04.24.tex
create mode 100644 latex/problems/problem04.51.tex
create mode 100644 latex/problems/problem05.16.tex
create mode 100644 latex/problems/problem05.18.tex
create mode 100644 latex/problems/problem05.23.tex
create mode 100644 latex/problems/problem05.24.tex
create mode 100644 latex/problems/problem05.32.tex
create mode 100644 latex/problems/problem05.34.tex
create mode 100644 latex/problems/problem05.45.tex
create mode 100644 latex/problems/problem05.47.tex
create mode 100644 latex/problems/problem05.50.tex
create mode 100644 latex/problems/problem05.52.tex
create mode 100644 latex/problems/problem06.09.tex
create mode 100644 latex/problems/problem06.24.tex
create mode 100644 latex/problems/problem06.29.tex
create mode 100644 latex/problems/problem06.30.tex
create mode 100644 latex/problems/problem06.43.tex
create mode 100644 latex/problems/problem06.57.tex
create mode 100644 latex/problems/problem07.02.tex
create mode 100644 latex/problems/problem07.04.tex
create mode 100644 latex/problems/problem07.10.tex
create mode 100644 latex/problems/problem07.16.tex
create mode 100644 latex/problems/problem07.22.tex
create mode 100644 latex/problems/problem07.28.tex
create mode 100644 latex/problems/problem07.47.tex
create mode 100644 latex/problems/problem07.50.tex
create mode 100644 latex/problems/problem07.54.tex
create mode 100644 latex/problems/problem07.55.tex
create mode 100644 latex/problems/problem07.61.tex
create mode 100644 latex/problems/problem07.62.tex
create mode 100644 latex/problems/problem08.05.tex
create mode 100644 latex/problems/problem08.06.tex
create mode 100644 latex/problems/problem08.17.tex
create mode 100644 latex/problems/problem08.18.tex
create mode 100644 latex/problems/problem08.24.tex
create mode 100644 latex/problems/problem08.25.tex
create mode 100644 latex/problems/problem08.26.tex
create mode 100644 latex/problems/problem08.28.tex
create mode 100644 latex/problems/problem08.43.tex
create mode 100644 latex/problems/problem08.45.tex
create mode 100644 latex/problems/problem08.48.tex
create mode 100644 latex/problems/problem08.51.tex
create mode 100644 latex/problems/problem09.18.tex
create mode 100644 latex/problems/problem09.19.tex
create mode 100644 latex/problems/problem09.22.tex
create mode 100644 latex/problems/problem09.23.tex
create mode 100644 latex/problems/problem09.30.tex
create mode 100644 latex/problems/problem09.31.tex
create mode 100644 latex/problems/problem09.35.tex
create mode 100644 latex/problems/problem09.50.tex
create mode 100644 latex/problems/problem09.V12.tex
create mode 100644 latex/problems/problem09.V13.tex
create mode 100644 latex/problems/problem09.V17.tex
create mode 100644 latex/problems/problem09.V3.tex
create mode 100644 latex/problems/problem09.clock-orbit.T.tex
create mode 100644 latex/problems/problem09.doppler.T.tex
create mode 100644 latex/problems/problem09.limo.T.limo.py
create mode 100644 latex/problems/problem09.limo.T.tex
create mode 100644 latex/problems/problem10.13.tex
create mode 100644 latex/problems/problem10.21.tex
create mode 100644 latex/problems/problem10.44.tex
create mode 100644 latex/problems/problem10.72.tex
create mode 100644 latex/problems/problem11.34.tex
create mode 100644 latex/problems/problem11.35.tex
create mode 100644 latex/problems/problem11.36.tex
create mode 100644 latex/problems/problem11.37.tex
create mode 100644 latex/problems/problem11.38.tex
create mode 100644 latex/problems/problem11.41.tex
create mode 100644 latex/problems/problem11.V1.tex
create mode 100644 latex/problems/problem11.V2.tex
create mode 100644 latex/problems/problem12.01.tex
create mode 100644 latex/problems/problem12.02.tex
create mode 100644 latex/problems/problem12.05.tex
create mode 100644 latex/problems/problem12.06.T.tex
create mode 100644 latex/problems/problem12.07.tex
create mode 100644 latex/problems/problem12.12.tex
create mode 100644 latex/problems/problem12.15.tex
create mode 100644 latex/problems/problem12.18.tex
create mode 100644 latex/problems/problem12.20.tex
create mode 100644 latex/problems/problem12.31.tex
create mode 100644 latex/problems/problem12.33.tex
create mode 100644 latex/problems/problem12.38.tex
create mode 100644 latex/problems/problem12.42.tex
create mode 100644 latex/problems/problem12.47.T.tex
create mode 100644 latex/problems/problem12.T.bombardier.jpg
create mode 100644 latex/problems/problem12.T.tex
create mode 100644 latex/problems/problem12.V1.tex
create mode 100644 latex/problems/problem12.V2.tex
create mode 100644 latex/problems/problem12.V3.tex
create mode 100644 latex/problems/problem13.05.tex
create mode 100644 latex/problems/problem13.07.tex
create mode 100644 latex/problems/problem13.10.tex
create mode 100644 latex/problems/problem13.11.tex
create mode 100644 latex/problems/problem13.12.T.tex
create mode 100644 latex/problems/problem13.16.tex
create mode 100644 latex/problems/problem13.18.tex
create mode 100644 latex/problems/problem13.27.tex
create mode 100644 latex/problems/problem13.40.tex
create mode 100644 latex/problems/problem14.05.tex
create mode 100644 latex/problems/problem14.06.tex
create mode 100644 latex/problems/problem14.08.tex
create mode 100644 latex/problems/problem14.09.tex
create mode 100644 latex/problems/problem14.11.T.tex
create mode 100644 latex/problems/problem14.19.T.tex
create mode 100644 latex/problems/problem14.20.tex
create mode 100644 latex/problems/problem14.22.tex
create mode 100644 latex/problems/problem14.51.T.tex
create mode 100644 latex/problems/problem19.03.tex
create mode 100644 latex/problems/problem19.04.tex
create mode 100644 latex/problems/problem19.07.tex
create mode 100644 latex/problems/problem19.09.tex
create mode 100644 latex/problems/problem19.11.tex
create mode 100644 latex/problems/problem19.13.tex
create mode 100644 latex/problems/problem19.15.tex
create mode 100644 latex/problems/problem19.16.tex
create mode 100644 latex/problems/problem19.19.tex
create mode 100644 latex/problems/problem19.31.tex
create mode 100644 latex/problems/problem19.35.tex
create mode 100644 latex/problems/problem19.36.tex
create mode 100644 latex/problems/problem19.38.tex
create mode 100644 latex/problems/problem19.40.tex
create mode 100644 latex/problems/problem19.55.tex
create mode 100644 latex/problems/problem19.57.tex
create mode 100644 latex/problems/problem19.59.tex
create mode 100644 latex/problems/problem19.62.tex
create mode 100644 latex/problems/problem20.01.tex
create mode 100644 latex/problems/problem20.03.tex
create mode 100644 latex/problems/problem20.08.tex
create mode 100644 latex/problems/problem20.11.tex
create mode 100644 latex/problems/problem20.19.tex
create mode 100644 latex/problems/problem20.20.tex
create mode 100644 latex/problems/problem20.21.tex
create mode 100644 latex/problems/problem20.22.tex
create mode 100644 latex/problems/problem20.24.tex
create mode 100644 latex/problems/problem20.27.tex
create mode 100644 latex/problems/problem20.40.tex
create mode 100644 latex/problems/problem20.41.tex
create mode 100644 latex/problems/problem20.43.tex
create mode 100644 latex/problems/problem20.47.tex
create mode 100644 latex/problems/problem20.49.tex
create mode 100644 latex/problems/problem20.51.tex
create mode 100644 latex/problems/problem20.54.tex
create mode 100644 latex/problems/problem20.69.tex
create mode 100644 latex/problems/problem20.73.tex
create mode 100644 latex/problems/problem21.01.tex
create mode 100644 latex/problems/problem21.04.tex
create mode 100644 latex/problems/problem21.14.tex
create mode 100644 latex/problems/problem21.17.tex
create mode 100644 latex/problems/problem21.25.inversion.tex
create mode 100644 latex/problems/problem21.25.tex
create mode 100644 latex/problems/problem21.27.tex
create mode 100644 latex/problems/problem21.29.tex
create mode 100644 latex/problems/problem21.30.tex
create mode 100644 latex/problems/problem21.31.tex
create mode 100644 latex/problems/problem21.32.tex
create mode 100644 latex/problems/problem21.35.tex
create mode 100644 latex/problems/problem21.38.tex
create mode 100644 latex/problems/problem21.40.tex
create mode 100644 latex/problems/problem21.42.tex
create mode 100644 latex/problems/problem21.45.tex
create mode 100644 latex/problems/problem21.46.tex
create mode 100644 latex/problems/problem21.53.tex
create mode 100644 latex/problems/problem21.55.tex
create mode 100644 latex/problems/problem21.58.tex
create mode 100644 latex/problems/problem22.01.tex
create mode 100644 latex/problems/problem22.03.tex
create mode 100644 latex/problems/problem22.04.tex
create mode 100644 latex/problems/problem22.06.tex
create mode 100644 latex/problems/problem22.08.tex
create mode 100644 latex/problems/problem22.10.tex
create mode 100644 latex/problems/problem22.12.tex
create mode 100644 latex/problems/problem22.15.tex
create mode 100644 latex/problems/problem22.16.tex
create mode 100644 latex/problems/problem22.21.tex
create mode 100644 latex/problems/problem22.33.tex
create mode 100644 latex/problems/problem22.34.tex
create mode 100644 latex/problems/problem22.37.tex
create mode 100644 latex/problems/problem22.39.tex
create mode 100644 latex/problems/problem22.43.tex
create mode 100644 latex/problems/problem22.48.tex
create mode 100644 latex/problems/problem22.56.tex
create mode 100644 latex/problems/problem22.57.tex
create mode 100644 latex/problems/problem22.58.tex
create mode 100644 latex/problems/problem23.01.tex
create mode 100644 latex/problems/problem23.02.tex
create mode 100644 latex/problems/problem23.06.tex
create mode 100644 latex/problems/problem23.07.tex
create mode 100644 latex/problems/problem23.10.tex
create mode 100644 latex/problems/problem23.12.tex
create mode 100644 latex/problems/problem23.13.tex
create mode 100644 latex/problems/problem23.22.tex
create mode 100644 latex/problems/problem23.53.tex
create mode 100644 latex/problems/problem23.64.tex
create mode 100644 latex/problems/problem24.07.tex
create mode 100644 latex/problems/problem24.08.tex
create mode 100644 latex/problems/problem24.09.tex
create mode 100644 latex/problems/problem24.18.T.tex
create mode 100644 latex/problems/problem24.22.tex
create mode 100644 latex/problems/problem24.25.tex
create mode 100644 latex/problems/problem24.39.T.tex
create mode 100644 latex/problems/problem24.55.T.tex
create mode 100644 latex/problems/problem24.57.T.antenna.jpg
create mode 100644 latex/problems/problem24.57.T.tex
create mode 100644 latex/problems/problem27.02.T.tex
create mode 100644 latex/problems/problem27.07.T.tex
create mode 100644 latex/problems/problem27.15.tex
create mode 100644 latex/problems/problem27.V1.tex
create mode 100644 latex/problems/problem28.02.T.tex
create mode 100644 latex/problems/problem28.04.tex
create mode 100644 latex/problems/problem28.06.tex
create mode 100644 latex/problems/problem28.07.T.tex
create mode 100644 latex/problems/problem28.09.T.tex
create mode 100644 latex/problems/problem28.09.tex
create mode 100644 latex/problems/problem28.10.tex
create mode 100644 latex/problems/problem28.13.tex
create mode 100644 latex/problems/problem28.14.tex
create mode 100644 latex/problems/problem28.15.tex
create mode 100644 latex/problems/problem28.16.tex
create mode 100644 latex/problems/problem28.25.T.tex
create mode 100644 latex/problems/problem28.25.tex
create mode 100644 latex/problems/problem28.31.T.tex
create mode 100644 latex/problems/problem28.34.T.tex
create mode 100644 latex/problems/problem28.38.T.tex
create mode 100644 latex/problems/problem28.46.T.tex
create mode 100644 latex/problems/problem28.56.millikan.ppm
create mode 100644 latex/problems/problem28.56.millikan.scaled
create mode 100644 latex/problems/problem28.56.tex
create mode 100644 latex/problems/problem28.57.tex
create mode 100644 latex/problems/problem28.62.T.tex
create mode 100644 latex/problems/problem28.V1.tex
create mode 100644 latex/problems/problem28.V2.tex
create mode 100644 latex/problems/problem28.V3.tex
create mode 100644 latex/problems/problem28.compton-cat.T.tex
create mode 100644 latex/problems/problem28.thornton_and_rex.eqn5.23.T.tex
create mode 100644 latex/problems/problem28.xray.T.tex
create mode 100644 latex/problems/problem28.xray.T.xray_tube.png
create mode 100644 latex/problems/question09.11.T.tex
create mode 100644 latex/problems/question12.07.T.tex
create mode 100644 latex/problems/section11.05.T.tex
create mode 100644 latex/rec/Makefile
create mode 100644 latex/rec/rec1/Makefile
create mode 100644 latex/rec/rec1/all_problems.tex
create mode 120000 latex/rec/rec1/problem1.tex
create mode 120000 latex/rec/rec1/problem2.tex
create mode 120000 latex/rec/rec1/problem3.tex
create mode 120000 latex/rec/rec1/problem4.tex
create mode 120000 latex/rec/rec1/problem5.tex
create mode 100644 latex/rec/rec1/probs.tex
create mode 100644 latex/rec/rec1/sols.tex
create mode 100644 latex/syllabus/Makefile
create mode 100644 pdf/Makefile
create mode 100644 pdf/README
create mode 100644 pdf/exam/Makefile
create mode 100644 pdf/exam/README
create mode 100644 pdf/exam/exam1/Makefile
create mode 100644 pdf/lab/Makefile
create mode 100644 pdf/lab/README
create mode 100644 pdf/lab/lab1/Makefile
create mode 100644 pdf/lab/sample-lab/Makefile
create mode 100644 pdf/lab/sample-lab/report.pdf
create mode 100644 pdf/lec/Makefile
create mode 100644 pdf/lec/README
create mode 100644 pdf/lec/lec1/Makefile
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..69702dd
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,28 @@
+INSTALL_HOST = einstein
+INSTALL_USER = wking
+INSTALL_DIR = public_html/courses/phys201_s09
+SOURCE_DIR := $(INSTALL_DIR)/source # := to avoid shifting with $INSTALL_DIR
+
+FRAMEWORK_SUBDIR = html
+CONTENT_SUBDIRS = announcements latex
+SUBDIRS = $(FRAMEWORK_SUBDIR) $(CONTENT_SUBDIRS)
+
+export INSTALL_HOST
+export INSTALL_USER
+export INSTALL_DIR
+export SOURCE_DIR
+
+install :
+ @for i in $(SUBDIRS); do \
+ echo "make install in $$i..."; \
+ (cd $$i; $(MAKE) $(MFLAGS) install); done
+
+clean :
+ @for i in $(SUBDIRS); do \
+ echo "make clean in $$i..."; \
+ (cd $$i; $(MAKE) $(MFLAGS) clean); done
+
+echo :
+ @for i in $(SUBDIRS); do \
+ echo "make echo in $$i..."; \
+ (cd $$i; $(MAKE) $(MFLAGS) echo); done
diff --git a/README b/README
new file mode 100644
index 0000000..7a2efac
--- /dev/null
+++ b/README
@@ -0,0 +1,27 @@
+This is an attempt at an organized, open source course website. The
+idea is that a course website consists of a 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).
+
+Installation is though a recursive Makefile framework. You'll need to
+set the INSTALL_* variables once at the beginning of the course to
+make sure all the files go to the right place, and I'd strongly
+recommend setting up a ssh-keyed login from your work machine to your
+hosted web account (see http://www.physics.drexel.edu/~wking/code/#SSH ).
+
+Not posted on the website but also important to the course are the
+students' grades, which I keep in the grades directory. See the
+README files in any of the subdirectories for more details on that
+particular portion.
diff --git a/announcements/Makefile b/announcements/Makefile
new file mode 100644
index 0000000..63361ac
--- /dev/null
+++ b/announcements/Makefile
@@ -0,0 +1,9 @@
+INSTALL_FILES = atom.xml
+INSTALL_DIR := $(INSTALL_DIR)/xml
+
+clean :
+ rm -f install
+
+install : $(INSTALL_FILES)
+ scp -p $^ $(INSTALL_USER)@$(INSTALL_HOST):$(INSTALL_DIR)
+ @date > $@
diff --git a/announcements/README b/announcements/README
new file mode 100644
index 0000000..f3a7f7e
--- /dev/null
+++ b/announcements/README
@@ -0,0 +1,26 @@
+Construct the atom feed using
+ atomgen -o atom.xml
+See
+ atomgen --help
+for more information.
+
+For example:
+ atomgen -o atom.xml new --title 'Physics 201' --author 'W. Trevor King' \
+ http://www.physics.drexel.edu/~wking/phys201
+ echo "Changes to the Phys201 website will be noted in this feed." | \
+ atomgen -o atom.xml add -i atom.xml 'Feed purpose' \
+ http://www.physics.drexel.edu/~wking/phys201
+
+
+You can send automatic emails to your students when you publish new
+announcements in the atom feed. The best way I have found to date
+consists of monitoring the posted atom.xml file with rss2email
+ http://rss2email.infogami.com/
+I setup r2e to monitor the feed and email me when there's a change.
+r2e runs every 15 minutes in a cron job
+ 15 * * * * /usr/bin/r2e run
+Then I set up a procmail rule to forward the mail off to the list
+ :0
+ * ^From: "Physics 201, W. Trevor King" $
+ ! `grep -v '^#' $HOME/course/announcements/addresses.txt`
+ # ^--- Make sure those are backticks, BTW (ASCII 96) ---^
diff --git a/announcements/addresses.txt.examples b/announcements/addresses.txt.examples
new file mode 100644
index 0000000..5647f35
--- /dev/null
+++ b/announcements/addresses.txt.examples
@@ -0,0 +1,6 @@
+# Administrators
+John JJ Smith
+Johnny Appleseed
+# Students
+Jack
+Jill
diff --git a/announcements/script/course-details.sh b/announcements/script/course-details.sh
new file mode 100644
index 0000000..cfc58f9
--- /dev/null
+++ b/announcements/script/course-details.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+#
+# Set-up some course-specific details for announcement/script/*.sh
+# Not intended to be used directly
+
+# No trailing slash on the course website, please.
+COURSE_WEBSITE='http://www.physics.drexel.edu/~wking/course'
+COURSE_TITLE='Physics 201'
+ATOM_AUTHOR='W. Trevor King'
diff --git a/announcements/script/initial-post.sh b/announcements/script/initial-post.sh
new file mode 100755
index 0000000..b92afd8
--- /dev/null
+++ b/announcements/script/initial-post.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# Create the initial posting for a course. Use carefully, this is
+# just meant to save some typing, and it might not fit into your
+# layout without a bit of tweaking.
+#
+# From the announcements directory
+# usage: script/initial-post.sh
+
+. script/course-details.sh
+
+echo "atomgen -o atom.xml new --title \"$COURSE_TITLE\" --author \"$ATOM_AUTHOR\" \"$COURSE_WEBSITE\""
+atomgen -o atom.xml new --title "$COURSE_TITLE" --author "$ATOM_AUTHOR" "$COURSE_WEBSITE"
+
+echo "echo \"Changes to the $COURSE_TITLE website will be noted in this feed.\" | \\
+ atomgen -o atom.xml add -i atom.xml 'Feed purpose' \\
+ \"$COURSE_WEBSITE\""
+echo "Changes to the $COURSE_TITLE website will be noted in this feed." | \
+ atomgen -o atom.xml add -i atom.xml 'Feed purpose' "$COURSE_WEBSITE"
diff --git a/announcements/script/post.sh b/announcements/script/post.sh
new file mode 100755
index 0000000..2047000
--- /dev/null
+++ b/announcements/script/post.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+#
+# Create a post pointing out a change in the website. Use carefully,
+# this is just meant to save some typing, and it might not fit into
+# your layout without a bit of tweaking.
+#
+# From the announcements directory
+# usage: script/post.sh []
+# where is one of hwk, lec, rec, lab, exam;
+# is an integer; and is an optional explaination.
+#
+# For example,
+# script/post.sh rec 2 solutions
+# points out the posting of Recitation 2 solutions, and targets the URL
+# $COURSE_WEBSITE/recitations.shtml#s2
+
+. script/course-details.sh
+
+if [ "$#" -lt 2 ]; then
+ echo "usage: script/post.sh []"
+ exit 1
+fi
+
+DIR="$1"
+INDEX="$2"
+NOTE="$3"
+
+if [ -n "$NOTE" ] && [ "${NOTE:0:1}" != " " ]; then
+ NOTE=" $NOTE" # ensure leading space
+fi
+
+if [ "$DIR" == "hwk" ]; then
+ NAME="Homework"
+ PAGE="homeworks.shtml"
+elif [ "$DIR" == "lec" ]; then
+ NAME="Lecture"
+ PAGE="lectures.shtml"
+elif [ "$DIR" == "rec" ]; then
+ NAME="Recitation"
+ PAGE="recitations.shtml"
+elif [ "$DIR" == "lab" ]; then
+ NAME="Lab"
+ PAGE="labs.shtml"
+elif [ "$DIR" == "exam" ]; then
+ NAME="Exam"
+ PAGE="exams.shtml"
+else
+ echo "Unrecognized dir '$DIR'"
+ exit 1
+fi
+
+echo "echo \"$NAME $INDEX$NOTE posted.\" | \\
+ atomgen -o atom.xml add -i atom.xml \"$NAME $INDEX$NOTE posted.\" \\
+ \"$COURSE_WEBSITE/$PAGE#s$INDEX\""
+echo "$NAME $INDEX$NOTE posted." | \
+ atomgen -o atom.xml add -i atom.xml "$NAME $INDEX$NOTE posted." \
+ "$COURSE_WEBSITE/$PAGE#s$INDEX"
diff --git a/html/.htaccess b/html/.htaccess
new file mode 100644
index 0000000..f5ff39e
--- /dev/null
+++ b/html/.htaccess
@@ -0,0 +1 @@
+AddType application/x-httpd-php .shtml
diff --git a/html/Makefile b/html/Makefile
new file mode 100644
index 0000000..53fcf32
--- /dev/null
+++ b/html/Makefile
@@ -0,0 +1,45 @@
+HTML_FILES = $(shell echo *.shtml)
+EMPTY_DIRS = doc source
+DEEP_EMPYT_DIRS = doc/exam doc/hwk doc/lab doc/lec doc/rec
+HTML_DIRS = shared php xml $(EMPTY_DIRS) $(DEEP_EMPTY_DIRS)
+SOURCE_FILES = $(HTML_FILES) $(HTML_DIRS) README .htaccess
+OTHER_FILES = Makefile
+DIST_FILES = $(SOURCE_FILES) $(OTHER_FILES)
+DIST_FILE = website_framework.tar.gz
+DIST_DIR = html
+
+clean :
+ rm -rf $(DIST_FILE) $(DIST_DIR) install*
+
+$(DIST_FILE) : $(DIST_FILES) $(EMPTY_DIRS)
+ mkdir $(DIST_DIR)
+ cp -rp $^ $(DIST_DIR)
+ tar -cozf $@ $(DIST_DIR)
+ rm -rf $(DIST_DIR)
+
+install : install-html install-source
+
+# Create a new directory for the installation
+install-dir :
+ ssh $(INSTALL_USER)@$(INSTALL_HOST) mkdir $(INSTALL_DIR)
+ @date > $@
+
+# Avoid the install-dir step, but allow installation to continue
+install-override :
+ @date > install-dir
+
+# The transform removes the preceeding DIST_DIR (e.g. `html/')
+install-html : $(DIST_FILE) install-dir
+ cat $< | ssh $(INSTALL_USER)@$(INSTALL_HOST) \
+ tar --transform="s,$(DIST_DIR),.," -xzvC $(INSTALL_DIR)
+ ssh $(INSTALL_USER)@$(INSTALL_HOST) \
+ cd $(INSTALL_DIR) '&&' rm -rf $(OTHER_FILES) $(DIST_DIR)
+ @date > $@
+
+install-source : $(DIST_FILE) install-html
+ scp -p $(DIST_FILE) $(INSTALL_USER)@$(INSTALL_HOST):$(SOURCE_DIR)
+ @date > $@
+
+# Create empty directories if neccessary (Git doesn't track dirs)
+$(EMPTY_DIRS) :
+ mkdir $@
diff --git a/html/README b/html/README
new file mode 100644
index 0000000..b01d1a9
--- /dev/null
+++ b/html/README
@@ -0,0 +1,76 @@
+To manage this website:
+
+**** Static information ****
+
+This information should only need to be setup at the beginning of the
+course.
+
+** Introductory Blurbs **
+
+You should change the introductory patter in all the *.shtml files
+as necessary to suit your course.
+
+** Contact Information **
+
+Add appropriate entries to the profs.xml, TAs.xml, and webmaster.xml
+files in the xml directory.
+
+The prof and TA files are formatted into XHTML by people.php, and the
+output is included in contact.shtml. The webmaster xml file is
+formatted by webmaster.php. Because the formatting occurs at
+run-time, the served page will always reflect the current xml data.
+
+** Course Information **
+
+Add appropriate entries to the course.xml file in the xml directory.
+The course xml file is formatted by quarter.php, and maybe a few more
+in the future.
+
+
+**** Dynamic information ****
+
+** Assignments / Section documents **
+
+This material gets added and updated as the course progresses.
+Basically, it consists of a lab, rectitation, exam, etc. files
+(e.g. problems, solutions, procedures, etc.). The contents of the
+directories in doc (e.g. labs) are scanned by section_docs.php to
+create a list of all the files in the directory (e.g. 'doc/lab/'
+beginning with a certain prefix (e.g. lab[0-9], starts with 'lab').
+So simply dumping the appropriate files into the appropriate directory
+should get them displayed on the website.
+
+If you want to add a comment to a section document section (e.g. to
+point out the due date for hwk3, or the date/time/room of exam1), just
+add the a relevant XHTML snippet to the *_comment file. For example:
+
+The Interference lab starts on Wed., April 08, 2009.
+
+Wednesday, April 8, Thursday, April 9 and Friday, April 10, 2009:
+EVEN number sections 060, 062, 064, and 66.
+
+
+Wednesday, April 15, Thursday, April 16, and Friday, April 17, 2009:
+ODD number sections 063, 065, 071, and 073.
+
+
+
+If you have something that you want to put up later (e.g. solutions)
+you can chmod it 640 (so that it's not world-readable), and the php
+parser will ignore the file. After you have collected the
+homework/exam/etc., you chan chmod 644 the file (so that it is world
+readable) and it will show up on the website.
+
+** Announcements / Atom feed **
+
+Course announcements should be formatted in an atom feed
+ http://en.wikipedia.org/wiki/Atom_(standard)
+Atom feeds may be generated with a number of tools, but a simple
+command-line generator for linux is
+ http://www.physics.drexel.edu/~wking/code#atomgen
+Once you've generated the atom.xml file, copy it into the xml
+directory so atom.php can find it, and the announcements page will be
+filled in automatically. Another benefit of this approach is that a
+feed monitor such as rss2email can be used to monitor the feed and
+send classwide emails out whenever a new announcement is posted
+(http://rss2email.infogami.com/).
diff --git a/html/announcements.shtml b/html/announcements.shtml
new file mode 100644
index 0000000..0175860
--- /dev/null
+++ b/html/announcements.shtml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/html/homeworks.shtml b/html/homeworks.shtml
new file mode 100644
index 0000000..20ef959
--- /dev/null
+++ b/html/homeworks.shtml
@@ -0,0 +1,10 @@
+
+
+Homeworks
+
+
+
+
diff --git a/html/inactive/contact.shtml b/html/inactive/contact.shtml
new file mode 100644
index 0000000..58ce033
--- /dev/null
+++ b/html/inactive/contact.shtml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+For any questions about the webpage, contact
+.
+
+
+
diff --git a/html/inactive/exams.shtml b/html/inactive/exams.shtml
new file mode 100644
index 0000000..d5927ee
--- /dev/null
+++ b/html/inactive/exams.shtml
@@ -0,0 +1,10 @@
+
+
+Exams
+
+
+
+
diff --git a/html/inactive/labs.shtml b/html/inactive/labs.shtml
new file mode 100644
index 0000000..3abfa6a
--- /dev/null
+++ b/html/inactive/labs.shtml
@@ -0,0 +1,30 @@
+
+
+Labs
+
+
+ - All students should be present in Disque-820A - Phys201
+ Laboratory - a few minutes before the start of their scheduled lab.
+
+ - Please note that pre-lab work must be completed before you go to
+ the lab to perform the experiment.
+
+ - All students in a group must actively participate in the lab work.
+
+ -
+ All pages in each report must be completed and submitted to your lab
+ instructor before you leave the laboratory. To get a feeling for
+ our expectations, consider this
+ sample lab report.
+
+ -
+ No grade will be given for incomplete pre-lab work or lab reports.
+
+
+
+
+
+
diff --git a/html/inactive/lectures.shtml b/html/inactive/lectures.shtml
new file mode 100644
index 0000000..9afd513
--- /dev/null
+++ b/html/inactive/lectures.shtml
@@ -0,0 +1,10 @@
+
+
+Lectures
+
+
+
+
diff --git a/html/index.shtml b/html/index.shtml
new file mode 100644
index 0000000..5a31893
--- /dev/null
+++ b/html/index.shtml
@@ -0,0 +1,27 @@
+
+
+Physics 201 - Fundamentals of Physics III
+
+
+
+This is my personal Phys 201 course page, for things specific to my
+two recitations. I'll probably just be posting homework solutions,
+but I'll email you and post an announcement if that changes.
+
+
+Resources
+
+
+
+Source code
+
+For those who are interested, the source code used to generate the
+content of this page is available here.
+
+
+
diff --git a/html/php/atom.php b/html/php/atom.php
new file mode 100644
index 0000000..5990683
--- /dev/null
+++ b/html/php/atom.php
@@ -0,0 +1,43 @@
+\n$content\n
\n";
+}
+
+function printAtom($feed_title, $feed, $ignored_title){
+ echo "$feed_title
\n\n";
+
+ /* convert entries to an array (from some sort of iterable) */
+ $entries = array();
+ foreach($feed->entry as $entry)
+ $entries[] = $entry;
+
+ /* print the entries */
+ foreach(array_reverse($entries) as $entry) {
+ $title=$entry->title;
+ $link=$entry->link['href'];
+ $tpub_string=$entry->published;
+ $tpub=strtotime($tpub_string);
+ $time=strftime("%r %A, %B %d, %Y", $tpub);
+ if ($title == $ignored_title)
+ continue;
+ echo "\n";
+ printContent($entry->content->asXML());
+ }
+}
+
+?>
diff --git a/html/php/people.php b/html/php/people.php
new file mode 100644
index 0000000..e3e97d3
--- /dev/null
+++ b/html/php/people.php
@@ -0,0 +1,62 @@
+\n";
+}
+function printPeopleEnd($use_pictures){
+ if ($use_pictures == false)
+ echo "\n";
+}
+function printPeople($title, $people, $use_pictures){
+ if ($use_pictures == true)
+ echo " $title
\n";
+ else
+ echo " $title |
\n";
+ foreach($people->person as $person){
+ $name=$person->name;
+ if (strlen($person->url) > 0){
+ $href=" href=\"".$person->url."\"";
+ } else {
+ $href="";
+ }
+ $office=$person->office;
+ $email=$person->email;
+ $hours=$person->hours;
+ $picture=$person->picture;
+ $extension=$person->extension;
+ if ($use_pictures == true) {
+ echo " \n";
+ echo "
\n";
+ echo "
\n";
+ echo " $name
\n";
+ echo " Email: $email
\n";
+ echo " Office: $office
\n";
+ echo " Hours: $hours
\n";
+ echo " Extension: $extension
\n";
+ echo "
\n";
+ echo "
\n";
+ } else {
+ echo " $name | $office | $email |
\n";
+ if (strlen($hours) > 0){
+ echo " | Office hours: $hours |
\n";
+ }
+ }
+ }
+}
+?>
diff --git a/html/php/quarter.php b/html/php/quarter.php
new file mode 100644
index 0000000..59d38f2
--- /dev/null
+++ b/html/php/quarter.php
@@ -0,0 +1,4 @@
+
diff --git a/html/php/section_docs.php b/html/php/section_docs.php
new file mode 100644
index 0000000..ab20df1
--- /dev/null
+++ b/html/php/section_docs.php
@@ -0,0 +1,44 @@
+=0; $i-=1) {
+ $front = "$directory/$startswith".$i."_";
+ $frontlen = strlen($front);
+ $files = glob($front."*");
+ $comment_file = $front.'comment'; // (X)HTML fragment commenting on doc.
+ $num_readable = 0;
+ foreach ($files as $file) {
+ if (is_readable($file) && $file != $comment_file) {
+ $num_readable += 1;
+ }
+ }
+ if ($num_readable > 0 or is_readable($comment_file)) {
+ echo "$title $i
\n";
+ } // 's' b/c id attributes must begin with a letter, not a digit.
+ if (is_readable($comment_file)) {
+ readfile($comment_file);
+ }
+ if ($num_readable > 0) {
+ echo "\n";
+ foreach ($files as $file) {
+ if (!is_readable($file) or $file == $comment_file) {
+ continue;
+ }
+ $len = strlen($file);
+ $url = $file;
+ $name = substr($file, $frontlen, $len-$frontlen); // remove $front
+
+ echo " - $name$mode
\n";
+ }
+ echo "
\n";
+ }
+ }
+}
+?>
diff --git a/html/php/webmaster.php b/html/php/webmaster.php
new file mode 100644
index 0000000..fba3f4e
--- /dev/null
+++ b/html/php/webmaster.php
@@ -0,0 +1,15 @@
+name;
+$email=$s->email;
+if (strlen($email) > 0)
+ echo "$name ($email)";
+else
+ echo "$name";
+?>
diff --git a/html/recitations.shtml b/html/recitations.shtml
new file mode 100644
index 0000000..cb1a671
--- /dev/null
+++ b/html/recitations.shtml
@@ -0,0 +1,10 @@
+
+
+Recitations
+
+
+
+
diff --git a/html/shared/favicon.ico b/html/shared/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..028b0f50207c5ca34819ae6feb24443519144512
GIT binary patch
literal 3638
zcmeHJId2+a6dab@2gWysgpkWPPGaID4hgx)c2rbQB6m(fM@L0LL6rs}T)3h@X(;IU
z10V{n0zm;i1p*0)28knY*J4>LKuV%GQo@r~-_FeYcHa)GSpW$bXtkhKg|Bkp5P->a
zjlZjaZ^RuDM=c-EJ47(P-`rOJV82
z(t+D|!0-#TMkU_13(1}s8z7y61~9q(P&i2
z?pQ3w=XWBJKr)%+b3C0+^I4wFW|7O~kk98)C=^gE7EvmdP%f8e=6ti+M61<8yWJKt
zzt`)b-|u5E7+^RYF24bbUXZ2s&pN>VCpG>7=RNMp1FqxHGEZkeldPDll0drh59{*N
z)3f*U?!nE^)vE5r%oa|2X}2B#%>9`S*W{NS`d~a=&~QxG*;}C7NM9H0^tat8!km#R
z5oXW8yb;!W2>G60%OrO05V?9=HOh%lRS(tky!*UETcH-TCU7SrqEjJM#?B`_A)!p7(kFf9-P@=@15kkTkGK
zgFusyy#KECqZzRdBLb=P?$(kUP;>kYTDeG&{|a+iOiRbI6nbQ)j#7bOf>iF=C+|_py<&Fo1F5cC*iEM?zZGC{ejNg4LWYp=S$L6Qaby6y
zp$+F`250{%tU{Lg$5*ROH}y!1UKJS4*xqd7P(Y3JQF?lrnf?yerr%&6yGXLG1ur*B
z{$&R1@Oj)yl@%rY5rh?j(j10Yz_DBs`AKFU_QnB;)(aqQmGi&ieOS|21^NP9UMpa<
zU&p!f6RZ6Owp^X!EXA=0SbN&h?CrQK%Q3(=YBqqHD^9ZUM0Hxt-6-KT;>lf@j?Z+v
zHm(}`>85I&E<7e}oz?6UwjAogowzGO8kSN7+2`b^$Az9L{K5*ko87EV45LT-`_##3
z>d3AGh@>=mbg34|6}+-gT9N+6Dr@44VEl44O&{&|w=qpbzC#iWMKa?5)>tI+KLQK@
Xq0QFqn(9Yl00000NkvXXu0mjfZ8t
+
+
+
+
+