Syllabus · Course book · Blog · Slides · Graded quizzes · Practice (ungraded)
Assignments
Six assignments (A1–A6) implement Kambaz incrementally. Each one corresponds to a chapter of the interactive book. Later assignments build on earlier ones — do not skip ahead and leave a hole in the stack.
Due dates are one Canvas calendar for CS 4550 and both CS 5610 sections.
Unless a handout says otherwise, submit (1) a public GitHub repository and (2) a Vercel URL that is running the work for that assignment. The repository must contain the source that produced the deployment.
Use the checklists to track Delivery, Lab, and Kambaz work. Due dates are informational — Canvas is still the official calendar. A1 grades on this site are all-or-nothing per criterion from a public Vercel URL (GitHub is optional). Canvas is a grade shell only.
Course website accounts. Need an account? Sign up first with the same Northeastern email you use on Canvas, then Sign in. This site is not Canvas, and accounts are not pre-provisioned. Using your Canvas email lets us map site progress back to the roster.
A1 — HTML user interfaces
Due Sunday, September 27, 2026 · 125 pts
Build the Labs HTML work (Lab 1 components and Labs navigation) and prototype Kambaz structure screens with HTML and the App Router: landing, Account, Dashboard, course Home, Modules, and Assignments. Structure first; visual polish comes in A2.
A2 — CSS and Tailwind
Due Sunday, October 11, 2026 · 83 pts
Style the prototype with CSS fundamentals and Tailwind utility classes. Navigation, Dashboard, Modules, and related screens should start to resemble the target product.
A3 — JavaScript and data-driven UI
Due Sunday, October 25, 2026 · Checklist coming soon
Replace hardcoded markup with data. Render courses, modules, and people from JSON; encode IDs in the URL; keep the UI in sync with the structures you define.
A4 — Client state
Checklist coming soon
Make the UI editable. Use React state for forms and Zustand stores for shared Kambaz data (courses, modules, account). Redux labs are literacy; the assignment store is Zustand.
A5 — RESTful Web APIs
Checklist coming soon
Move the database off the client. Implement a Node.js / Express HTTP server (and the Next.js route-handler labs) so Kambaz reads and writes over HTTP.
A6 — MongoDB
Checklist coming soon
Persist courses, modules, users, and related documents in MongoDB with Mongoose. Connect locally and through Atlas so a refresh no longer wipes the semester’s work.