User Interface Design and Programming - CS422. Luc Renambot Yiwen Sun

Similar documents
DRAFT 5/15/15 ENGL 2021: BUSINESS AND TECHNICAL WRITING Fall 2015: Tuesdays, 6:00-7:50 (Hybrid course) in Room XXX

A Comparison of Programming Languages for Graphical User Interface Programming

Why this lecture exists ITK Lecture 12: Open Source & Cross Platform Software Development

Unresolved issues with the course, grades, or instructor, should be taken to the point of contact.

RARITAN VALLEY COMMUNITY COLLEGE COMPUTER SCIENCE (CS) DEPARTMENT. CISY Computer Literacy

User Documentation and Online Help

Department of Design Illustration / Communication Design (Bachelor programmes)

Programming in Python. Basic information. Teaching. Administration Organisation Contents of the Course. Jarkko Toivonen. Overview of Python

o Ivy Tech DESN 105- Architectural Design I DESN 113- Intermediate CAD o Vincennes University ARCH 221- Advanced Architectural Software Applications

TA contact information, office hours & locations will be posted in the Course Contacts area of Blackboard by end of first week.

SYLLABUS MAC 1105 COLLEGE ALGEBRA Spring 2011 Tuesday & Thursday 12:30 p.m. 1:45 p.m.

Department of Geography University of Idaho. GEOG 390: Geographic Visualization January to May 2010 COURSE OUTLINE. (subject to change)

Mensch-Maschine-Interaktion 1. Chapter 8 (June 21st, 2012, 9am-12pm): Implementing Interactive Systems

Professor: Dr. Esra Memili Office: 370 Bryan Office Hours: Monday 2:00-6:00pm and 8:50-9:50pm, and by appointment

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

Course Title: Advanced Topics in Quantitative Methods: Educational Data Science Practicum

CS 378: Computer Game Technology

Visual Studio 2008: Windows Presentation Foundation

NORTHWESTERN UNIVERSITY Department of Statistics. Fall 2012 Statistics 210 Professor Savage INTRODUCTORY STATISTICS FOR THE SOCIAL SCIENCES

El Paso Community College

MAT 1500: College Algebra for the Social and Management Sciences General Syllabus

UNIVERSITY OF LA VERNE COLLEGE OF LAW. NEGOTIATION EVENING CLASS (Law 550, Section 2)

FUNDAMENTALS OF NEGOTIATIONS Purdue University Fall 2014 CSR CRN Tuesday and Thursday 7:30 AM - 8:45 AM Krannert Building G016

Communication Skills for Engineering Students Sample Course Outline

Info425, UW ischool 10/11/2007

ITS1100: Train the Trainer

1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders

Game Design and Programming

A Pattern Language for Information Architecture

Columbus State Community College COLS 1100: First Year Experience Seminar Course Information: 1 credit, meets 1 hour per week, no pre-requisite

MATHEMATICS 152, FALL 2004 METHODS OF DISCRETE MATHEMATICS

KIN 323 Methods of Teaching Secondary Physical Education Spring 2016

Course information: Copy and paste current course information from Class Search/Course Catalog.

ECON-2105, Principles of Macroeconomics, 1rst Half Term, Spring/2016

Finite Mathematics I / T Section / Course Syllabus / Spring Math 1324-T10 Mon/Wed/Fri 10:00 am 11:50 am MCS 215

3D Interactive Information Visualization: Guidelines from experience and analysis of applications

CS 261 C and Assembly Language Programming. Course Syllabus

Visualizing Historical Agricultural Data: The Current State of the Art Irwin Anolik (USDA National Agricultural Statistics Service)

1. A SECRETARY FOR A SECRETARY

BANA6037 Data Visualization Fall Semester 2014 (14FS) / First Half Session Section 001 S 9:00a- 12:50p Lindner 107

Collaboration Policy Fall 2015

CS 301 Course Information

Class Registration 101

Psychology 314L (52510): Research Methods

SYLLABUS. Instructor: Sheila Whitescarver-McKnight Phone:

COMPUTER SCIENCE Introduction to Programming: Visual Basic 1 CIHS C++ AP Java

Common Core Standards for Literacy in Science and Technical Subjects

Course Descriptions. CS 101 Intro to Computer Science

South Plains College: General Course Syllabus

Psych 204: Research Methods in Psychology

Institution : Majmaah University. Academic Department : College of Science at AzZulfi. Programme : Computer Science and Information Course :

CS 341 Software Design Homework 5 Identifying Classes, UML Diagrams Due: Oct. 22, 11:30 PM

TECM 2700 Introduction to Technical Writing

Welcome to Computer Science 2604 Data Structures and File Management

Scratch Game Design (Grade 3-5, Beginners)

7 th Grade Integer Arithmetic 7-Day Unit Plan by Brian M. Fischer Lackawanna Middle/High School

HTML and CSS 2 Class Meetings Instructor Contact Office Hours: Tuesdays 5:30-7:30 PM Online Class Message List Opt Out of Class

SYLLABUS & COURSE OUTLINE

INTRODUCTION TO BUSINESS

Communication Process

Department of Engineering Science Syllabus

ICS 413 Application Development for Mobile Devices (3 Credits Elective) Course Duration:

School of Business and Nonprofit Management Course Syllabus

Theories of Personality Psyc , Spring 2016

Course Descriptions. preparation.

General Psychology. Fall 2015

Course Development Resource Guide. Professional Development & Community Engagement Educational Technology Support

Introduction: How does a student get started? How much time does this course require per week?

The University of Texas at Austin School of Social Work SOCIAL WORK STATISTICS

9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software?

Don t Tell Me - Show Me: Looking at information visualization in business databases

IST639 Enterprise Technologies Course Syllabus Spring 2014

CS 253: Intro to Systems Programming

Syllabus: IST451. Division of Business and Engineering. Penn State Altoona

CS 43: Computer Networks Course Introduction. Grab a clicker and please sit towards the front, next to other students!

1 Goals & Prerequisites

Cambridge International AS and A Level Computer Science

CS 1340 Sec. A Time: 8:00AM, Location: Nevins Instructor: Dr. R. Paul Mihail, 2119 Nevins Hall, rpmihail@valdosta.

Authority versus Power by Melissa McDermott

Student Writing Guide. Fall Lab Reports

SEMESTER AT SEA COURSE SYLLABUS University of Virginia, Academic Sponsor

University of Waterloo Stratford Campus GBDA 101 Section 003 Digital Media Design and Production Fall 2013 Fridays 9:00 AM 12:00 PM

III. Additional Meeting Dates a. October 3, November 7 for Fall b. Select Spring dates at November 7 meeting could change with class schedules

UNIVERSITY OF MICHIGAN SCHOOL OF INFORMATION SI301: Models of Social Information Processing Syllabus

Computer Literacy Syllabus Class time: Mondays 5:00 7:00 p.m. Class location: 955 W. Main Street, Mt. Vernon, KY 40456

Course Description. Course Objectives

Digital Image Processing EE368/CS232

PSY 2012 General Psychology Syllabus

Assignment 4 CPSC 217 L02 Purpose. Important Note. Data visualization

Transcription:

User Interface Design and Programming - CS422 Luc Renambot renambot@uic.edu Yiwen Sun ysun25@uic.edu 1

Schedule Class Tuesday 12.30 to 1.45 Thursday 12.30 to 1.45 Room A6 LC 2

Syllabus CS 422: User Interface Design and Programming - Spring 2007 User interface design, implementation and evaluation: user-centered design methodologies, windowing systems, I/O devices and techniques, event-loop programming, user studies and programming projects Programming 3

Other Classes CS 422 User Interface Design CS 426 Video Game Design and Programming CS 488 Computer Graphics I CS 526 Computer Graphics II Scientific Visualization CS 527 Computer Animation CS 528 Virtual Reality CS 594 GPU Programming CS 522 Human Computer Interaction 4

Prerequisites CS 340 Software Design If you do not have the prerequisites for this course make sure that you drop this course right away. The CS department will verify the prerequisites for all students registered in this course during the first few weeks of the term and if you do not have the prerequisites, you will be notified and dropped from the course after the normal drop/add period. By that time, you may not be able to enroll in any new course. 5

Overview User interface design, implementation and evaluation user-centered design methodologies, windowing systems, I/O devices and techniques, event-loop programming, user studies and programming projects. 6

Course Making a program work for you is pretty easy. Making it work for another user is much harder You need to think about the actual users of your software early in the design stage, and keep their needs in mind all the time. 7

Course Engineers are not trained in design and psychology and these are increasingly important in writing good software. People in general have a hard time sitting quietly while people criticize your hard work, but this is very important to creating a useful product 8

