Course Overview

Mobile Full-Stack Agentic AI

with Streaming Data

Section 008

Fall 2026

In this course, you will build a series of mobile-first AI agents, starting with a simple chatbot and progressively adding capabilities such as conversation context, tool use, and retrieval-augmented generation (RAG). You will choose your implementation stack: Kotlin/Compose or SwiftUI for the frontend, and Go/Echo, Python/Starlette+Granian, Rust/Axum, or TypeScript/Fastify for the backend. Along the way, you will learn how to implement streaming interactions, persistent chat history, agentic tool uses, such as retrieving mobile device location, and performing semantic and hybrid search for information retrieval.

Whether you are new to mobile development or already have prior experience, this course is designed to take you from the fundamentals to complete full-stack AI systems. Throughout the course, we embrace AI-assisted development while ensuring that you understand and can defend the architectural and design decisions behind your work.

Prereq: EECS 281 Satisfies ULCS & EECS/FlexTech Elective

Note: This course has combined lectures with the MDE special-topic course EECS 498-002, Mobile App with Embedded AI Design and Development. Only the projects and exams are different between them. You can sign up for either, but not both.

If you have any questions about either course, please feel free to ask Prof. Sugih Jamin (sugih).

Students who have taken EECS 441 Sections 3 & 4 with Prof. Jamin cannot take either course for credit.

Room & Time

Lecture

1005 EECS

Discussion

3427 EECS

Tues. & Thurs.

10:30 – 12:00

Fri.

10:30 – 11:30

Staff & Office Hours

Sugih Jamin (sugih)

Tues. & Thurs. after lecture

And by appointment — 4737 BBB

Ryan Chen (chenryan)

Mon. & Tues. from 6:00 – 7:00

BBB Learning Center, Table 1

Resources

Discord — important course-related information and answers to FAQs.

There is no textbook. Instead, the tutorial specs and lecture notes are both required readings.

Tutorials (for partial credit)

Preliminaries

llmPrompt

llmChat

llmTools

llmHITL

llmVector

llmRAG

ULCS Projects

llmPlay

llmAction

llmSearch

Course Schedule

Loading schedule…

Grading Policy

Grading distribution

Projects
50%
llmPlay 15%
llmPrompt* 5%
llmChat* 5%
llmAction 17%
llmTools* 6%
llmHITL* 6%
llmSearch 18%
llmVector* 6%
llmRAG* 6%

*tutorials count as partial credit

Exams
35%
Midterm 17%
Final 18%
Homework
15%
HW1 5%
HW2 5%
HW3 5%
Extra & Replacement Credit
In-lecture code exercises 2%
Total 100% + 2%

Letter grades

Posted after the last day of final exams. There is no standard mapping from grade point ranges to letter grades.

Policy on collaboration

Projects, homework, and tutorials may be completed individually or in teams of at most 2 people. You may partner differently for each assignment.

Acts of cheating and plagiarizing will be reported to the Engineering Honor Council. Cheating is copying, with or without modification, someone else's work not meant to be publicly accessible. Plagiarizing is copying publicly available work without acknowledging the original author. Review the College of Engineering Honor Code.

If you received substantial help from another person or AI/LLM, you must name and acknowledge them. Full citation required for any published materials used.

Regrade and late submission

You have one opportunity to fix bugs in each graded tutorial by the assigned office hour following its due date. Corrected code credited up to 50% of original points. Do not modify code on your git repo past the due date to remain eligible.

For all other work, you have two business days from when a grade is communicated to request a regrade in writing with technical justification. A regrade covers your whole submission and may result in a lower overall grade.

Extensions given only for documented medical and family emergencies. Cloud outages, encoding delays, laptop crashes, Bitlocker lockouts, and CAEN slowdowns do not qualify — plan for them. Keep an off-site backup (e.g., a remote git repo).

Class participation extra credits

Completing in-lecture code exercises earns extra credits that can top up your overall course grade. Missed opportunities for extra credit cannot be made up.

Acknowledgements

Course Infrastructure


Back-End Server

Go / Echo Python / Starlette+Granian Rust / Axum TypeScript / Fastify SQLite3 / sqlite-vector Ubuntu