mrkeyoor.com_
Sun 20 Sept 15:50 UTC
Dev Toolsevaluationupdated 20 Sept 2026

modern-software-dev-assignments review

Modern Software Dev Assignments is the public exercise repository for Stanford's fall 2025 CS146S course. Across eight weeks, it asks students to use prompting, Cursor, MCP, Claude Code, Warp, Semgrep, Graphite, and an AI app builder while extending small Python web applications and documenting what the tools got right or wrong.

Verdict

Our install added 35 packages in 14 seconds and pip-audit found 0 known vulnerabilities, but the repository exposed no test target for the harness to run. Use these eight assignments as a source of workshop prompts or as a demanding self-study syllabus if you can supply the missing classroom context and vendor access. Do not treat the code as a maintained reference application, and get permission before reusing course material because the repository has no license.

We ran it

Lab card: what happened when we ran modern-software-dev-assignmentsScreenshot of modern-software-dev-assignments (themodernsoftware.dev)
Install✓ · 14s35 packages · 37 MB
Build✓ · 0s
Testsn/ano test script
Known vulns0(pip-audit)
Repo125 files~2,959 lines of source · 0.3 MB · 0 CI workflows

Answers from our run

Does modern-software-dev-assignments build from source?

Dependencies installed in 14 seconds (35 packages), and the build succeeded in 0s. We cloned commit ca2df55 into a clean Debian container with 3 CPUs and no project-specific setup.

Does modern-software-dev-assignments have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does modern-software-dev-assignments have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use modern-software-dev-assignments?

Anyone who needs licensed teaching material they can freely republish or adapt: GitHub reports no license for the repository.

What are the alternatives to modern-software-dev-assignments?

Generative AI for Beginners, AI Agents for Beginners, Project Based Learning. Our install added 35 packages in 14 seconds and pip-audit found 0 known vulnerabilities, but the repository exposed no test target for the harness to run.

Setup3/514-second install, but each week adds separate tools and accounts
Docs4/5Detailed weekly briefs; the root setup page is unusually thin
Community3/54,444 stars and many learner PRs, but little maintainer response
Maturity2/5No release, license, CI workflow, or root test target

Who it’s for

Instructors looking for concrete AI-assisted development assignments and grading rubrics.
Experienced Python learners who can turn course prompts into a self-directed eight-week practice plan.
Engineering teams choosing exercises for prompting, MCP, agent instructions, security scanning, or AI code review workshops.
Developers who want starter FastAPI and SQLite projects to modify with several coding agents.

Who it’s NOT for

Anyone who needs licensed teaching material they can freely republish or adapt: GitHub reports no license for the repository.
Beginners expecting a standalone course with lectures, answer keys, or self-grading: this repository contains assignments tied to Stanford instruction, Gradescope, and named course staff.
Learners avoiding commercial accounts or trials: later weeks require or promote Cursor, Claude Code, Warp, Graphite, and Bolt, and some offers are tied to student or course access.
Teams expecting one maintained reference application: similar FastAPI projects are copied across week folders so students can change them independently.
Users who want one dependable root test command: our harness found no test script or target, and open issue 5 shows pytest misreading a week 1 helper as a fixture-based test.

Setup reality

Our sandbox installed commit ca2df55 in 14 seconds, adding 35 packages and using 37 MB. The build step succeeded in 0 seconds. No test script or target was declared, so tests were skipped. Pip-audit found 0 known vulnerabilities. The checkout held 125 files, about 2,959 source lines, and used 0.3 MB.

The README asks for Python 3.12, Anaconda, and Poetry. Week 1 also needs Ollama plus mistral-nemo:12b and llama3.1:8b; other weeks introduce vendor accounts and command-line tools. API credentials depend on the student's chosen MCP service or app.

This is a set of coursework snapshots, not one deployable service. Week folders use their own run commands, tests, and duplicated starter code. The repository has no CI workflow or Dockerfile, and our successful dependency install does not prove that every exercise or outside service still works.

Eight weeks turn one small app into an AI development syllabus

The repository contains 8 weekly assignments rather than a conventional library. Week 1 asks students to complete 6 prompting exercises covering examples, chain of thought, tool calls, self-consistency, retrieval, and reflection with local Ollama models. Week 2 moves into a FastAPI and SQLite action-item app, where Cursor is used to add LLM extraction, tests, endpoints, and documentation. That sequence gives each tool a job instead of treating AI coding as one vague skill.

The repeated application is useful for comparison. Similar note and action-item code appears in several week folders, letting students change automation, review, or security practices without first learning a new domain. It is also easy to mistake the copies for a maintained product. They are isolated teaching snapshots with write-up templates, grading instructions, and deliberate work left undone. Start with the assignment document for a week, not with the root package as though it were one app.

Week 3 requires two MCP tools and explicit failure handling

Week 3 asks for an MCP server around a real API with at least 2 tools. The rubric calls for typed parameters, HTTP error handling, timeouts, empty-result behavior, rate-limit awareness, setup documentation, and an example client flow. A local STDIO server is acceptable; a remote HTTP version and correctly checked authentication earn extra credit. That is a solid assignment because it makes the student handle transport and operational failure, not merely return a weather string once.

Weeks 4 through 7 shift from building with models to supervising them. Students create at least 2 Claude Code automations, repeat the idea in Warp, use Semgrep to fix 3 findings, then implement 4 branches and compare their own review notes with Graphite Diamond. Week 8 widens the scope again: build the same app in 3 stacks, use Bolt for one version, and include a non-JavaScript language in at least one version.

What happened when we ran it

Our sandbox installed commit ca2df55 in 14 seconds, pulling 35 packages and using 37 MB on disk. The checkout itself contained 125 files, about 2,959 source lines, and occupied 0.3 MB. The build step returned successfully in 0 seconds, which fits a Python coursework repository with no compiled application at the root. Pip-audit reported 0 known vulnerabilities in the installed environment.

The harness did not run tests because it found no declared test script or target. That is narrower than saying the repository has no tests: week 2 and later starter apps include pytest files, and several Makefiles expose week-specific commands. Our run therefore confirms that dependencies resolve in the stated Python 3.12 container. It does not confirm all 8 assignments, local models, FastAPI variants, MCP integrations, or vendor workflows as one tested unit.

Python 3.12 is the smallest part of the setup

The top-level guide asks students to install Anaconda, create a Python 3.12 environment, install Poetry, and run poetry install. Our uv-based sandbox resolved the root dependencies without Anaconda in 14 seconds, but following the class path is safer when reproducing course instructions. Week 1 then requires Ollama plus mistral-nemo:12b and llama3.1:8b, downloads that are outside the measured 37 MB Python environment.

Later assignments add accounts and changing external services. The documents mention a student Cursor offer, Claude Code features, Warp Drive, Semgrep, a 30-day Graphite trial, and 3 months of Bolt Pro that requires a credit card. Those were course arrangements, not permanent guarantees. Self-directed learners should price and verify each service before committing to the full sequence. The MCP assignment may also require an API key or OAuth setup for whichever real service the student chooses.

The default branch stopped in 2025 while learner PRs continued in 2026

The default branch was last pushed on November 10, 2025, and GitHub reports no releases. It had 4,444 stars, 1,006 forks, and 31 combined open issues and pull requests when fetched. Most open items are learner submissions rather than maintainer-planned work, including repeated week 7 tasks. Outside activity continued into July 2026, and 2 course-related pull requests were closed on September 19 without changing the old default-branch push date.

Two open issues expose the cost of self-study. Issue 5 shows pytest collecting a week 1 helper named test_your_prompt and failing because its argument is treated as a missing fixture. Issue 14 says the chain-of-thought task can succeed with an empty system prompt, weakening what that exercise proves. Neither report had been resolved in the fetched issue state. An instructor can explain the intended invocation and adjust the task; an independent learner has to diagnose that context alone.

Zero releases and no license make this a reference, not a dependency

GitHub reports 0 releases, no recognized license, 0 CI workflow files, and no Dockerfile. Those absences make sense for a class handout, yet they set clear boundaries. You should not add this repository as an application dependency or assume permission to redistribute modified assignments. Forking for personal study is technically easy, while publishing a derivative course or commercial workshop needs authorization from the copyright holder.

The material is still worth reading because its rubrics ask students to document prompts, test claims, review generated code line by line, and explain security fixes. That is more useful than another collection of clever prompts. Take one week's assignment, replace expired account instructions where needed, and provide your own verification command. Trying to consume all 8 weeks as a ready-made product hides the thing the repository does best: giving an experienced teacher a concrete exercise to discuss.

Alternatives

ProjectWhat it isPick it when
Generative AI for Beginners gh↗A lesson-based introduction to building with generative AI, including explanations and code samples.pick this instead when you want teaching material around the exercises rather than a Stanford assignment pack.
AI Agents for Beginners gh↗A guided course focused on agent concepts, patterns, and implementation exercises.pick this instead when agents are the main subject and you want a more linear curriculum.
Project Based Learning gh↗A catalog of build-along programming tutorials organized by language.pick this instead when you want many project choices without course-specific accounts or submission rules.

What people are saying

  1. [github-trending] mihail911/modern-software-dev-assignments

Sources

  1. Modern Software Dev Assignments README
  2. Week 3 MCP assignment
  3. Week 8 multi-stack assignment
  4. Week 1 pytest issue
  5. Week 1 empty-prompt issue

More dev tools reviews

skills · Apktool · x64dbg · UTM · QtScrcpy · gcx · the whole board →