You are encouraged to come up with the project ideas on your own. Alternatively, you can pick from a list of suggested ideas (TBA). Original or unusual ideas are strongly encouraged but, please, discuss them with me before you commit. Every project must involve to some degree:
Exceptions from these requirements are possible but have to be cleared with me before any significant effort is put into the development. One of the goals of the course is to encourage innovation and foster creativity. Anything that has not been done before, a fresh look at an old problem, a cool and novel use of the capabilities of the platform, etc., will make for a great project.
Given the short duration of the course, it is understood that completing a polished up final version may not be possible. The expectation is that by the end of the course, there will be a proof-of-a-concept application with all the key components implemented and functional. It is permissible that secondary but labor-intensive aspects of the project will not be completed. For example, your application may have an address of a server hardcoded so you don't have to spend time developing extensive means to configure. However, not developing the code that transacts with a server would be a problem.
Project steps: