Have you built a mobile app that interacts with the users with the mobile’s camera, mic and speakers, GPS, and biometric sensors? Can you build a backend server that handles audio, image, and location data? In this course, you will work in a team of 5-7 students to build mobile apps that take full advantage of the device's capabilities. What features shall you include in your app? How good is your UI/UX design, really? We will adopt a data-driven approach to answer these and other design questions . If you have never written a line of mobile code? Don’t worry, we will start from how to use a mobile IDE all the way to how to build reactive native mobile apps.
Visit the Gallery to view a sample of projects from previous version of this course (EECS 441 §3&4).
ADD DEADLINE TBD: in many CSE MDE/Capstone courses students form teams and begin accelerated work early in the semester. Attendance early in the term is critical for success. For the Fall 2025 term, the last day to enroll in these courses, including this course, is TBD.
This is a combined course with EECS 398-001, Intro to Async Reactive Programming; they share combined lectures. You can not get credits for both. Only the projects and exams are different between them. The MDE course (498) has a team-defined semester-long project and no exams. The ULCS course (398) has smaller projects throughout the term, with two exams, like other ULCS courses. You can sign up for either, but not both. If you have any questions about either of both course, please feel free to ask Prof. Sugih Jamin (uniqname: sugih).
Sugih's by-apppointment office hours will be held in 4737 BBB. GSI's office hours will be held in the BBB Learning Center, Table 1. We also have a Discourse discussion forum.
There is no textbook. Instead, the lab specs and lecture notes are both required readings. The course's schedule below also lists articles we will be reading this semester. We will post important course-related information and answers to FAQs on Announcement page on Discourse.
You are required to work in a team of 5-7 members on course project. Lab assignments are to be completed either individually or in a team of at most 2 people. Team membership for lab assignments may change from lab to lab.
Acts of cheating and plagiarizing will be reported to the Engineering Honor Council. Cheating is when you copy, with or without modification, someone else's work that is not meant to be publicly accessible. Plagiarizing is when you copy, with or without modification, someone else's work that is publicly available without acknowledging the original author. Please further review the College of Engineering Honor Code.
You will have ONE opportunity to fix bugs in each graded lab by the assigned office hour following the lab's due date. Corrected code can be credited up to 50% of its original grade points. Code not submitted by deadline will be ineligible for regrade. To be eligible for regrade, do not modify the code on your git repo past the due date. Code with commit time past the deadline will not be eligible for regrade.
Other than the labs, you have two business days from when a grade is communicated to you to ask for regrade. To ask for regrade, you must submit a written request explaining the technical reasons that would make a regrade necessary. A regrade means regrading your whole work and may result in an overall lower grade.
Due to the nature of the assignments, no late work will be accepted. All presentations must be submitted through Canvas by the deadline and, where requested, link to video posted on a Google spreadsheet. If you do not turn in an assignment by its due date, you will receive a zero for the assignment.
You will have about two weeks to complete each assignment or quiz. Extensions will be given only for documented medical and family emergencies. Cloud services such as compute engine (AWS or GCP), git repo (GitHub), collaborative apps (Trello, Figma), video hosting site (YouTube) have been known to become inaccessible for 24 hours or more. Video encoding and uploading can take longer than you expected. Your laptop could crash or you could be locked out by Bitlocker or other security measures on your laptop. CAEN/ITCS computer labs could be full or closed and machines slowed down due to overload. NO extension will be given for any of these reasons. Plan on them happening and have your work done a couple of days before any due dates. Extensions will also not be given for job interview nor any other non-emergency activities. Keep a backup of your work off-site, for example, on a remote git repo, and keep your backup fresh.Lecture attendance, completing in-lecture code excercies, participation in peer evaluations, providing feedback to other team's Presentations allow you to earn extra credits which can be used to top up your overall course grade.