Saturday, November 12, 2016

Final Project

Overview
In the remaining weeks of the class, you will be focusing on the final project.  Assignments and Homeworks are now completed, and the Readings have been shifted to benefit your projects.  The final project is a team-based, sketch-centric assignment which includes several deliverables that will be discussed below.

Deliverables
Following Assignment 7 and the in-class discussions, everyone should now be a member of a team with a total of 12 teams in all.

The final project may be broken down into three deliverables:

(1) Project Code - Since this is a computer science class, you need to build a program, website, or some form of software tool as part of the final project.  The language, data sources, interface, etc. are up to you and your team.  It is worth noting that using the paper.js canvas available on the shared class drive and your previous homework assignments, every team has a working, real-time sketch canvas with corner detection and simple recognition already built in Javascript.

The Project Code will need to be documented with some sort of ReadMe file and information about building and using the code.  Email a ZIP of all the code together or provide a link to a GitHub project, just submit the entire code source in some form.

(2) Project Report - Alongside the application itself, you need to be able to communicate your project.  A written paper should be submitted in the SIGCHI 2016 format.  You may obtain a Word or LaTex template in this format by downloading this repository as a ZIP file.  The template will provide some useful section suggestions, but a typical paper should include an Introduction, Prior Work, Methodology, Evaluation, and Conclusion.  These exact sections are not necessary but the content corresponding to background, explanation of your project, and how you tested it should be in the paper.

The Project Report should be at least 8 pages.  Also, you must have at least 8 citations per team member.  Thus, a team with 3 people needs 24 citations at a minimum.  There is no maximum on the number of pages or citations.

(3) Project Presentation - Another import part of communicating your project is the final presentation.  This consists of a 15 minute oral presentation.  The content should roughly correspond to your paper: background and what's been done before, what you have done, and how you evaluated it.

The Project Presentation must include a demo video.  You can speak over it in the live presentation, but having a standalone demo video with its own narration will be important for the final submission. The presentation slides will need to be submitted as well.

Due Date
All of the project files must be submitted by midnight on the last day of finals, December 15.  This consists of the code from (1), the report from (2), and the presentation + video demo from (3).  Only one submission is necessary per team.

The Project Presentations will take place on the last day of class, December 7, and the schedule final exam time, December 14.  Three teams will present on Dec. 7 with the remaining nine presenting on Dec. 14.  The slots for Dec. 7 are available on a first-come first-serve basis, so email to obtain one of these slots as soon as possible if you are interested in finishing early.

Readings 18 to 25 - Project Readings

Overview
We have now completed the assigned readings portion of the course.  At this point, you should turn your attention to your final project and focus on finding reading materials to strengthen your work and project report.  To further this goal, all future reading assignments are self-directed.

Project Readings
You should select 8 papers related to your project and blog about them.  You may reuse some of the papers you explored in Assignment 6.  If your project plan has changed or your find more relevant works to include, you are encouraged to select those as well.

If you are on a team, it will be beneficial to find different papers than your teammates.  This is because your final report requires a minimum number of citations based on your team size and having the readings done for the blog assignment will simplify this task so long as each person has read their own papers.

Due Dates
The standard reading schedule is not impacted by the shift to project readings.  You will continue to post summaries to your blogs by Sundays; the only difference is that the readings are no longer pre-selected and you must choose your own.  The 8 project readings correspond directly to the typical M/W/F schedule we have been following for assigned readings.  The timeline is as follows:

11/11, 11/14, 11/16 (Readings 18, 19, and 20) due 11/20
11/18, 11/21, 11/23 (Readings 21, 22, and 23) due 11/27
11/28, 11/30 (Readings 24 and 25) due 12/04

Monday, November 7, 2016

Reading 17 - ChemInk


Paper
Ouyang, Tom Y., and Randall Davis. "ChemInk: a natural real-time recognition system for chemical drawings." Proceedings of the 16th international conference on Intelligent user interfaces. ACM, 2011.

Notes
Now that all of the homework assignments are complete, we are shifting the class focus towards the final project.  In line with that plan, we have several system-oriented papers which will be useful preparation for your own project development and final report.  In this work, Ouyang and Davis describe an interface for recognizing chemical diagrams.

Tuesday, November 1, 2016

Reading 16 - No Rubine?

Paper
Paulson, Brandon, et al. "What!?! no Rubine features?: using geometric-based features to produce normalized confidence values for sketch recognition." HCC Workshop: Sketch Tools for Diagramming. 2008.

Notes
This is another recognition paper which discusses a system based on a hybrid approach to achieve its recognition rates.

Friday, October 28, 2016

Assignment 7 - Project Proposal

Overview
We have completed the homework portion of the class and covered a majority of the readings, so it is time to start finalizing plans for the project.  In Assignment 5, you started thinking about ideas, and in Assignment 6 you explored these ideas a little bit in terms of their novelty and applicability.  You now will form a team and build your refined proposal.  You have the last month-and-a-half of class to complete the final project, but we would like for you to be able to get started as soon as possible once November begins.

Instructions
Write a paragraph describing your project proposal.  You should discuss what you want to do, why you want to do it, and how you plan to accomplish it.  Roughly, this corresponds to the idea, the motivation, and the project plan.  If you need more than a paragraph, that is fine, but if you need only a few sentences to describe each, a paragraph is sufficient.

At the end, state whether you are working alone or on a team, and if you are on a team, list the team members.

Post this proposal to your blog by the due date.  Only one member of each team needs to post the proposal itself, but if you are a team member, you should create a post that links to the team's proposal and states your intention to work on the project.

If you need help forming a team, a spreadsheet has been placed in the class drive.  I encourage team leaders who have an idea post their name and a short summary of their idea to this spreadsheet.  That will help you find members, since those who are looking for a team are encouraged to sign up in the team slots that interest them.  We can finalize teams some time next week; this is just to help get your ideas out there and express your interests.

Obtaining Credit
You should have a blog post corresponding to Assignment 7 by the due date.  You need either a project proposal or a link to a project proposal stating that you are working on that team.

Due Date
Nov. 7, Monday @ Midnight
25% deducted per day late

Monday, October 24, 2016

Reading 15 - Tahuti

Paper
Hammond, Tracy, and Randall Davis. "Tahuti: A geometrical sketch recognition system for uml class diagrams." ACM SIGGRAPH 2006 Courses. ACM, 2006.

Notes
Tahuti is a system for recognizing UML diagrams and automatically generating code.  It includes some very simple and intuitive geometric recognition methods, including an algorithm for arrow recognition.

Monday, October 17, 2016

Reading 14 - LADDER

Paper
Hammond, Tracy, and Randall Davis. "LADDER, a sketching language for user interface developers." Computers & Graphics 29.4 (2005): 518-532.

Notes
LADDER is a sketch language for defining geometric-based relationships that allow recognition of shapes from any domain.