SPRDSenior Physics Research DatabaseDickinson College

Add to SPRD

Everything on this site is plain text files in one GitHub repository. You don't need to know web programming: if you can write a lab report in Markdown, you can add a project or a step.

The quickest edit

  1. Open the repository on GitHub and find the file (the layout is below).
  2. Click the pencil icon, make your change, and propose it.
  3. After a maintainer merges it, the site rebuilds itself within a couple of minutes.

Where things live

src/content/projects/
  directional-speaker/        <- folder name = the project's web address
    project.yaml              <- title, picture, length in weeks, what the paper should show
    images/                   <- pictures used on the pages
    steps/
      01-linear-acoustics.md  <- one file per step; the number only sets file order
      02-directivity.md
public/files/
  directional-speaker/        <- code, PDFs and small data files to download

Add a project

Make a new folder under src/content/projects/ named with lowercase words and hyphens, and put aproject.yaml in it. With status: coming-soon and no steps, it shows on the home page as a project whose map isn't written yet.

title: Directional speaker
tagline: Beaming audible sound with ultrasound
summary: >-
  Two or three sentences a junior could understand.
area: Acoustics                  # used for the filter on the home page
tags: [nonlinear acoustics, ultrasound]
status: active                   # active | available | archived | coming-soon
weeks: 4                         # length of the project; the paper is due at the end
paper:
  focus: >-
    One or two sentences on what the paper has to show.
cover: ./images/cover.png        # optional
coverAlt: What the picture shows, for screen readers.
advisors: [Prof. Name]
equipment:                       # optional
  - Measurement microphone
teams:
  - year: 2026–27
    members: [Name, Name]        # only with their permission
    note: Optional one-liner.

Add a step

Copy this into steps/NN-short-name.md. The headings matter: everything under ## Hintsbecomes click-to-reveal cards, and everything under ## What past teams did becomes attributed notes.

---
title: The AM drive signal
summary: One sentence that shows up on the map.
weeks: [2, 2]                    # first and last week of the project
type: simulation                 # theory | simulation | build | measurement | analysis | writing
paperSection: theory             # introduction | theory | methods | results | discussion (optional)
prereqs: [parametric-array]      # other steps, by file name without the number
difficulty: intermediate         # intro | intermediate | advanced
goals:
  - What a student can do after this step.
resources:
  - label: directional_speaker_am.py
    href: /files/directional-speaker/directional_speaker_am.py
    kind: code                   # code | data | paper | book | link | video
draft: true                      # shows a "not reviewed yet" note
---

## Why this matters

## The physics

Inline math like $E^2(t)$, and display math:

$$
p \propto \frac{\partial^2}{\partial t^2} E^2
$$

## Hints

### Each "###" heading becomes one hint card

Hints open in order, so start gentle and get more specific.

### Second hint

## What past teams did

### 2026–27 team

What you did, what went wrong, what you'd do differently.

Pictures and files

  • Pictures for a page go in the project's images/ folder. Link them from a step as![What it shows](../images/name.png).
  • Downloads (code, PDFs, small data) go in public/files/project-name/ and are linked as/files/project-name/file.py.
  • No single file can be larger than 25 MB. Put big datasets and recordings on a Dickinson drive and link them.

House rules

  • Name students only with their permission. Never post grades or feedback on graded work.
  • Hints should get someone unstuck, not hand them the answer. When unsure, ask the course instructor.
  • Say what didn't work. Failed approaches are often the most useful notes for the next team.

Check your change on your own computer

Install Node.js, then run npm install once and npm run dev in the repository folder and open the address it prints. npm run build checks every file: a typo in a prerequisite or a week past the end of the project stops the build with a message saying which file to fix.