Winter 2017 | University of California, San Diego CSE Department
Homework #4 - Prototyping the Core CRUD and Authentication Features
A secondary goal of the assignment is to take our prototype work and attempt to define coding practices before we make our final execution push. We will allow students to use vanilla JS, jQuery or VueJS in this effort (no other choices will be allowed for our grading sanity). However, we need to encourage some adoption of a code structure so that your project doesn't quickly devolve. The prototype you turn in should show a clean file tree, consistent names of files, clean formatting and naming and so on. We do this now in this small case so that when we perform the final effort we will have a pattern to follow as we work out details. There is no right answer to this other than consistency. The graders will want to see decisions made and followed. A good guideline is that if they can tell three different people wrote the code, named the files, etc. you will lose points. While this part of the assignment isn't worth many points now, expect the final turn will increase the value, so if you nail this down now it will be easier to collect more points later.
The final goal of this assignment is to understand the ramifications of the use of technologies again. We want to note the things we discover as we work with Firebase as well as any libraries or components we employ to test out the core functions. We also again want to see what will happen if we run our code on a limited device (the Android device with a 3G network throttle). If you can make adjustments to make your prototype code work better on this device under these conditions you should do it as it will only get worse in the final step. In other words, if you have not done any optimization to make your prototype code run in a user tolerating fashion there is little chance that once you fully implement the app it will work reasonably from the user's perspective.
Your turn-in will include a single version of your Firebase prototypes that should be reachable online at your hosted location. However, note that you can prototype as many ways as you like, but you will turn in only what you want us to see and grade. You may however do other things which may discuss in your write-up. As usual you must provide repo information for the TAs to look over your efforts and specific details will be provided in channel to assist the turn in logistics. Also like the previous assignment you should write some information about what you found out in your efforts particularly any data you may have on the performance challenges and development challenges you faced. Failures in coding exploration are not only tolerated, but may be welcome and useful to you. For example, if you found things hard, inappropriate for the job, etc. use your write-up as a place to recover points. Once again the write-up should be no longer than 3 pages and be succinct and to the point.