COMS W4170 will provide a general introduction to the theory and practice of user interface design. The fundamental question that we will try to answer is, “How can we create high-quality user interfaces?” In our quest, we will take a hard look at what is behind some often glib buzzwords: user-friendly, ergonomic, Web 2.0/3.0, natural user interface, direct manipulation, constraint-based, prototyping, rich internet application, end-user programming, programming by demonstration, visual programming, hypermedia, information visualization, and collaborative software.
Our emphasis will be on the design of 2D graphical user interfaces. We will survey the basic interaction devices available and the techniques that have been developed for (or have given rise to) them, and will study several important paradigms for how these techniques can be woven into a coherent dialogue. This will provide a framework within which we can analyze existing user interfaces and design new ones.
Grading will be based on written assignments (11%, 15%, 15%), a final exam (24%), a final project (30%), and class participation (5%). Although this is not primarily a “programming class,” programming will be required, with emphasis on design and analysis. To get an idea of the kind of work that we will do, you can see representative screenshots and descriptions of the final projects for Fall 2013, Fall 2012, Fall 2010, Fall 2009, Fall 2008, Fall 2007, Fall 2006, and Spring 2006.
The course prerequisite is COMS W313X (Data Structures [and Algorithms]) or equivalent. No previous academic experience with either user interface design or graphics is assumed. However, you are expected to be comfortable with computers and object-oriented programming.
Ajoy Savio Fernandes (asf2168 [AT] columbia [DOT] edu) is an MS student in Computer Science. He holds a double degree from the University of Illinois at Urbana Champaign, where he earned a Bachelor of Science from the College of Engineering in Computer Science, a Bachelor of Science from the College of Liberal Arts and Sciences in Psychology and a minor in Technology and Management. Ajoy has done research in HCI and cognitive psychology and now is a thesis student in the Computer Graphics and User Interfaces Lab, where he focuses on virtual and augmented reality. He completed various internships that involve interfaces and design, most notably during his time with Wolfram Research, where he worked on projects involving Mathematica and the Wolfram Cloud. He will hold office hours on Wednesday 2:30–4:30pm in the TA Help Room.
Shloka Kini (srk2169 [AT] columbia [DOT] edu) is a first-year dual-degree MS student in Computer Science and Journalism. She earned her BA degree in Computer Science from Dartmouth College. Her CS interests include graphics (particularly animation), HCI, AI, digital humanities, educational technology, and work to promote women in computing. Her journalism interests lie in multimedia storytelling, media production, public speaking, and performing arts. She spent last year working at MIT in their Office of Digital Learning on a web-based virtual cell biology lab. She has programmed for many UI devices and platforms, including Android smartphones, Microsoft Kinect, and web. She will hold office hours Monday 6–8pm in the TA Help Room (except for September 15).
Rahul Tewari (rt2520 [AT] columbia [DOT] edu) is a second-year MS student majoring in Computer Science. He received his BE degree in Computer Science from BITS, Pilani, India. His interests include Object Recognition, Rendering, and Human–Computer Interaction. Over the summer, he worked as a Software Development Engineer intern at Amazon.com. He will hold office hours Tuesday 4–6 pm in the TA Help Room.
Manasvi Vohra (mnv2107 [AT] columbia [DOT] edu) is a second-year MS student majoring in Computer Science. She received her BE degree in Information Technology from Manipal Institute of Technology, India. She has done several technical internships, including a summer internship at Bank of America as a Technology Analyst and Developer. She will hold office hours Thursday 3–5 pm in the TA Help Room.
Additional reading material will be announced in the syllabus and in class.
Here are some places to learn about the software with which we'll be designing:
Course material will be found on the web through Courseworks, and the syllabus and assignments will be linked through http://www.cs.columbia.edu/graphics/courses/csw4170.
Anything turned in past the start of class until midnight the next day is one day late. Every (partial) day thereafter that an assignment is late, including weekends and holidays, counts as an additional late day.
Absolutely no late work will be accepted beyond that accounted for by your late days. If you're not done on time, please be sure to turn in whatever you have completed on time to receive partial credit. Now, please go back and read this section over again!