Creating good course material takes time! Escpecially non-programming and programming problems that align closely with learning outcome.
History: Erik adopted the operating systems course (one big messy zip archive) in 2009, Eigil joined in 2014. Erik teaches in Gjøvik in the spring, Eigil teaches at Jørstadmoen in the fall.
We have a course with five "things":
XX-keyword/ where XX is a sequence number 01, 02, ...keyword is mapped to full names in buildbook.conf)XX-keyword/tex/keyword.tex, notes are placed in \begin{graybox}...\end{graybox}Review questions in 00-REVIEW/review-qa.tex
Non-programmering problems in 00-PROBLEMS/problems-qa.tex
Programming problems in 00-PROG/prog-qa.tex
00-LAB/lab-qa.tex%%%%%io19:ErikH:-1:5:REP,X14HiG,X15HiOAHiG,KX17NTNU\item Beskriv kort RAID nivå 0, 1 og 5.
\textbf{0 er striping, 1 er speiling, 5 er striping med spredt paritet i tillegg som gir en disk redundans.}%%%%%
where the header line indicates id, author, level, weight, REP=part of hand-out, the rest are exam codes
The "tool" buildbook.py (a horrible Perl-script by Erik, rewritten into nice Python by Eigil)
foreach keyword in topiclist
__create chapter
__parse XX-keyword/tex/keyword.tex (create graybox if instructor-switch on)
__create section "Theory questions"
____parse 00-REVIEW/review-qa.tex (include all entries labelled "REP")
____parse 00-PROBLEMS/problems-qa.tex (include all entries labelled "REP")
____parse 00-PROG/prog-qa.tex (include all entries labelled "REP")
__create section "Lab exercises"
____parse 00-LAB/lab-qa.tex (include all entries labelled "REP")
Add appendices if part of command line options
(in each topicfolder there is also a build-script to create presentation and notes from the Beamer file)