Skip to content

Latest commit

 

History

History
116 lines (86 loc) · 5.73 KB

File metadata and controls

116 lines (86 loc) · 5.73 KB

CLAUDE.md

Repository Overview

This repository is an archive of course materials from ArsDigita University (ADUni) — a tuition-free one-year post-baccalaureate computer science program that was an MIT experiment in the late 1990s/early 2000s. It contains complete lecture notes, problem sets, exams, student solutions, and links to video lectures across 12 computer science courses.

License: Creative Commons Attribution-ShareAlike 2.0

Repository Structure

aduni/
├── 00_math_for_cs/          # Calculus and Linear Algebra
├── 01_sicp/                 # Structure & Interpretation of Computer Programs (Scheme)
├── 02_discrete_math/        # Logic, sets, graph theory, combinatorics, proofs
├── 03_how_computers_work/   # Digital design, architecture, Beta ISA, caching
├── 04_java/                 # OOP, software engineering, Java projects
├── 05_algorithms/           # Sorting, graphs, DP, greedy, NP-completeness
├── 06_systems/              # Networks, distributed systems, transactions
├── 07_web_applications/     # Web development with database backends
├── 08_theory_of_computation/# FSMs, CFLs, Turing machines, complexity
├── 09_ai/                   # Search, knowledge engineering, neural nets
├── 10_databases/            # RDBMS, relational algebra, query optimization
├── 11_probability/          # Applied probability and statistics
├── unix_workshop/           # Self-study Unix tools (grep, awk, yacc)
├── student_solutions/       # Student implementations organized by student name
├── readme.md                # Main README with YouTube lecture video links
├── copyright.textile        # Open Content License notice
├── license.textile          # Full CC BY-SA 2.0 license text
└── videos.textile           # Comprehensive lecture video link list

Course Directory Structure

Each numbered course directory typically contains:

  • course_description — HTML file describing the course syllabus
  • lect_notes/ — Lecture notes (PDFs, PowerPoint presentations)
  • psets/ — Problem sets (PDFs and LaTeX source)
  • exams/ — Exam papers and solutions (PDFs)
  • handouts/ — Supplementary course materials
  • useful-links.txt — External reference links

Student Solutions

The student_solutions/ directory contains individual student work organized by name:

  • shyam/ — Most comprehensive (algorithms, db, dmath, hcw, java, sicp, systems, web)
  • tom/ — Java and Python solutions
  • jeff/ — C, Java, Ruby code, HTML parser
  • chris/ — Java solutions
  • seth/ — Java solutions

Notable Subdirectory: Betasim

03_how_computers_work/Betasim/ contains a Java-based Beta processor simulator with UASM assembly programs, used for computer architecture coursework.

Programming Languages

Language Approximate Count Context
Java ~557 files OOP course, student projects
Ruby ~216 files Web applications course
Scheme ~98 files SICP course
Python ~88 files Student solutions
Tcl ~106 files Testing/automation scripts
C/C++ ~16 files Systems-level code
UASM ~24 files Beta ISA assembly language

Key Conventions

Content Format

  • Course descriptions are in HTML format
  • Lecture notes are primarily PDF and PowerPoint (.ppt)
  • Problem sets include both PDF and LaTeX (.tex) source files
  • Metadata files use Textile markup (.textile)
  • The main README uses GitHub-flavored Markdown

Directory Naming

  • Courses are numbered 00_ through 11_ with descriptive snake_case names
  • Student solution directories use first names
  • Subdirectories within courses use short descriptive names (lect_notes, psets, exams)

File Organization

  • Binary files (PDFs, JARs, images) are stored alongside source files
  • No build system or package manager configuration exists
  • This is a static archive — no compilation or runtime required

Development Workflow

This repository is a static educational archive. There is no build system, CI/CD pipeline, or automated testing. Changes are typically limited to:

  1. Updating the README with new video links or corrections
  2. Adding or organizing course materials
  3. Documentation improvements

Git Conventions

  • Commit messages are short and descriptive (e.g., "Update readme.md")
  • The repository uses a simple linear history
  • No branch protection or PR workflow historically established

Important Notes for AI Assistants

  1. This is an archive, not an active software project. Do not attempt to add build systems, linters, or development tooling unless explicitly requested.

  2. Preserve existing file formats. The mix of Textile, HTML, Markdown, and PDF is intentional and reflects the era of the original materials.

  3. Student solutions are historical artifacts. Do not modify or "improve" student code — it represents actual coursework from 2000-2001.

  4. Video links point to YouTube. Some may be broken over time. When updating, verify links are still accessible.

  5. License compliance. All content is under CC BY-SA 2.0. Any additions must be compatible with this license.

  6. No secrets or credentials exist in this repository — it is entirely educational content.

  7. Binary files are present. PDFs, JARs, PowerPoint files, and images are part of the archive. Git LFS is not used.

  8. The Betasim simulator (03_how_computers_work/Betasim/) is a self-contained Java application and should not be modified without understanding the Beta ISA architecture.