Logistics

Course Information

Class Time and Location: Tuesdays & Thursdays: 2:00-3:50pm Location: MI (Mellon Institute) 348

Zoom Link: https://cmu.zoom.us/j/91091708755?pwd=XpS0b513jrYTkEgGtrGAJ8d4c1bWVf.1


Course Description

This course introduces graduate students and advanced undergraduates in engineering to the theory and practice of AI agents built on large language models (LLMs). Students will learn how to harness foundational models such as GPT, LLaMA, and Claude to solve real-world engineering problems, automate workflows, and build intelligent agents capable of reasoning, planning, and interacting with scientific tools and environments.

The course covers the fundamentals of LLM architectures, fine-tuning and prompting strategies, and tool-augmented LLMs, including retrieval-augmented generation (RAG), function calling, and agent frameworks. Emphasis is placed on designing autonomous agents that can assist in engineering tasks such as data analysis, simulation control, documentation generation, code synthesis, and system optimization.

Through hands-on projects and case studies, students will apply LLMs to domains including mechanical design, materials discovery, systems engineering, and computational applications. The course balances technical depth with practical implementation, preparing students to both understand the capabilities and limitations of LLMs and to build domain-specific, AI-driven systems that enhance engineering innovation.


Instructors and Teaching Assistants

Instructor: Amir Barati Farimani (barati@cmu.edu) Office Hours: Tuesdays: 1:00-2:00 pm (Zoom Link)

Teaching Assistants: Peter Pak (ppak@cmu.edu) Office Hours: Tuesdays: 4:00 pm - 4:50 pm (Lecture Classroom)

Course Assistant: Hardik Choudhary (hchoudha@andrew.cmu.edu) Office Hours: Wednesdays: 2:00 pm - 3:00 pm (Scaife 201)


Textbooks and Readings

There is no single required textbook for this course. Lectures will draw from various sources including recent research papers and online resources. Recommended readings include:

  • Research papers and technical documentation (provided throughout the course)
  • Online resources from OpenAI, Anthropic, Meta AI, and other LLM providers
  • Documentation for frameworks: LangChain, AutoGen, CrewAI

Programming and Tools

We will use Python for all assignments in this course. Python is a powerful general-purpose programming language that, with libraries like numpy, transformers, and langchain, becomes an excellent environment for building AI agents.

You will work with:

  • LLM APIs (OpenAI, Anthropic, etc.)
  • Agent Frameworks (LangChain, AutoGen, CrewAI)
  • Jupyter Notebooks for assignments and demonstrations
  • Version Control (Git/GitHub)

Computing Resources

We will use Google Cloud services on https://cloud.google.com/compute/docs/. Please sign up for a free account on Google Cloud Platform. This platform has console with TensorFlow and PyTorch and is easy to use.


Assignments

Most of the assignments in this course will consist of a written component along with a programming component. In a typical assignment, you will explore a specific topic from the lecture and use it to solve a sample problem or further investigate it. You will be graded on the quality and completeness of your answers. We will use the Python programming language for all assignments in this course. Python is a great general-purpose programming language on its own, but with the help of a few popular libraries (numpy, scipy, matplotlib) it becomes a powerful environment for scientific computing. We expect that many of you will have some experience with Python and numpy; for the rest of you, we will provide a quick crash course both on the Python programming language and on the use of Python for scientific computing.


Grading

Course grades will be based on:

  • 50% - Homework Assignments
  • 10% - Quizzes (In-Class)
  • 40% - Major Term Project

Grading Scale

  • 93%-100% = A
  • 90%-93% = A-
  • 87%-90% = B+
  • 83%-87% = B
  • 80%-83% = B-
  • 77%-80% = C+
  • 70%-77% = C
  • 60%-70% = D
  • 0%-60% = R

Submission Procedures

Submission procedure is explained for each assignment on its first page and handled through Gradescope. Please make sure to properly match to correct pages to each question. A failure to comply with these procedures will result in grade penalties.


Late Submission Policy

Assignments are expected to be completed by due date. Assignments submitted 4 days after the due date will not be accepted. Each student will have a total of seven (7) free late (calendar) days to use as s/he sees fit.

  • Once these late days are exhausted, any homework turned in late will be penalized 20% per late day
  • However, no homework will be accepted more than four days after its due date
  • Late days cannot be used for the final project writeup
  • Each 24 hours or part thereof that a homework is late uses up one full late day

Project

The project expects each group or student to apply the topics and skills learned throughout the semester to develop an agentic system suitable for completing a proposed task (preferably engineering related). This task can be related to your research area (if you have one), however, do not submit anything you have completed prior to attending the course. You also should not submit a project that is largely a collaborative effort with people outside the course. For example, if your research involves other people in a larger project, you could propose to address a slightly different question in the same area (still related to your research) but one that you are pursuing alone or in collaboration with other students taking the course.

You can and are encouraged to collaborate with other students. If you do, we ask that you outline the role of each person in the project. Groups are expected to have a maximum of 3 members and projects involving more than one person will have to scale in “size” with the number of people.

Proposal

For the project, each group or student need to submit a proposal. The project proposal should be one paragraph (200-400 words). If you work on your own project, your proposal should contain:

What is the problem that you will be investigating? Why is it interesting? What method or algorithm are you proposing? If there are existing implementations, will you use them and how? How do you plan to improve or modify such implementations? What data will you use? If you are collecting new datasets, how do you plan to collect them? What reading will you examine to provide context and background? How will you evaluate your results? Qualitatively, what kind of results do you expect (e.g. plots or figures)? Quantitatively, what kind of analysis will you use to evaluate and/or compare your results (e.g. what performance metrics or statistical tests)?

Presentation

Each student or group is required to present their project in a presentation form. Every member of the group is expected to attend for their 10 minute project presentation. The presentations will be held during the last two lectures sessions of the semester. TAs will evaluate the quality, novelty and the size of the project and its presentation quality.

Report

Your final write-up is required to be between 6 - 8 pages using the provided template (We will provide the template via Canvas). Please use this template so we can fairly judge all student projects without worrying about altered font sizes, margins, etc.


Accommodations for Students with Disabilities

If you have a disability and are registered with the Office of Disability Resources, I encourage you to use their online system to notify me of your accommodations and discuss your needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate.

If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu.


Statement of Support for Students’ Health and Well-being

Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.


Additional Resources

  • Canvas: Course materials, assignments, grades
  • Piazza: Course discussion and announcements
  • Gradescope: Assignment submission and grading
  • Office Hours: See course calendar for times and Zoom links

This page will be updated throughout the semester. Check back regularly for updates.