This course has a final, individual project (IP) that is due during the reading/exam period (see dates below). The purpose of this project is to bring together everything that you have learned in this course and demonstrate your skills and knowledge by designing and developing a project of your inspiration. On the last day of classes, you can choose to show a short demo during the class to get feedback from your peers. Then, you'll schedule a 30-minute meeting with the instructor during the reading/exam period to present your completed implementation and answer questions about your work. This project is the only one in this course in which you are bound by the Wellesley Honor Code to work entirely on your own, without consulting about its implementation with your peers/tutors. You can however come and talk to the instructor at any time if you need help.
Since the topic of the project is of your choice, the requirements are about the kind of technologies that you are expected to use in the project, in order to allow for a fair comparison of all students' work.
meteor.com
domain.The IP will go over a few phases:
#IPidea
. Please, do not post
your idea days ahead of the deadline, to avoid influencing other's brainstorming
process.#ipidea
, so that the reviews will all show
on the same column in our Tumblr aggregator.
Once a student has published their IP idea and description on the Tumblr blog for everyone to see, that app idea and implementation strategy will be considered their "intellectual property" for the rest of the semester. This means that no other student or team should take that idea and turn it into an app either for the Wellesley Hackathon or other events until the end of the semester. Furthermore, if in the future you would decide to create your own implementation of that idea, always give credit to your peer by linking to their IP folder with the original description.
Here are some ideas for how existing AMs can be converted into an individual project.
In AM3, some students wrote educational games with Google Maps and Wikipedia to get users to test their geography knowledge and learn about things they didn't know. One thing that these apps couldn't do is to keep track of everyone who plays the game and their scores, the questions they answered wrongly or correctly, how fast, etc. An IP would then take this game and turn it into an app where there is a database that keeps track of users and their game history. Then for informational purposes it converts some of the data into dashboards (either individual or for an instructor) to show different insights (dashboards can be created with D3.js). For example, if you are the instructor of the class, you get to see on which questions students had more trouble with and which were the questions that most students got right. Or you can see how much time each student spent reading the information they didn't know, or whether they clicked on a certain link (or info window). This idea was claimed by Priscilla.
Another AM3 app looked at the menu choices in the Wellesley dining halls. An extension of this app will look like this: every week, the server-side code of your app grabs the HTML pages with the weekly menu and stores that information in the database (this will replace the part of using an API, given that there is no API to access this data). Then, users create profiles with the system to keep track of their food preferences and their preferred dining hall. The app can create a personalized menu for the week and show it to the student when they log in. Also, the user can opt-in to receive email reminders about what dishes not to miss during a week. The value of this app will be to facilitate making healthy eating choices during a busy time.
A better CS249 Tumblr Aggregator. [Note: I would love if someone could build this.] The current Tumblr aggregator while useful at the class-level it is not very useful to every individual, because it doesn't show whether they have completed their goal of two weekly reflection posts and four interactions with other peers. The app will allow a user to enter their Tumblr handle as part of the registration process and then display their activity broken-down in weeks, by showing whether they accomplished their goals for the week. If desired, it can also show how the logged-in user compares to other students in the class. A useful visualization would be to show with which users there has been more interaction and whether there are users with whom one has never interacted in the past. Finally, users can choose to have the system send them email reminders to not forget to write their reflection posts. This idea was claimed by Susie.
A related project could be to create the Aggregator for the instructor, to provide useful information to her. This could entail visualizations that display whether all the students submitted their work this week. Are there any students who are behind? Which posts are generating more interest? Are there any unanswered question posts? Etc., etc.
If any of you would like to implement one of the four ideas described above send an email to the Google group to stake your claim. I will then update this page if an idea is taken.
In your cs249
folder, you should create an IP
folder
where you will have an index.html
page that contains links to
all materials you will generate during this period:
meteor.com
Make sure to provide dates and short descriptions for all links that you will collect in this page.
This IP counts for 15% of the course grade. This will be converted into 15 points divided in the following way: