Computing Systems Design and Prototyping
In this studio-based course, students will gain practical experience designing and implementing computing system prototypes to evaluate the feasibility of integrating new technologies, like large language models, into existing systems. Students will employ agile practices to plan, build, and iterate on successive prototypes, while also learning to perform command-line tasks for software development and system operations. Students will learn to configure repeatable build environments and deploy software systems using containers. The course will emphasize matching language model choice to task complexity to conserve token budgets and energy costs. Professionalism and soft skill development are emphasized throughout the course, including teamwork, time management, and stakeholder communication.
Topics
- Configure repeatable build environments and deploy software systems using containers.
- Perform command-line tasks for software development and system operations.
- Analyze complex systems problems, propose design solutions, and prototype them to evaluate their feasibility.
- Employ agile practices to plan, build, and iterate on successive prototypes.
- Evaluate the feasibility of integrating new technologies, such as large language models, into existing systems.
- Design data pipelines that leverage large language models to support project goals.
- Match language model selection to task complexity to optimize token usage and minimize energy costs.
- Communicate with stakeholders to gather requirements, solicit feedback, and present design solutions.
- Collaborate effectively within teams to plan, build, and continuously improve software systems.
Official roster learning outcomes
Prerequisites & course information
INFO 2310.
Sources
- Course catalogue ↗2026-2027