Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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  in one LaTeX Beamer file
    • code examples, demos
    • videos
    • web pages, etc
  • Review questions in one LaTeX documentfile
  • Non-programming problems in one LaTeX documentfile
  • Programming problems in one LaTeX documentfile
  • Lab exercises in one LaTeX documentfile
  • and a bunch of other stuff (exams, evaluations, archives, illustrations, ...)

The "protocol"

  1. Topics are organized as folders with foldernames XX-keyword/ where XX is a sequence number 01, 02, ...
    (keyword is mapped to full names in buildbook.conf)
  2. The LaTeX Beamer file is in XX-keyword/tex/keyword.tex, notes are placed in \begin{graybox}...\end{graybox}
  3. Review questions in 00-REVIEW/review-qa.tex

  4. Non-programmering problems in 00-PROBLEMS/problems-qa.tex

  5. Programming problems in 00-PROG/prog-qa.tex

  6. 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

...

  • This was created when pdf and paper still was a thing...maybe not LaTeX anymore?
  • How to simplify/extend/generalize/etc this to be usable for others?
  • Where to put the course git repo?