CS 224G

Apps with LLMs Inside

Winter 2025

About CS 224G

With ChatGPT, foundation models have ignited everyone's imagination. Conversation has become code and the model is the CPU for this ultimate programming language. A new universe of application development has opened up, and there is far more bad information than good out there. We’re bringing you what works based on our company building experiences over the last two years. This is a project course designed to explore the space of applications built around LLMs, starting by playing with them, learning their limitations, and then applying a set of techniques to program them efficiently and effectively. Students will propose projects, form teams and prototype apps. Assignments are due on a two week β€œsprint” cadence to mimic a startup style environment. Guest lectures by area experts provide industry perspective.

Topics include:

  • The Latest in LLMs and LMMs

  • Prompt Composition and Decomposition

  • Prompt Engineering Techniques

  • Retrieval-Augmented Generation (RAG)

  • Embeddings

  • Accuracy, Currentness

  • Metaprompting

  • Fine-tuning

  • Combination of models

WATCH THE DEMO DAY VIDEO


πŸ‘¨β€πŸ« Instructor Jan Jannink
(jan at cs)
πŸ‘¨β€πŸ« Instructor John Whaley
(jwhaley at cs)
πŸ‘¨β€πŸ« CA Akshay Gupta
(agupta23)
πŸ§‘πŸΎβ€πŸ« CA Raghav Ganesh
(graghav)
CA Andrea Mock
(amock)
πŸ•’ Time Tue, Thu
10:30am-11:50am
🏫 Location McCullough 115
πŸ’³ Credits 3-4 units

Office Hours

Jan Jannink Wed 2:00pm-4:00 pm, Gates 358
John Whaley Thurs 11:50am-1:00pm, McCullough 115

Logistics

Lectures: Tuesday/Thursday 10:30am-11:50am in person in McCullough 115. Attendance is mandatory.

Recordings: The class is not recorded or available via Zoom.

Slides: can be found on the Schedule and in the lecture slides folder on Canvas.

Contact: Students should ask all course-related questions on Slack, where you will also find announcements. For external inquiries, personal matters, or in emergencies, you can send an email to our staff email cs224g-win2425-staff@lists.stanford.edu

Academic accommodations: If you need an academic accommodation based on a disability, you should initiate the request with the Office of Accessible Education (OAE). The OAE will evaluate the request, recommend accommodations, and prepare a letter for the teaching staff. Once you receive the letter, send it to the course staff email at cs224g-win2425-staff@lists.stanford.edu. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations.

Audit Requests: To audit the course, please send an email to course staff email at cs224g-win2425-staff@lists.stanford.edu, with the subject line "audit cs224g request."

Course Participation: In-class attendance and participation are an essential part of the course. We allocate 10% of the course grade to class participation, which is important to make the most out of the course. In addition, project teams will make in-class presentations every other Thursday, which is an additional 45% of the course grade. Contributions in helping others on Slack will be awarded with bonus points.

Enrollment

The class is currently full. If you are interested in taking the course, we will attempt to accommodate you. Please join the course Slack and fill out a project proposal. If we have capacity, we will allow you to enroll via a permission code.

Prerequisites: Python Programming, CS111, at least one 140 or 220 course (CS 140, CS 142, CS 143, CS 145 or CS 221, CS 229)

Grading

Grading is according to the following scheme: