Software Engineering with Large Language Models

Large language models (LLMs) are now a part of everyday software engineering. They can be used to clarify requirements, sketch designs, write code, generate tests, and review changes. LLMs are also increasingly used as components in software applications, for example to power chatbots, generate content, or support decision-making.


This course continues from the course Introduction to Large Language Models and focuses on these two perspectives. First, you will learn how to use LLMs as a part of the software development life cycle. Then, you will learn how to build applications that call LLM APIs, manage prompts and conversation state, and validate outputs before using them.


Note! As the topic is evolving quite fast, the contents of this course are likely already somewhat outdated. They are, however, still relevant for learning the basics of using LLMs in software engineering.

Course Parts

We recommend starting from the first one, but you can also browse around.