From 7bb19b9bf76f057148571a9d0cc9d7563cee25b6 Mon Sep 17 00:00:00 2001
From: keleher <keleher@cs.umd.edu>
Date: Sat, 14 Mar 2020 08:11:29 -0400
Subject: [PATCH] auto

---
 groupProject.md | 148 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 148 insertions(+)
 create mode 100644 groupProject.md

diff --git a/groupProject.md b/groupProject.md
new file mode 100644
index 0000000..704609a
--- /dev/null
+++ b/groupProject.md
@@ -0,0 +1,148 @@
+# Group Project
+**Due: May 3, 2020, 11:59:59 pm, v1.01**
+
+## Requirements
+The group 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.
+- Either a five-minute screen-capture video (with audio desribing the
+  app's features), or a seven-ten minute presentation in class. Every
+  team that signs up gets a 10% bonus, even if we do not have time to
+  show your presentation (though in that case you will need to do a
+  video.
+- 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
+[@6](https://piazza.com/class/k602f3dx9xi6ru?cid=6).
+
+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#) 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.__
+
+## 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. FireBase may or may be considered novel, depending on how you are using it.
+
+## Artifacts to be turned in
+1. **Due 4/5**: 1-2-page PDF document with/
+   - Project Name
+   - Group Number
+   - Group Members (names)
+   - Minimal product goals  (1 paragraph)
+   - Stretch goals  (1 paragraph)
+   - Projected timeline, w/ milestones and assignment of work to group members.
+You will be assigned to a TA who will be your ***advisor*** for the
+life of the project. 
+1. Weekly updates including current progress will be submitted to your
+   advisor each Sunday night. 
+1. **Due 5/3**: Final project, including video, due.
+1. Sample [here](sampleSemesterProjectWeek1.pdf).
+
+# Project Ideas
+
+You **must** choose one of these idea. You should obviously build on it, but
+any project that is not one of these, without explicit permission from Dr. Keleher, gets a 0.
+
+1. Asteroids-equivalent shooter game, including:
+   - spritekit,
+   - sound,
+   - artwork.
+1. Augmented Reality
+  - Pokeman Go-lite
+  - Grocery store ingredients scanner (for those with sensitivities to
+    specific ingredients
+1. AVController for recording audios of people’s voices and plays with them adding different effects
+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. Cryptocurrency/Stock price tracker
+   - Get price data as a stream (NSURLSession)
+   - Add streams to current app instance 
+   - Display graphs, compute price indicators based on data
+1. Healthkit data mining and presentation.
+1. Local events: Swipe to find events,  and event hosters can swipe to match with who they want to invite.
+   - GPS to find events based on location
+   - Basic UI with swipe gestures, notifications, etc.
+1. Location based messaging app. All users would be anonymous, and can choose to see and reply to posts made within a radius of their choosing.  
+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. Proximity-based swapping, messaging.
+   - Use app-generated QR codes the camera to get an anonymous
+     handle. Even better if the messaging is secure.
+1. Weasley magic clock (inspired by Harry Potter)
+   - clock laid out with pre-specified locations (home, work, gym..)
+   - arm for each family member / friend, pointing out where they are
+   - intelligent interpolation for intermediate states
+
+## 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.
-- 
GitLab