Collection: Software Engineering

            Software Engineering in the Age of AI is designed for scientists and engineers working in environments where LLM-assisted and agentic coding workflows are increasingly common. Software engineering is presented as the discipline that demonstrates correctness and controls risk when code generation is inexpensive but human attention is not.  Amid claims that coding agents can “one-shot” web applications, how can you maintain the discipline to demonstrate that your code is correct, provide accountability for design decisions and traceability of action, and provide the knowledge necessary (for human or agent) to debug or modify your code under pressure?

            In this course, we will introduce you to modes of developing (human-led, agent-led, and cooperative), and provide you with foundational knowledge and experience to develop software you can have confidence in.  You’ll learn about naming and architectural practices, testing frameworks, logging tools, and the appropriate uses of source control software (git).  Whether you use a coding agent or not, these skills are critical for risk management when human attention and judgement are at a premium.

Click here for more details, including a syllabus.