Software Engineering and LLMs

CS 4501 - Fall 2025


Content is under development, all details are subject to change.


When and Where

  • T/Th 9:30AM - 10:45AM
  • Olsson Hall 001

  • Instructor

    Sebastian Elbaum
    Office Hours at Rice 413: Tuesday 11:00AM to 12:00PM or by appointment

    Description

    This course will explore the transformative impact of Large Language Models (LLMs) on modern software engineering. Students will learn to leverage LLMs to enhance their productivity across the software development lifecycle, from coding and testing to debugging and maintenance. We will also delve into the architectural considerations and practical techniques for building robust systems that integrate LLMs. Lastly, we will practice how to be cognizant of the ethical and safety implications of using LLMs in software development.


    Expectations

    We will be conducting many in-class experiments, so your presence and active participation are important to creating the most effective and engaging learning experience. A heavy workload can be expected when assignments/projects are due. There will be little hand-holding in terms of support to set up the tools and complete the assignments, as I expect everyone to have the technical and programming skills of DS2.


    Prerequisite(s)

    Required: DS2 or equivalent. Recommended: CS3240.

    Tentative Schedule

    Week Topic Due

    SE with LLMs (w1-w5)

    Week 1 Introduction to LLMs for Software Engineers
    Week 2 Enhanced Coding
    Week 3 Augmented Test Generation
    Week 4 Debugging and Repair Support
    Week 5 Maintenance and Documentation

    Building Systems with LLMs (w6-w10)

    Week 6 Design Patterns and API
    Week 7 Advanced Prompt Engineering
    Week 8 Retrieval Augmented Generation
    Week 9 Fine tuning for customization
    Week 10 LLM Deployment

    Crosscutting Challenges (w11-w15)

    Week 11 Responsible LLMs
    Week 12 Privacy, Security, Robustness
    Week 13 -- Slack for Invited Speakers --
    Week 14 Future of LLMs and Software Engineering
    Week 15 Wrap-up and Project Presentations