Mobile Full-Stack Agentic AI
with Streaming Data
Fall 2026
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.
AI coding agents can write a lot of code, fast. Left unguided, they drift into the red zone: high independent execution, low instruction following—risky, unpredictable, and hard to hold accountable. This course helps steer you and your agents away from the red zone and into the blue zone, where you know what to ask for, can recognize a correct answer, and own every design decision in your code.
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), using the front-end and back-end stack of your choice (see Tools). 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.
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.
Tutorials (for partial credit)
Preliminaries
- Getting started with Android development
- Getting started with iOS development
- Preparing GitHub for Tutorials and Projects
- Native-only development
llmPrompt
llmChat
llmTools
llmHITL
llmVec
llmRAG
ULCS Projects
llmPlay
llmAction
llmSearch
Course Schedule
Loading schedule…
Grading Policy
Grading distribution
*tutorials count as partial credit
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).
Letter grades and extra credits
Letter grades posted after the last day of final exams. There is no standard mapping from grade point ranges to letter grades.
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.
Tools
Course Infrastructure
- Discord as discussion forum
- GitHub for code repo
- Apidog, Postman, curl, HTTPie for API testing
- GitHub Pages, Tailwind, Primer Spec, Canvas for web hosting
Front-End Client
Back-End Server
Front-end References
- Android and Apple developer sites, plus Apple's Documentation Archive
- Explore SwiftUI Visually
- Apple WWDC videos
- Google Android Developers YouTube and Elizarov's talks on coroutines and flow
- Kotlin and Swift language references
- Swift Resources, including Apple's Develop in Swift series
- Kotlin and Swift fora
- Hacking with Swift
- Rust notes on unwrapping and memory
- Material Design Color System and Material 3 Color system
- Google Fonts Material Design icons and Guide
- Apple SF Symbols and Guidelines