Resources

Reference pages

The ones you will use every week, each on its own page:

What we work through together in class has its own section: In Class, one page per meeting.

Exam practice

  • Progress Exam 1 — what it covers, and how to prepare.
  • Practice Exam 1 — the four problems from Wednesday, September 16, with worked answers. It was not marked.

Software

All the items below are freely available for using online or for downloading and local use. Prefer latest versions if unsure.

Textbooks

This course is based on several free resources, which are available online.

  • Main textbooks

    • [DCIC] https://dcic-world.org/ – Data-Centric Introduction to Computing by Fisler et al. uses Pyret and Python to provide a data-analysis perspective on the traditional introductory course; inspired by (older) [HtDP] (below)

    • [CU] https://drue-coles.github.io/cmsc-120/ – a Java textbook written by Drue Coles (CU) for past iterations of CMSC-120

  • Secondary textbooks

    • [UH] https://java-programming.mooc.fi/ – a successful Java MOOC from the University of Helsinki. Parts 1–3 are relevant for this course.

    • [HtDP] https://htdp.org/ – How to Design Programs by Felleisen et al. uses Racket to teach freshmen systematic program design

Where to get help

  • Office hours — see Syllabus: Course info
  • Course forum — see the Discord link on the {{ brightspace }}