I use this repo for course assignment PDFs, LaTeX sources, and a few notebook based tasks.
- Root PDF files are the shared assignment handouts.
Assignment*/HW.texfiles are the main LaTeX sources.Assignment*/Solution.texfiles build worked answer PDFs when present.Assignment*/questionskeeps question text split by problem.Assignment*/answerskeeps answer hints or solution material when available.- Root notebook files are used for programming assignments that need code cells.
Assignment14.ipynbandAssignment15.ipynbare the root notebook handouts.Assignment14andAssignment15have checked notebook based solutions.Assignment15.ipynbneedsAVALAI_API_KEY. It also acceptsAVALAI_BASE_URLwhen a class setup uses a different endpoint.NumpyProblemandPandasProblemare rebuilt editable versions of PDF only assignments.MachineLearningHomeworkhas the final project handout, dataset, data dictionary, and a checked starter analysis.
From the repo root, move into the assignment folder and run latexmk:
cd Assignment1
latexmk -pdfxe -interaction=nonstopmode -halt-on-error HW.texIf you only need a temporary check, build into a local folder:
latexmk -pdfxe -interaction=nonstopmode -halt-on-error -outdir=build HW.texGenerated build files should stay out of commits unless a root PDF needs to be updated.
To build a solution source from the repo root:
powershell -ExecutionPolicy Bypass -File .\scripts\build-solution.ps1 -Name Assignment1To check notebook handouts and notebook solution files:
python scripts\check-assignment-notebooks.py
python scripts\check-notebook-solutions.py