Some have asked for more info regarding project evaluation. Here is a very rough guide. We will be looking at:
- App complexity/sophistication: For example, an app that provides chatting capabilities, user login, push notifications, slick UI, and location awareness would be better than a simple ToDo app that simply stores items in the phone's database with minimal UI.
- The amount of work needed to complete the app: It should be significantly more than that needed to do a homework.
- Appearance/polish: Ugly or hard-to-use UI's will count against you. Put some effort into this for a high grade.
- Good coding practices: use the best practices we covered in class. Don't do things that were said to be bad practices (e.g., starting a background thread in a UI component like a fragment or activity). Use data binding, coroutines, recyclerview (instead of listview, if appropriate), view models, etc. for a higher grade.
- How much verifiable work you, as an individual, put in will affect your individual grade.
- Readme on Github: should look nice and succinctly convey what your app does, how people use it, and anything technically interesting about your app.
- Extra points for creativity, solving a problem that really needs solving, novel or complex algorithms, exceptional use of critical thinking, etc.