Skip to content
Cal-CS-61A-StaffPublic

About

Static repo for all CS 61A resources.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

31 Commits

Folders and files

Repository files navigation

resources

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.

Layout

  • <semester>/<mt1|mt2|final>/ — exam and solution PDFs (or zips), e.g. fa25/mt1/61a-fa25-mt1.pdf and fa25/mt1/61a-fa25-mt1_sol.pdf, served at https://cs61a.org/resources/fa25/mt1/61a-fa25-mt1.pdf. Summer offerings with a single midterm name it 61a-<semester>-midterm.pdf.
  • guides/<semester>/ — that semester's study guides, e.g. guides/fa26/61a-mt1-study-guide.pdf, served at https://cs61a.org/resources/guides/fa26/61a-mt1-study-guide.pdf, and guides.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.yml excludes this directory from the site.
  • _exams/ — exam-problem indexes by topic and exam_files.json, the file manifest (see its README). _config.yml includes this directory in the site.
  • scripts/ — maintenance scripts (not published).

Adding an exam

  1. Add the exam and solution files as <semester>/<kind>/61a-<semester>-<kind>.pdf and ..._sol.pdf.
  2. Run python3 scripts/generate_exam_files.py to update _exams/exam_files.json.
  3. Add the exam's problems to _exams/exam_problems_<kind>.json.
  4. Commit and push to main; GitHub Pages republishes the site.

Publishing a study guide

  1. Edit its source, e.g. guides/src/fa26/61a-mt2-study-guide.typ.
  2. 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).
  3. 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.
  4. Commit and push to main; the guide appears on the course website once GitHub Pages republishes this site.

About

Static repo for all CS 61A resources.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages