Project Gallery
We explore product design, project management, code development, usability testing, and team management within the context of mobile app development.
Your goals: to identify an
innovative mobile app idea and to design and develop it for a
product launch at the end of the term. Visit the
Gallery to view a sample of projects from previous terms.
Along the way, you learn how to program a mobile phone running iOS or Android. We focus on device-dependent native app developments, not cross-platform solutions.
ADD DEADLINE Sept. 6th, 2024: 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 2024 term, the last day to enroll in these courses, including EECS 441, is September 6th, 2024.
TTh 10:30 - 12:00
F 10:30-11:30 or
11:30-12:30
OH: TTh right after lecture and by
appointment
OH: MonTue 6-6:30 at BBB Learning
Center Table 1
Office hour locations:
Sugih's in-person 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.
Required readings:
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.
Letter grade interpretation
Letter grades will be posted after the last day of final exams.
There is no "standard" mapping from
grade point ranges to letter grades.
A+: Perfect. Has that WOW factor.
A: Engineering work is outstanding.
Creativity and novelty are clearly observable. The project goes beyond
simply calling a third-party API and CRUD functionalities and presents
the best possible accomplishments given the difficulty level and
experience level of the student team. The amount of effort invested is substantial.
To qualify for A-range grade, you must satisfy in addition one of the following requirements:
- make your team project repo, agile management board,
and presentation videos publicly available for posting on the course's
gallery page, or
- publicly beta test your project, either through Apple's
TestFlight or Google's
Testing
Tracks and published it later on either Apple's
AppStore or
Google's
PlayStore correspondingly.
B: Engineering work is very good,
though falls short in a few areas. Traces of creativity and
novelty are observable. Project draws upon advanced coverage of
ULCS coursework yet no noteworthy extension of knowledge is readily
observable. The amount of effort invested is substantial but could
be increased. Projects whose value proposition is met simply by
calling a single third-party API, e.g., ChatGPT, Google speech
recognition, or Amazon celebrity face recognition, would fall into
this category and earn at most a B-range grade.
C: Engineering work is minimally
acceptable. Projects core functionalities do not extend beyond simple
CRUD (create, retrieve, update, delete) operations. Design fails
to materialize through a refined process. Questionable design
decisions are noted. Design rationale is not well-documented or
simply not credible or not sound from a technical perspective.
The project is below expectations with respect to a number of
criteria; however it does score some successes which suggest
project for the future. Students appear to be minimally prepared
to undertake such endeavors unless significant refinement is implemented.
D: Engineering work is questionable.
Most deliverables are substandard. The project draws upon shallow and
limited knowledge base. Given the difficulty level, accomplishments are
minor although promising in certain aspects. There is potential that
a fully functional prototype could be delivered if additional time
is allotted.
E: Project could not possibly be
classified into any of the above categories.
Policy on collaboration
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.
Regrade and late submission
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.
Class participation extra credits
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.
Discourse as discussion forum
Trello for team management
Lucidspark or Miro for affinity mapping
Adobe XD or Figma for UI/UX design (
resources)
Insomnia, curl, HTTPie for testing
GitHub Pages, Semantic-ui,
Primer Spec,
Canvas for web hosting
Zoom for remote participation and office hours
Back-end server with:
- Go with atreugo
- Python with Django, Gunicorn, Nginx
- Rust with axum
- PostgreSQL
- Ubuntu
References and tutorials:
Other tools and resources
Teamwork tools:
- Notion team writing tool
- XMind brainstorming and charting tool (not collaborative?)
- Diagrams.net flowchart and diagram (not collaborative)
UI and Rapid Prototyping Tools:
Development Tools: