
Professional Practicum Capstone · AI & Open Source · Fall 2026 · MWR 10:30–11:35 AM
When you join a company, you'll be working on a product that predates you. Lots of features. Lots of code. Lots of technical debt. Some teams struggle under that weight — barely satisfying their users, burning through resources. But the best teams find ways to make a codebase better than they found it, ship features that users didn't know they needed, and turn inherited complexity into a platform for something new. The difference isn't luck — it's skill. This course teaches you that skill.
The product is Pawtograder — a production platform at Northeastern. This fall it runs CS 2000, 2100, 3100, 3650 and 4530, plus sections of 5001, 5008 and 5010 — and this course. Your classmates are its users, and so are you. It manages assignments, group projects, grading workflows, discussion forums, live polling, and real-time office hours. All repos are public and open source — you can start exploring right now. Your commits don't go to a grading script. They go to staging, then to production. All 50 students work on one codebase together, shipping continuously to production throughout the semester.
This course surfaces questions that matter beyond any single assignment:
How much do you do? We define the minimum for an A. You decide the minimum for your goals. Choose the topic focus that you want. Make the GitHub resume that you want. Use the AI that you want, too.
Real products need more than people who can write code. They need people who can talk to users, design interfaces, write documentation, set up monitoring, optimize queries, wrangle CI pipelines, and figure out why the thing that worked yesterday doesn't work today. This course has room for all of those people.
A student who is passionate about user research and student experience — who conducts usability studies, synthesizes findings into design recommendations, and uses Claude Code to implement and ship those changes — is just as valued as the distributed systems hacker who profiles the gradebook and rewrites the query layer. Both are doing real engineering. Both are accountable for what ships. The difference is where you focus, not whether your work counts.
Lectures every session: the architecture of Pawtograder, Supabase and row-level security (and what it means to hold real student data), continuous delivery, how to release to 1,500 users without breaking them, testing, and monitoring and incident response. Ordered to get you productive in the codebase as fast as possible.
In parallel, you'll hunt real defects across the product and file them as tickets the class can act on, and build first-class gradebook column groups as a design bake-off: everyone solves the same problem independently, as a pull request that never merges.
After onboarding, class shifts to studio format. You bid on a project team and work continuously for the rest of the semester:
Several times during the studio phase, something breaks. You get your own environment, a fault appears in it, and you have the session to detect it, triage it, mitigate it, and write the postmortem. The scenarios are drawn from real outages in our own infrastructure — including a CI failure that ran for twenty hours without logging a single error anywhere. They escalate: the first one is announced in advance, the last one isn't.
Not all work needs a room. Early on, most of your work is individual focus — reading unfamiliar code, running a spike, reproducing a bug — so part of the term runs async, with written standups and team-scheduled sync points. Later it inverts: six teams landing changes in one codebase means shared migrations, interacting feature flags, and merge conflicts on the same files. That work is coupled, and we do it together in dedicated integration sessions.
Features freeze before Thanksgiving. The last two weeks are hardening, ops playbooks, and documentation — because in January 2027 the next semester's classes depend on everything you shipped. That's a real constraint, not a grading rubric.
One team per project. Team sizes adjust based on demand through a bidding process. Each project spans the full SDLC. The projects below are starting points — we're also looking for ideas from students. If you see a problem in Pawtograder that isn't listed here, tell us in your application.
User research and UX improvements. Conduct usability studies with real users, identify pain points, design and ship improvements.
Get the student-facing pages to WCAG AA and prove it, testing against the real NVDA and VoiceOver lanes in the repo rather than a linter.
Rethink and rebuild the office hours experience. Full product design challenge from user research through deployment.
Build integrations between Pawtograder and Docusaurus course sites. Schedule sync, office hours widgets, search, live polls in slides.
A full Gradescope replacement: generate and shuffle exam variants, barcode and scan handling, OCR (including handwriting), and grading workflows. A major project.
Move Pawtograder's Git hosting from GitHub to self-hosted Forgejo: account auto-provisioning, repo automation, CI, and the migration path itself.
One-click cloud dev environments for intro courses: integrate Coder with Pawtograder — SSO, per-class workspace provisioning, and grading hooks.
Pawtograder is a production application. This is what you'll be working in:
Experience with any of these is a bonus, not a prerequisite. You'll learn what you need on the job — that's the point.
AI coding agents are not merely permitted. They are expected. This is a course about professional software engineering, and AI-assisted development is part of professional software engineering. Use AI for implementation, design, operations, code review, documentation, research — whatever makes you more effective. All Northeastern students have access to Claude Code through the university's Anthropic partnership — $200/month in credits, included with your enrollment.
You are responsible for everything you ship, regardless of who or what wrote it. Accountability follows the whole chain — author, reviewer, mentor, instructor. Using AI well means reviewing what it produces with the same rigor you'd apply to a junior teammate's PR.
The one exception: personal reflection. We respectfully ask that you use your own words and thoughts there. The point of reflection is the thinking itself.
This is a selective capstone for up to 50 students. The only prerequisite is CS 3100 (or CS 3500). Enrollment is by application — we're building a team, not filling seats. We prioritize diversity of skills: frontend, backend, user research, ops, documentation, and everything in between.
Applications for Fall 2026 closed on September 14, 2026. The Pawtograder Community Discord is open to anyone who wants to work on the platform.