Smith, Jonathan M2023-05-222023-05-221993-02-012007-08-15https://repository.upenn.edu/handle/20.500.14332/7387Software Design Laboratory is an undergraduate practicum in software design, which focuses on principles and practices of large-scale software design. Concepts and examples borrowed from elsewhere in Computer Science are applied to the construction of a significant project, namely a command interpreter resembling the Bourne shell. The course focus is on long-lived software systems of a size requiring group effort. We therefore address maintenance, testing, documentation, code readability, version control, and group dynamics.The Software Design LaboratoryReport