This repository contains the source for the website for Northeastern's CS4530, Summer 2025 class. If you are looking to browse the site, you should visit it directly, at https://neu-se.github.io/CS4530-Summer-2025/. If you are looking to edit the site, then you have come to the right place!
- Spring 2026
- Fall 2024
- Spring 2024
- Fall 2023
- Spring 2023
- Fall 2022
- Spring 2022
- Fall 2021
- Spring 2021
- Fall 2020
All materials in this repository (the lectures, assignments, and also the site itself) are released under the Creative Commons Attribution-ShareAlike 4.0 License. Please feel free to reuse or remix these materials in your class. If you do, we'd love to hear your thoughts.
This website is built using Astro, a customizable framework for content-heavy static and dynamic sites (with an emphasis on static site generation). (As of 2025 when I'm creating this, Astro is a stable but currently-cool toolset. If you're reading this in the future and Astro is an ancient and unmaintainable mess, I'm sorry, it was inevitable, but at least everything's mostly markdown under the hood. - Rob Simmons)
If you have Node LTS 22 or above, you should be able to go to:
npm install
npm run dev
and then go to the URL that pops up on the command line (probably http://localhost:4321/CS4530-Summer-2025).
Inside of the repository, you'll see the following folders and files:
/
├── .github/
├── pages/
│ ├── activities/
│ ├── calendar.md
│ ├── home.md
│ └── tutorials.md
├── public/
│ └── code
│ └── week1-unit-testing
│ └── jest-tutorial-starter-code.zip
├── src/
│ ├── layouts/
│ └── content.config.js
├── .env
├── astro.config.mjs
└── package.json
Here are a couple of the relevant:
- Anything in the
public/
directory is placed, unprocessed, on the website. - The
src/
directory, along with theastro.config.mjs
file, contain all the Astro configuration for the project. In most cases it should not be necessary to touch this configuration unless you're changing the site. - Each page in the
pages/
directory corresponds to a page on the site (with the same path, minus the.md
extension). Astro is, in general, big on file-based routing. - The
.env
file contains site-wide configuration. If you're updating the website for a new semester, or adapting the repository for a new course, you'll need to update the values in this file.
The website uses <base>
element, which means that all relative links on the site are relative to the root of the project, https://neu-se.github.io/CS4530-Summer-2025/ or whatever. In general, you should use fully relative links: if you're trying to link to the page specified as pages/tutorials.md
from anywhere on the site, it should look like [this](tutorials)
, and if you're trying to link to the public/code/week1-unit-testing/jest-tutorial-starter-code.zip
file from anywhere on the site, it should look like [this](code/week1-unit-testing/jest-tutorial-starter-code.zip)
.