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?” Our emphasis will be on the design of 2D graphical user interfaces. We will survey the basic technologies 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 (12%, 15%, 15%), a final exam (24%), a final project (30%), and class participation (4%). Although this is not primarily a “programming class,” programming will be required, with an 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 2015 (coming soon), Fall 2014, 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.
Boyu Wang (bw2387 [AT] columbia [DOT] edu) is a Master's student in SEAS, majoring in Computer Science. Her interests include networks, game development, computer graphics, and embedded programming. She has designed user interfaces for web, data visualization, 3D scenes, games, and network design. This summer she worked at Vencore Labs on automating dynamic configuration of networks in the cloud. She will hold office hours Mondays and Wednesdays 2–4pm in the TA/CA Help Room.
Katie Lin (kl2532 [AT] columbia [DOT] edu) is a Master's student in SEAS, majoring in Computer Science. Her CS interests include health informatics, HCI, and work to promote women in computing with CU WiCS. This past summer, she worked at the Ma'ayan Laboratory at the Icahn School of Medicine at Mount Sinai, helping visualize the MCF10A breast cancer cell line data that measure changes in genomic, proteomic, and viability over time after perturbation. She will hold office hours Tuesdays and Thursdays noon–1pm in the TA/CA Help Room.
orBen Shneiderman, Catherine Plaisant Maxine Cohen, Steven Jacobs, Nikla Elmqvist, and Nicholas Diakopoulos. Designing the User Interface: Strategies for Effective Human–Computer Interaction, Sixth Edition. Addison-Wesley, 2017, ISBN-13: 9780134380384. (Recommended.)
Additional reading material will be announced in the syllabus and in class.
Here are some places to learn about the software we will be using:
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!
For example, this means that if you use GitHub to maintain material for an individual or team assignment, you must use a private repository whose access is appropriately restricted. (Note that the GitHub Student Developer Pack is free for registered students and includes a "Personal" GitHub plan that allows the creation of unlimited private repositories.)