Skip to content
Snippets Groups Projects
Commit 2e252f64 authored by Peter J. Keleher's avatar Peter J. Keleher
Browse files

auto

parent 31994521
No related branches found
No related tags found
No related merge requests found
# Group Project
**Due: Dec 1, 2021, 11:59:59 pm, v1.03**
## Requirements
The Semester Project is intended to be the capstone to this course. Your
team should use the basics we learned in the first half of the course
as a springboard to a project that contains elements we have not
discussed in class, or at least not in any detail. The requirements
are as follows:
- build an app using novel technologies or ideas, where novel means
something that we have not discussed in detail in the class. Note
that in class ~~we will be doing a small amount of augmented reality~~, of
~~machine learning~~, and networking with Firebase. These are still fine
for the project.
- write a five-ten page report describing the evolution of your ideas,
the process you went through to end up at the final app, and of
course the app project itself.
- A five-minute screen-capture video (with audio desribing the
app's features). I will choose among these for the last full week of
classes. Each such team gets a 10% bonus.
- Turn in the app. It must compile and work as in the video/presentation.
## Group Assignment
This is totally up to you:
- You can form your own group if you know others that you want to work
with.
- You can advertise for teammates for teammates on piazza at
[@5](https://piazza.com/class/kqis2c9qzre3wr?cid=5).
Groups sizes are three or fewer students. You *may* work alone, but I
will require you to justify why you can now work in a group in an
email directly to me. If I disagree, you will be placed in a
randomly-created group.
I expect groups with either two or three members to produce projects
of roughly equivalent sophistication. Individuals would be expected to
do somewhat less.
## Group Communication and Workspace
You and your teammates can communicate any way you
wish. [Elms](https://myelms.umd.edu/courses/1275375/groups#) (**build your
team under the "Semester Project" tab, not "Student Groups"**) has
a mechanism to build group collaboration spaces
that allow group members to message and share files.
However, I expect email and messaging to be more commonly used.
Each group will be assigned __a new gitlab repository__ for development once
groups have been defined.
## Topics
Your app topic should satisfy the following constraints:
1. be a significant departure from what we have explicitly covered in
class.
1. be an app is more suited to a mobile device that somehow
takes advantage of the abilities or characteristics inherent to mobile phones
circa 2020, i.e. mobile, (almost) always-connected, good graphics,
useful hardware (camera, audio and video recording, gyroscope, GPS
antenna, etc.).
Your team must write up and propose a topic (see below for
specifics). I may disallow it if I consider it not innovative/novel
enough, or not sufficient for a month-long project with multiple team
members.
**You will generally be expected to use techniques and/or APIs that we have not
discussed at length
in class**. The ARKit and machine learning libraries are expansive
enough that I encourage you to build on what we discuss in
class, if we get there. FireBase may or may be considered novel, depending on how you are using it.
## Artifacts to be turned in
1. **Due 10/7**: 1-2-page PDF document with/
- Project Name
- Group Name
- Group Members (names)
- Minimal product goals (1 paragraph)
- Stretch goals (1 paragraph)
- Projected timeline, w/ milestones and assignment of work to group members.
- Sample [here](sampleSemesterProjectWeek1.pdf)
1. Weekly updates of current progress will be submitted
each Sunday night starting by midnight 4/12, possibly via Google Forms. Exact format of this will be
defined once we find out how many groups we have.
1. **What to Turn in 5/10**: Final project, including video, due.
- write a five-ten page report describing the evolution of your ideas,
the process you went through to end up at the final app, and of
course the app project itself.
- A five-minute screen-capture video (with audio desribing the
app's features). I will choose among these for the last full week of
classes. Each such team gets a 10% bonus.
- Turn in the app. It must compile and work as in the video/presentation.
# Project Ideas
These are ideas, you can either choose one of them to build on, or define your
own. However, you need explicit permission for a proposed app from Dr. Keleher
before proceeding.
1. Asteroids-equivalent arcade game (but NOT asteroids), including:
- spritekit,
- sound,
- artwork.
1. Clever puzzle games, like ToonBlast
1. Augmented Reality (ARKit)
- Placing Objects and Handling 3D Interaction
- Scanning and Identifying 3D Objects
- Pokeman Go-lite (ARSCNView)
1. Apple watch complications
1. Bike route planner / tracker
- track route with line on map
- export to a .fit
- upload to strava
- plan from current location (this would require google map sdk)
1. Healthkit data mining and presentation.
1. Machine learning:
- Models at
[https://developer.apple.com/machine-learning/models/](https://developer.apple.com/machine-learning/models/),
[https://github.com/SwiftBrain/awesome-CoreML-models](https://github.com/SwiftBrain/awesome-CoreML-models)
Build an app to recognize specific types of objects and pull up
online information and links for those recognized objects.
1. Something else.
## Grading
You grade for this project will be composed of:
- 25% novelty/innovation of idea
- 25% degree of difficulty
- 25% overall execution of product
- 25% overall polish, look and feel
These are rough overall guides. If you propose a beautiful new idea for an app but do
nothing, you still get a zero. If your propose something beautiful and ambitious but run
out of time you might still get a very high score.
The weekly checkpoints are not graded, but they are required, and will influence the final
grade, especially if the project falls short in the end.
## Submitting
More details of the group repositories and submissions are forthcoming.
File added
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment