Back to directory

Large Language Models for Software Engineering

The lab materials for a university course on large language models for software engineering, covering transformer foundations and their application to prompt engineering, RAG and code-review tasks.

Large Language Models for Software Engineering

This repository holds the lab materials for Large Language Models for Software Engineering, a course at Politecnico di Torino. The first part covers foundations of large language models: deep learning with PyTorch, using transformer models such as T5 through the HuggingFace suite, analyzing encoder-only models like BERT and decoder-only models like GPT, causal language modeling, and efficient fine-tuning and inference.

The second part applies these foundations to software engineering tasks: prompt engineering and retrieval-augmented generation with Llama, building user-story and chain-of-thought architectures, and evaluating router agents with ROC analysis. It is distributed as Jupyter notebooks.

More in Tutorials

See all 478
  • BootLife

    github.com

    Conway's Game of Life implemented to run directly from a 512-byte x86 boot sector in assembly, using VGA memory itself as the simulation grid.

  • A technical blog post deriving the Y combinator as a composition of combinator birds in an array language, and examining how eager evaluation changes fixed-point recursion compared with the usual lazy telling.

  • System Design Atlas

    atlas-sysdes.vercel.app

    A free reference of worked system design problems with interactive architecture diagrams, covering ranked designs such as a feed, a chat app, a URL shortener, and a rate limiter, plus pages on the technologies behind them.