Image result for android project

Projects

  1. CheatSheet (Xing)
  2. Caregiver Assistant (Xing)
  3. Elyst (Xing)
  4. Grassroots (Xing)
  5. Meal Buddy (Jun)
  6. DoMeFavor (Jun)
  7. BS* (Jun)
  8. Class Chances (Jun)
  9. Dance Master (Anup)
  10. Before Spoiled (Anup)
  11. Clipboard (Anup)

Schedule

Thursday 05/05 -- The Pitch

Friday 05/20 3-7 pm -- Show_and_Tell_1

Friday 05/027 3-7 pm -- Show_and_Tell_2

Tuesday  05/31 5-10 pm -- Demo_or_Die_Day

Wednesday  06/01 11.59 pm -- Final webpage material

Grading

Project TA support

I have assigned a TA to each project. Their role is to assist you with feedback on every stage of the project: design, implementation, debugging, problem solving. But they are not an additional coder. You can email the TAs to meet you at any time that is works for teams and TAs. They will meet you at minimum once next week and once over the weekend before demo day -- they will solicit those meetings. But it is up to you to use the TA project resources as you see fit. They are there to help -- so use them.

Frequently asked questions

The questions:

What makes a good project?

A novel idea, a good working team (communication, division of labor, and reliability are key to success) , and fast execution (i.e., agile programming).

Do we need a backend?

Only if you need one -- for example, is your app is multi-user, social, has a webview of data.

How much effort does a team have to put into the project to get  a good grade?

The project lasts < 2 weeks with teams of 4 (on average). Assume 1.5 * MyRuns3 (database) effort for each team member. Have you put that much collective effort into your project? If so, you are looking good. We look at the final demo, the beautiful code your team writes, your presentation (see below) during demo day to assess your overall grade.

Is there a best project award?

Yes, we will announce the best project after demo day.

Does the app have to be downloadable during the demo?

Yes, people at demo day should be able to go to your webpage and download the APK. Install it and the app should work. This will be taken into account in the overall grade. It has to be a real app.

Do all students in a team get the same grade?

Yes, I assume that all students pull their weight in the project. If you are bothered by one or more of your team members not pulling their weight you have to speak to me before demo day. I will not take any actions from complaints about team members after demo day.

What needs to be done for Show_and_Tell_1?

  1. You are encouraged to present the MVC diagram (e.g., drawn on paper, in a slide) that shows all the app and backend (if applicable) components.  If you decide not to do so, you need find a way to visualize your components. 
  2. You need to present a demonstration of some of the project components -- e.g., parts of the UI, controllers, databases, backend (see FAQ on demoing tech)
  3. Discuss who is doing what.
  4. Describe what demo will be shown at the Show_and_Tell_2. This is not binding but will allow XD to give feedback.

What needs to be done for Show_and_Tell_2?

  1. You need to present  a threaded design diagram -- that shows all the threads in the project, that is, which components run on the UI thread and which components run off the UI thread.
  2. You need to present a demonstration a beta of a large part of the completed app (see FAQ on demoing tech)
  3. Discuss who did what.
  4. Describe what demo for demo day. XD to give feedback.

Do we need to submit any material for show_and_tells?

No material is required to be submitted prior show_and_tells. After the show_and_tell you should update your slides with any information presented in the show_and_tell (for example, MVC for Show_and_Tell_1, threaded design diagram for Show_and_Tell_2). The exception to this is that you need to submit a snapshot of your project code prior to Show_and_Tell_2. You can do this by uploading a Zip of your project to Canvas prior to the meeting.

For show_and_tells how much app technology do we have to demo to get a good grade?

I expect to see working code for components of the project. I do not expect to see a full working system.

The way I see it I will see three grading points of the app technology. I expect to see potentially fragmented components working at the first Show_and_Tell. At the second Show_and_Tell I expect to see 70-80% of the running code demonstrated to me.  And demo day 100% working code with a downloadable working APK available to the class from your webpage.

