|
|
CS6326 Human-Computer
Interactions
|
|
Instructor: John Cole |
Section 001: Tuesday/Thursday from 8:30 AM to 9:45 AM |
Office and Hours | Room: Online |
Teaching Assistant: TBA |
Last update: 12/3/2020 |
Syllabus is on Coursebook | Schedule |
Textbook: There is no textbook. This course will
be taught from papers which you will be expected to read, and from
PowerPoint slides. A very good book on Android design is
Hands-On Android
Android UI Development, by Jason Morris. Another
secondary text is Evil by Design by Chris Nodder. A good book for cognitive
psychology is Human-Computer Interaction by Dix, Finlay, Abowd, and
Beale, although some of their material on dialogs and measurement is pretty
dated. We will be using material from all of these sources as well as
others, and some original material. A good book on Android programming is: Professional Android by Reto Meier and Ian Lake. Android Programming: The Big Nerd Ranch Guide by Phillips, Stewart, and Marsicano is more up to date but does not discuss sensors. Both include extensive sample code. Here is the link to the UTD online library copy of the Big Nerd Ranch 3rd Ed. Android Programming book: http://proquest.safaribooksonline.com/book/programming/android/9780134706061. You can also go to the library site and search for books on Android. | |
Due to the Covid-19 pandemic,
this course will be taught online, with recorded lectures uploaded to
Microsoft Streams. However, you will get the most out of this class if
you are there in real time. I'll have the chat window open and will
answer questions posted there, and I'll call on people who raise their
(virtual) hand in the session. I teach using a combination of
PowerPoint slides and, when appropriate, sample code. If things settle
down over the next couple of months I'll try to lecture in a classroom and
intrepid students who are willing to wear a face mask and "social distance"
can attend in person should they choose. Of course the classes will
still be online and recorded, as required. This graduate course is intended to provide an in-depth understanding of the intricacies of user interface design and the user experience, with a special orientation toward mobile devices. Topics include cognitive models, interaction models, screen design for various kinds of user input, evaluation of user interfaces, design of on-screen controls, input from sources other than the keyboard such as speech and touch, and the use of mobile device sensors. On the output side, we will cover various forms of user feedback, including display of information, sound, and haptic feedback. You will be expected to be highly competent in the Java programming language. A knowledge of C# is also very helpful, since some assignments will be done in that language. There is a link to Microsoft's tutorial on my main page. A good understanding of multithreading is also useful. This course is different from most of your other computer science courses. I know that it is important to understand data structures, algorithm analysis, object-oriented design, program efficiency, database design, and so on. Without those things you would not be a computer scientist. But consider that the most efficient algorithms, the most elegant internal design, are not worth much if the program containing them is difficult to use. You would not buy someone an expensive present, then wrap it in a trash bag, would you? At the same time, go for the minimal design needed to accomplish the task. For example, color can be distracting. Having too many fonts, or providing too much configurability, can be confusing. So go for minimalist design when possible. Such as this Web page, which is simple HTML. Caution: If you are considering this class only to learn Android or mobile apps, look elsewhere, such as one of the Outreach workshops. This course covers topics in cognitive psychology and design principles and is not an exhaustive course in Android programming. We will not cover such topics as SQLite and other "back-end" Android APIs. We will discuss Android sensors, drawing, and the touchscreen. As one student remarked anonymously in all caps, "Do not treat this course as an elective." And indeed, if you are in the Interactive Systems track, this course is very much core, and I teach it that way. This is not an "easy" course. Grading is tough and picky, but the course will prepare you well. You will be expected to read the the material before each class. | |
Course Topics in Detail
|
Get Google's Android Developer Studio here Link to Android Developer tutorials. Take a look at Best Practices for Interaction and Engagement and some of the others below this.
Android Design
Tutorials |