Skip to content

Classroom: highlight setup time savings in docs #30

@cuihtlauac

Description

@cuihtlauac

Parent issue: #24

Problem

One instructor reported spending five class periods on Python environment setup before adopting devcontainers. With devcontainers, students were productive in 5 minutes. This dramatic contrast is the core value proposition but isn't communicated in the project docs.

Status: Addressed by project design, not yet documented

The image delivers on this promise — everything is pre-built and ready. But the README and docs don't quantify the benefit or contrast it with manual setup.

Supporting evidence from UCSD study (Valstar et al., ITiCSE 2020)

In a 416-student study, 71% of students preferred the DevContainer over pre-configured Linux servers. 70% recommended it to future students, only 8% recommended against.

Key reasons students preferred DevContainers:

  • GUI editor preference: The Neovim binary missing from Base Image specification #1 reason was "I like the VSCode editor" — even students who'd used Vim for years preferred VS Code. This validates supporting VS Code as the primary workflow.
  • Offline work: Students valued working without internet, unlike SSH servers. The local Docker workflow (.devcontainer-from-scratch/) supports this and should be highlighted.
  • Assignment portability: "The DevContainer allows for easy sharing of programming assignments between instructors as the tooling infrastructure is shipped with the assignment." The third-layer architecture already enables this.

Proposed changes

  • Add a "Why devcontainers?" section to README highlighting the 5-minute onboarding claim
  • Include a comparison: manual OCaml setup (opam init, switch creation, tool installation = 30-60 min) vs devcontainer up (image pull = 2-3 min)
  • Highlight offline work capability of the local Docker workflow
  • Mention assignment portability as a benefit for instructors

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions