mihail911/modern-software-dev-assignments
Assignments for CS146S: The Modern Software Dev (Stanford University Fall 2026/2025)
Python★ 4,632+172 that day#6 on trending
D41.5/100
Duplication19
29.5% in python, bash, javascript, perl, sqlDead code42
13.9%Complexity91
0% The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.
27.61%duplicated code · 914 of 3,310 lines
32clones in code
55code files of 111 scanned
28.97%duplicated over all files · 70 clones
Most complex files
- week1/tool_calling.py38 cx
- week1/reflexion.py28 cx
- week6/backend/app/routers/notes.py20 cx
- .git/hooks/fsmonitor-watchman.sample19 cx
- week2/app/services/extract.py19 cx
- week1/rag.py18 cx
- week6/frontend/app.js15 cx
- week7/frontend/app.js15 cx
- .git/hooks/pre-rebase.sample14 cx
- .git/hooks/sendemail-validate.sample14 cx
Dead code 13.94% unused · 26 findings
- week6/frontend/app.jsunused-file
- week7/frontend/app.jsunused-file
- week4/frontend/app.jsunused-file
- week5/frontend/app.jsunused-file
- week6/backend/app/services/extract.pyunused-file
- week7/backend/app/services/extract.pyunused-file
- week4/backend/app/db.py:get_sessionunused-export
- week5/backend/app/db.py:get_sessionunused-export
- week6/backend/app/db.py:get_sessionunused-export
- week7/backend/app/db.py:get_sessionunused-export
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.
Largest clones in the code
- 56 lines in 4 placespython283 tokensweek4/backend/app/db.py:1–56week5/backend/app/db.py:1–56week6/backend/app/db.py:1–56week7/backend/app/db.py:1–56
1import os 2from collections.abc import Iterator 3from contextlib import contextmanager 4from pathlib import Path 5 6from dotenv import load_dotenv 7from sqlalchemy import create_engine, text 8from sqlalchemy.orm import Session, sessionmaker 9 10load_dotenv()First 10 of 56 lines.
- 70 lines in 2 placespython532 tokens
1from typing import Optional 2 3from fastapi import APIRouter, Depends, HTTPException, Query 4from sqlalchemy import asc, desc, select 5from sqlalchemy.orm import Session 6 7from ..db import get_db 8from ..models import ActionItem 9from ..schemas import ActionItemCreate, ActionItemPatch, ActionItemRead 10First 10 of 70 lines.
- 77 lines in 2 placesjavascript527 tokens
14 li.innerHTML = `<strong>${n.title}</strong>: ${n.content}`; 15 list.appendChild(li); 16 } 17} 18 19async function loadActions(params = {}) { 20 const list = document.getElementById('actions'); 21 list.innerHTML = ''; 22 const query = new URLSearchParams(params); 23 const items = await fetchJSON('/action-items/?' + query.toString());First 10 of 77 lines.
7 more
- 62 lines in 2 placespython504 tokens
- 66 lines in 2 placesjavascript457 tokens
- 47 lines in 2 placespython385 tokens
- 36 lines in 2 placespython275 tokens
- 23 lines in 2 placespython181 tokens
- 29 lines in 2 placespython167 tokens
- 23 lines in 2 placessql148 tokens
Largest clones over all files, tests and data included
- 56 lines in 4 placespython283 tokensweek4/backend/app/db.py:1–56week5/backend/app/db.py:1–56week6/backend/app/db.py:1–56week7/backend/app/db.py:1–56
1import os 2from collections.abc import Iterator 3from contextlib import contextmanager 4from pathlib import Path 5 6from dotenv import load_dotenv 7from sqlalchemy import create_engine, text 8from sqlalchemy.orm import Session, sessionmaker 9 10load_dotenv()First 10 of 56 lines.
- 8 lines in 4 placescssstyles206 tokensweek4/frontend/styles.css:1–8week5/frontend/styles.css:1–8week6/frontend/styles.css:1–8week7/frontend/styles.css:1–8
1body{font-family:system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;margin:0;padding:0;background:#fafafa;color:#111} 2main{max-width:900px;margin:2rem auto;padding:0 1rem} 3h1{font-size:1.8rem} 4section{background:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin:1rem 0} 5form{display:flex;gap:.5rem;margin-bottom:.5rem} 6input{flex:1;padding:.5rem;border:1px solid #ccc;border-radius:4px} 7button{padding:.5rem .8rem;border:1px solid #ccc;border-radius:4px;background:#f5f5f5;cursor:pointer} 8ul{list-style:disc;padding-left:1.25rem} - 39 lines in 4 placespythontests188 tokensweek4/backend/tests/conftest.py:1–39week5/backend/tests/conftest.py:1–39week6/backend/tests/conftest.py:1–39week7/backend/tests/conftest.py:1–39
1import os 2import tempfile 3from collections.abc import Generator 4 5import pytest 6from backend.app.db import get_db 7from backend.app.main import app 8from backend.app.models import Base 9from fastapi.testclient import TestClient 10from sqlalchemy import create_engineFirst 10 of 39 lines.
- 70 lines in 2 placespython532 tokens
- 77 lines in 2 placesjavascript527 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 37 | 2,096 | 22 | 654 | 31.2% |
| javascript | 4 | 312 | 8 | 218 | 69.87% |
| sql | 4 | 84 | 2 | 42 | 50% |
| bash | 9 | 644 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 54 | 2,487 | 32 | 885 | 35.59% |
| markdown | 20 | 1,367 | 14 | 236 | 17.26% |
| javascript | 4 | 312 | 8 | 218 | 69.87% |
| markup | 5 | 226 | 7 | 118 | 52.21% |
| yaml | 4 | 60 | 3 | 45 | 75% |
| css | 4 | 32 | 3 | 24 | 75% |
| sql | 4 | 84 | 2 | 42 | 50% |
| text | 2 | 50 | 1 | 26 | 52% |
| bash | 11 | 660 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Sep 21, 2026 | #6 | 4,632 (+172) | 111 | 5,502 | 70 | 28.97% | 27.61% | D 41.5 | ca2df55 |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.