Course While this course involves using widgets to create Windows/Icon based interfaces, it is primarily about the procedures to go through to create good designs and evaluate them. This course is not about teaching you how to write a bunch of programs with a specific widget library; widget libraries come and go. This course is going to focus on higher level concepts of how to create useful user interfaces. As such you will be able to pick which widget library you wish to use (more or less) and will be expected to learn it on your own. 9

Course First we will look at good and bad design in general, independent of computer programs. We will look at how to effectively present information spending most of the course looking at how to effectively design interfaces. We will finally look at how to perform evaluation of these traditional interfaces and look at specific case studies. 10

Course Throughout the course there will be many opportunities for the students to present their work to others in small groups, and to the class as a whole. If you are terrified of public speaking or working in groups then this may not be the class for you. Similarly, if you are the kind of person that wants specific quantifiable metrics for a given grade on a programming project, then this may not be the class for you. There are many rules for creating good user interfaces and many are in direct conflict with each other, so finding the balance is as much an art as a science - that's why its hard to do 11

Assignments Homework alone Project 1 team work Project 2 teamwork 12

Lab Linux Lab room SEL 2250 Assignment HAVE to work on these machines Windows ACCC SEL 2265, SEL 2058 Own machine (home, laptop) 13

Lab Assignments should work on Linux, on CS machines You can still develop on your own plateform (win, mac,...) 14

Programming For the assignments in this class you have a choice of user interface toolkit that you wish to use Good options are Swing for Java, fltk for C or C++, or wxwidgets for a c+ + or Python. The limitation is that we need to be able to check your program on the CS department linux machines on the second floor of SEL. 15

Books Designing the User Interface 4th ed. Ben Schneiderman, Catherine Plaisant ISBN 0321197860 16

Books Designing Visual Interfaces Kevin Mullet, Darrell Sano ISBN 0-13-303389-9 17

Books Don Norman The Design of Everyday Things Don Norman Things that Make Us Smart Mullet, Sano Designing Visual Interfaces Ben Schneiderman Designing the User Interface 3rd ed. Card, Moran, Newell The Psychology of Human- Computer Interaction Dix, Finlay, et al Human Computer Interaction 2nd ed. Laurel The art of human computer interface design Edward R. Tufte The Visual Display of Quantitative Information Edward R. Tufte Visual Explanations Edward R. Tufte Envisioning Information Will Eisner Comics and Sequential Art Andre Balland Catalue D'Objets Introuvables (currently out of print) Richard Saul Wurman Information Anxiety Richard Saul Wurman Information Architects 18

Plan Introduction & Design of Everyday Things Information Exploration & Presentation Styles Principles & Golden Rules Interaction Devices & Direct Manipulation 19

Plan (cont.) Project 1 discussions and presentations Elegance & Simplicity / Scale, Contrast & Proportion Organization & Visual Structure Teams presentations (2 classes) Module & Program 20

Plan (cont.) - - - Spring Break - - - Image and Representation Evaluation Techniques and In/Reducing Sickness Collaborative Interfaces and More Exotic UIs 21

Plan (cont.) Team Presentations (2 classes) Final 22

Office Me Office hours: 1:15-3:00 Tuesdays and by appointment 2032 ERF Teaching Assistant Yiwen Sun ysun25@uic.edu 23

Next Class Thursday Jan. 25 Homework due 24

Homework The purpose of this assignment is to give you a bit of practice with the material presented in the first week of the class - the design of everyday things. * find a vending machine on campus or surrounding * note down where it is located and what kind of machine it is (pop, coffee, snack, postage stamps, DVD, CTA, etc) * think about how the user interacts with the vending machine. o How does the machine present its capabilities to the user? o What can the user do? o What affordances does the machine present? o How does the user know what to do first? o What kind of feedback does the vending machine give to tell the user about its state? 25

Homework * draw a 1 page sketch (by hand, no photography allowed) of the vending machine, stressing the user interface details (what does the user see, what can the user press, what is the mapping, etc) * redraw the sketch using a computer and make a printout of it (no scanning allowed) * type a 1 page (8.5 x 11", 10 point font, single spaced) discussion of what is good and what is bad about the interface. Be sure to include your name at the top, and the information on the vending machine itself. Turn in your sketch, the redrawn version, and the 1 page discussion, stapled together. 26