...
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.
What is a course?
We have a course with five "things":
- Slides and notes created with LaTeX Beamer
- code examples, demos
- videos
- web pages, etc
- Review questions in one LaTeX document
- Non-programming problems in one LaTeX document
- Programming problems in one LaTeX document
- Lab exercises in one LaTeX document
- and a bunch of other stuff (exams, evaluations, archives, illustrations, ...)
The "protocol"
- Topics are organized as folders with foldernames
XX-keyword/
whereXX
is a sequence number01
,02
, ...
(keyword
is mapped to full names inbuildbook.conf
) - The LaTeX Beamer file is in
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
- Lab exercises in
00-LAB/lab-qa.tex
Entries in in these files follow same format, e.g.%%%%%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 ErikHErik, rewritten into nice Python by EigilOEigil)
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
...