CS 224G

Apps with LLMs Inside

Winter 2024

FINAL DEMO DAY PITCH VIDEO

DEMO DAY REGISTRATION HERE!!

Submit attendance at this link!

About CS 224G

With ChatGPT, neural networks have had their Lisp moment. Conversation has become code and the model is the CPU for this ultimate programming language. A new universe of App development has opened up, and there are no guides for it, yet. This is a project course designed to explore the space of Apps built around LLMs, starting by playing with them, learning their limitations, and then applying a set of techniques to program them efficiently and effectively. 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:

  • Prompt engineering, composition, and chains

  • Retrieval-Augmented Generation (RAG)

  • Embeddings

  • Accuracy, Currentness

  • Metaprompting

  • Fine-tuning

  • Combination of models

👨‍🏫 Instructor Jan Jannink
(jan at cs)
👨‍🏫 Instructor John Whaley
(jwhaley at cs)
👨‍🏫 TA Elyas Obbad
(eobbad)
🧑🏾‍🏫 TA Gautham Raghupathi
(gautham)
👩🏻‍🏫 TA Luci Bresette
(lucib)
🕒 Time Tue, Thu
10:30am-12:00pm
🏫 Location 370-370
💳 Credits 3 units

Office Hours

Jan Jannink Wed 1:00pm-3:00 pm, Thornton Center 208
John Whaley Thurs 11:50am-1:00pm, 370-370

Logistics

Lectures: Tuesday/Thursday 10:30am-12:00pm in person in 370-370. 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-win2324-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-win2324-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-win2324-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: