Modern Software Engineering with LLMs

CS 4501 - Fall 2026

“The end of classical computer science is coming, and most of us are dinosaurs waiting for the meteor to hit.” - Matt Welsh." So let's get ready!

Instructor

Sebastian Elbaum
Brings years of expertise in software engineering, co-leads LESS Lab at UVA researching automated analysis techniques to make software more dependable, excited about this revolution but also concerned about our abilities to adapt to them quick enough.

When and Where

  • Lectures: T/Th 11:00AM - 12:15PM
  • Office Hours: T 10:00AM to 11:00AM or by appointment at Rice 423

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 practice how to be cognizant of the ethical and safety implications of using LLMs in software development.

As part of the learning objectives, students will gain exposure to LLM fundamentals, familiarity with evolving LLM levers and workflows, competence in LLMs as part of software engineering, familiarity with dilemmas around genAI usage and also familiarity with startups practices and tooling.


Expectations

We will be conducting many in-class activities and experiments, so your presence and active participation are important to creating the most effective and engaging learning experience. A load of 3-6 hours a weeks can be expected to experiment with tools and when assignments/projects are due. No prior experience with AI development tools is required, but there will be little hand-holding and no support to set up the tools and complete the assignments, as I expect everyone to have the technical and programming skills of DS2.

Everyone will need to bring to class a laptop computer capable of running modern development tools. No textbook is required. Instructor will provide necessary reading material as part of the course through Canvas.

Course structure

Alternate short lectures and activities (vibing, challenges, invited presentations, analysis, ...), emphasis on experiencing software engineering with genAI.

Slides and assignments available through Canvas.


Prerequisite(s)

Required: DS2 or equivalent with at least a C. Recommended: CS3240.


Academic Integrity

Every student must fully comply with all the provisions of the University Honor Code (http://honor.virginia.edu), including the section on academic fraud http://honor.virginia.edu/academic-fraud. Assignments will describe allowed collaborations, and deviations from these will be considered Honor violations. If you have questions on what is allowable, ask! Unless otherwise noted, all assignments will be considered pledged that you have neither given nor received help.

Use of AI is generally encouraged! Exception: some assignments will have explicit requirements about not using AI or how to use it.


Tentative Schedule

This is an evolving course in a fast changing area so the scheduled topics are subject to change.
Week Topic
Week 1 Introduction to LLMs for Software Engineers
Week 2 Under the hood and enhanced coding
Week 3 Workflows, tooling, and agents
Week 4 What to build
Week 5 How to build it
Week 6 Quality Control
Week 7 Tech Dilemmas
Week 8 Global Dilemmas
Week 9 Project launch
Week 10 MVP
Week 11 Project Update
Week 12 Project alpha
Week 13 Red Teaming
Week 14 Future of Software Development
Week 15 Fair and Wrap-up

Grading

Breakdown

  • Attendance: 20%
    • 4 absences allowance to accomodate all exceptional events (that would be ~15% of the classes)
    • After the fourth, every absence lowers 5\% of the grade
    • Attendance is taken once at the beginning of class
  • Quizzes: 20% (4 or 5 quizzes, drop the lowest)
  • Assignments: 20% (4 or 5 assignments)
  • Project: 40% (small teams)
Late Assignments and Grading
Late assignments will earn partial credit so you are encouraged to submit them even if late, weighting the late penalty against the completeness of your assignment. Unless otherwise stated, late assignments will be penalized 50% off the total possible points per late day. If you anticipate having troubles finishing an assignment in time please email me to discuss it. Grading: If you are dissatisfied with a grade please consult me directly within a week of the day the graded assignment was returned to you. No regrade requests will be considered after this week period.

Scale

Percentage Grade
[98, 100] A+
[93, 98) A
[90, 93) A-
[88, 90) B+
[83, 88) B
[80, 83) B-
[78, 80) C+
[73, 78) C
[70, 73) C-
[60,70)] D
Less than 60] F

Student Resources and Accommodations

Most important bit of information: if you need my help, reach out to me.

If you have a disability or other needs that may affect your experience in this course, please contact me so we can discuss accommodations. You can also reach out to the Student Disability Access Center (SDAC) at sdac.studenthealth.virginia.edu.

If you or someone you know has experienced discrimination, harassment, or interpersonal violence, resources and reporting options are available on the UVA Sexual Violence website at www.virginia.edu/sexualviolence. You can also make a report to Just Report It at justreportit.virginia.edu or contact the Office for Equal Opportunity and Civil Rights (EOCR) at UVAEOCR@virginia.edu or 434-924-3200. As a faculty member, I'm a responsible employee, which means I'm required to report certain incidents to the University's Title IX Coordinator. This ensures you receive the support you need.

If you are a computer science student experiencing academic or personal stress, please don't wait to ask for help. In addition to me, you can also reach out to CS staff members SJ Jimenez-Calhoun (smj4z@virginia.edu) or Sheri Grimes (prk2zq@virginia.edu). You can also find walk-in advising hours at https://uvacsadvising.org/.