Past CS 61A exams, solutions, and study guides, served by GitHub Pages at https://cs61a.org/resources/. The CS 61A and Data C88C course websites' Resources pages link to the files there and fetch the exam indexes from there.
<semester>/<mt1|mt2|final>/— exam and solution PDFs (or zips), e.g.fa25/mt1/61a-fa25-mt1.pdfandfa25/mt1/61a-fa25-mt1_sol.pdf, served athttps://cs61a.org/resources/fa25/mt1/61a-fa25-mt1.pdf. Summer offerings with a single midterm name it61a-<semester>-midterm.pdf.guides/<semester>/— that semester's study guides, e.g.guides/fa26/61a-mt1-study-guide.pdf, served athttps://cs61a.org/resources/guides/fa26/61a-mt1-study-guide.pdf, andguides.json, the list of published guides that the course website shows.guides/src/<semester>/— Typst sources for that semester's study guides, plus renders of guides still in progress._config.ymlexcludes this directory from the site._exams/— exam-problem indexes by topic andexam_files.json, the file manifest (see its README)._config.ymlincludes this directory in the site.scripts/— maintenance scripts (not published).
- Add the exam and solution files as
<semester>/<kind>/61a-<semester>-<kind>.pdfand..._sol.pdf. - Run
python3 scripts/generate_exam_files.pyto update_exams/exam_files.json. - Add the exam's problems to
_exams/exam_problems_<kind>.json. - Commit and push to
main; GitHub Pages republishes the site.
- Edit its source, e.g.
guides/src/fa26/61a-mt2-study-guide.typ. - Render it into the published directory:
typst compile guides/src/fa26/61a-mt2-study-guide.typ guides/fa26/61a-mt2-study-guide.pdf(a guide that isn't ready yet renders beside its source instead). - Add the guide's title and file name to
guides/<semester>/guides.json. The CS 61A course website's Resources page fetches that file and lists its guides in order. - Commit and push to
main; the guide appears on the course website once GitHub Pages republishes this site.