Group Project Components

The Pitch

Show_and_Tell_1

Project Webpage

Show_and_Tell_2

Final Project and Project Presentation

Grading

TA Support

TA's 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 meet TAs in their office hours. They are there to help -- so use them.

FAQs

What makes a good project?

A novel idea or demonstration of 50% new materials (e.g., Firebase and more) in your project uncovered in the class, a good working team (communication, division of labor, and reliability are key to success) , and fast execution.

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?

Say the project lasts 4 weeks with teams of 5. Assume 4 * 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) to assess your overall grade.

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 the due day. I will not take any actions from complaints about team members after due day.

What needs to be done for Show_and_Tell_1?

  1. You are encouraged to present the MVVM diagram (e.g., drawn on paper, in a slide) that shows all the app and components that handle data (if applicable).  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, sensors, databases, backend.
  3. Discuss who is doing what.
  4. Describe what will be shown at the Show_and_Tell_2.

What needs to be done for Show_and_Tell_2?

  1. You need to present a large part of the completed app, including improved UI and other project components -- e.g., controllers, sensors, databases, backend.
  2. 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.
  3. Discuss who is doing what.

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 60-70% of the running code demonstrated to me. And the due 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 due day?

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

What is in the final presentation?

The following slides:

  1. Cover slide
  2. The idea (the pitch)
  3. The reason why you think your idea is worth approaching.
  4. The challenges that you have overcome and why the scope of your project matches the size of your group.
  5. MVVM diagram (optional)
  6. Threads design diagram (to be discussed)
  7. The demo
  8. Who did what
  9. Lessons learnt from doing this project -- both positive and negative
  10. The end -- you’re done

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

  1. The original pitch.
  2. The team effort breakdown: who did what?
  3. The app APK (hyper linked in).
  4. The MVVM (optional) and threaded design diagrams in a single slide presentation file.
  5. The presentation video (hyper linked in).
  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.

How will your project 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). Check that the TA can download and run your app from your webpage prior to the due day. And that the app works for the TA.

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

Think of it like this: the real goal of presentation 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 10 mins to make your presentation and demo your new technology. Based on that I'll fund or not.

To do all this in 10 mins in a flawless fashion takes a lot of practice and being very organized.

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

  1. If you are planning on mirroring your app, consider Vysor.
  2. 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.
  3. 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.