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