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, starter analysis, and checked reference solution.
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.pyTo rerun the statistics and machine learning answer checks:
python scripts\verify-stat-solutions.py
cd MachineLearningHomework
python check_solution.py