So the more you can code up for Show_and_Tells the better -- if you want to be on the safe side. It is difficult for me to quantify this in any more detailed terms. Let me put it like this: I know code, I know what is under the hood of a demo, I know demo-lite and demo-heavy,  if I see something at the first Show_and _Tell  where I feel you have made a real effort to code then you'll get a good grade. If I sense something has been whipped together (demo-lite) then it is obvious to a person of my app experience -- for example, if you show me a ListView at Show_and_Tell_1, well, I'll not going to be impressed.

Bottomline: I want you to succeed. To do that you have to put the hours.

What do we need to do for demo day?

  1. Put a URL to your APK on your webpage called “App APK here” and hyperlink in the APK.
  2. Test that your APK works once it is linked in. Do not assume it will work.
  3. Make a presentation.
  4. Demonstrate your app.

What is in the final presentation on demo day?

The following slides:

  1. Cover slide
  2. The idea (the pitch)
  3. The reason why you think your idea is worth approaching.
  4. MVC diagram (optional)
  5. Threads design diagram (to be discussed)
  6. The demo (the TAs will be downloading and trying your app)
  7. Who did what
  8. Lessons learnt from doing this project -- both positive and negative
  9. The end -- you’re done
  10. optional: you can have supplementary slides in your presentation but they can’t be presented on demo day -- for example, a plot of data, failed approach, or some information related to design decisions. This allows you to capture all information associated with the project.

What final material needs to be on your project webpage on demo day?

  1. The original pitch.
  2. The team effort breakdown: who did what?
  3. The app APK (hyper linked in).
  4. The MVC and threaded design diagrams in a single slide presentation file.
  5. The demo day presentation.
  6. A ZIP of the final project presented on demo day. Make sure this code works because we will grade it and test it. Please include any special instructions in a README.

Do you have to be present for the complete demo day presentations by all groups?

While I encourage you to see as many of the projects as possible I do understand when you can’t make the complete demo day session.

How will demo day be graded?

It will be graded on your presentation, the demo itself (note, if your demo doesn’t work on the day you will get a poor grade), your code, and your webpage (not how pretty it is but the content).

How much of the demo or die slot should be allocated to the demo?

Think of it like this: the real goal of demo day is to demo your app. Therefore, spend at least half of the allotted time on the demo and the rest on the slides. You might not have time to show all features of your app. You should therefore make sure you show the key features so the audience fully understand the ideas that underpin the app.

Should we practice our presentation?

Absolutely.

Imagine I'm a VC. Your team has a create new app. You have exactly 20 mins to make your presentation and demo your new technology. Based on that I'll fund or not.

To do all this in 20 mins in a flawless fashion takes a lot of practice and being very organized on the day. Assume everything will break -- yes, it’s true: only the paranoid survive!

There are some tips that will help you make a great presentation:

  1. You will be plugging your own laptop -- therefore check you can project from your laptop in one of the kemeny classrooms.
  2. If you are planning on mirroring your app (advisable) so people in the audience can see your app at work then check that works. By mirroring the audience get a good feel for your app.
  3. Set up you complete web content before your demo day slot time.
  4. Get ready for your slot time -- get the mirroring working and get ready to plug into the projection section.
  5. Check that the TA can download and run your app from your webpage prior to the demo day slot. And that the app works for the TA (whoever your project  TA is).
  6. Think about how you can best show the cool aspects of your demo - how can you choreograph your demo so that your app shines. This takes some thought.
  7. Inject energy into your presentation and make it exciting and fun. If you look bores and blah expect the VC to feel the same way.
  8. Murphy's law is an adage that means: anything that can go wrong, will go wrong. What is your backup plan? How will you handle the unpredictable?
  9. Why does XD call demo day “Demo or Die Day”. Because if you fail to demo your app you will get a poor grade for the demo component of the final grade. If you worked for a start up you’d be fired. Note, the demo aspect is weighted as the most important of aspect for grading: over the presentation, over the code, over the webpage content. Therefore, make it buzz.