[ Home Page ] [ CSC Home Page ] [ NCSU Home Page ]

CSC 591-005: Visual Interfaces for Mobile Applications
MWF 9:35–10:25  1005 EB-I

Instructor Information

Instructor: Christopher G. Healey
Contact: 2266 EB-II, healey@ncsu.edu
Office Hours: 10:30-11:30 M, or by appointment
TA: Tony Chen
TA Contact: 1211F EB-II, stchen@ncsu.edu
TA Office Hours: 9:30-10:30 Th, or by appointment

Assignment and Presentation Schedule

The following schedule will be used for the design document and milestone presentations. See the instructions on the course project (below) for full details on how presentations will be run and graded.

Design Document Milestone 1 Milestone 2 Milestone 3

Milestone 4

Jan. 30 Group 1
Group 2
Group 3
Feb. 13 Group 4
Group 5
Group 6
Mar. 12 Group 7
Group 8
Apr. 2

Group 4
Group 5
Group 6

Apr. 23 Group 1
Group 2
Group 3
Feb. 1 Group 4
Group 5
Group 6
Feb. 15 Group 7
Group 8
Mar. 14 Group 1
Group 2
Group 3
Apr. 4 Group 7
Group 8
Apr. 25 Group 4
Group 5
Group 6
Feb. 3 Group 7
Group 8
Feb. 17 Group 1
Group 2
Group 3
Mar. 16 Group 4
Group 5
Group 6
Apr. 6 Group 1
Group 2
Group 3
Apr. 27 Group 7
Group 8

Introduction

This course provides an introduction to mobile phone technology, and experience designing and implementing graphics and user interfaces in a limited display and input environment. My goals for you are to:

Textbooks

There are no textbooks for this course. All material will be presented in class. For tutorials on how to program in the Android environment, students are directed to the Android developers web site:

This site includes instructions on how to install Eclipse and the Android SDK, as well as descriptions of Android's APIs, and basic examples of different types of Android programs. Here are links to example programs that may be useful as starting points for your projects.

Course Overview

Below is a tentative course schedule. Please note that time frames for each topic will be confirmed in class and are subject to possible changes.

  1. Historical Overview

  2. Hardware
    • ARM
    • Intel Atom
    • PowerVR
    • NVIDIA Tegra
    • Qualcomm Adreno

  3. Display
    • LCD
    • OLED
    • subpixel arrangement

  4. Touchscreen
    • resistive
    • capacitive
    • infrared

  5. Camera
    • sensors
    • colour
    • backside illumination and IR filtering
    • focal length and aperture
    • HDR

  6. Operating Systems
    • Android OS
    • iOS
    • Windows Phone 7
    • BlackBerry OS
    • Symbian OS
    • webOS

  7. Graphics
    • OpenGL ES
    • XNA
    • Unity 3d
    • Unreal Engine 3

  8. Text Entry
    • physical keyboard
    • handwriting recognition
    • virtual keyboard
    • keyboard configurations
    • gesture input
    • predictive entry
    • chording

  9. Menus
    • radial menus
    • smartphone menus
    • icons

  10. Navigation
  11. Non-Traditional Input Modalities
    • GPS
    • accelerometers and gyroscopes
    • voice input

Schedule of Reading Assignments

Apart from material in the textbook related to individual lectures, no additional readings will be assigned. Students will be informed in class which topics will be covered during that class’s lectures.

Course Project

The graded material of this course is a full semester project, completed by groups of 2–3 students, and a final exam. Student groups will be defined in one of two ways. If you have a preference for a group, submit the names of your group members to me by the end of class on Friday, Jan. 13. Otherwise, I will assign all remaining students to separate groups. Group composition will be announced Monday, Jan. 16, in class.

Each group will be responsible for choosing a topic for their course project. Because this course focuses on graphics and interface for limited-capability devices and environments, your project is required to have a significant graphics or UI component. So, it would not be appropriate, for example, to propose to re-implement a simplified version of Android's contact list as your course project. Possible topics could include (but are not limited to):

The following items will be submitted and/or presented on the following dates:

The course will also include a final exam that covers all material presented in class during the semester. The university has scheduled our class's final exam for 8:00–11:00am Wednesday, May 2.

Grading

Grades for the course will be made up from your initial design document submission, your individual presentation, your participation, how well your group meets each of your four milestone deliverables, and your final exam. Final grades will be calculated as follows, using +/- grading:

Because of the group-based nature of the class, audits in CSC 595-005 are not permitted.

Late or Missed Assignments

Missed assignments, presentations, and exams cannot be made up without an official university excuse. Contact me as soon as possible if you need to discuss reasons for late or missed assignments, presentations, or exams.

Class Absences

If you miss (or plan to miss) class(es), contact me as soon as possible to identify the material to be covered during your absence. You are expected to "make up" the material by reading the appropriate section(s) in the textbook, and meeting with me as necessary to discuss the material.

Prerequisites

Students enrolled in CSC 591-005 must be registered as a computer science (CSC) major. You must have previously completed EITHER CSC 554 (Graduate HCI) OR CSC 562 (Graduate Computer Graphics) with at C+ or higher. If you have taken an HCI or graphics course at a different institution and you believe that course covers the CSC 554/CSC 562 material, you can submit a syllabus to me for evaluation. If you do not meet the CSC major or CSC 554/CSC 561 prerequisites, your registration in CSC 591–005 will be cancelled. You must also be proficient in Java, and have the ability to develop and manage moderately-sized software programs.

Academic Integrity

The university provides a detailed policy on academic integrity. This policy can be found in the Code of Student Conduct. It is understood that when you sign and submit your homework, term project, and final exam, you are implicitly agreeing to the university honor pledge: "I have neither given nor received unauthorized aid on this test or assignment."

Academic dishonesty (e.g., cheating or plagiarism) will not be tolerated under any circumstances. If you are having difficultly with any part of the course material, please see me or the TA as soon as possible. I will do everything I can to help you with any course-related problems you may be having. If you are found to be guilty of academic dishonesty, however, I will then do everything I can to see that you are punished as forcefully as possible. This may include asking to have you suspended or expelled from the course, the program, and/or the university. At the very least, you will receive -50% for the assignment or exam in question, and your name will be placed on record with the university as having committed an academic offence (multiple offences during your academic career will result in suspension or expulsion from the university). I take absolutely no pleasure in pursuing cases of academic misconduct, and would ask that you please do not put me in this position.

Students With Disabilities

All effort will be made to ensure that no students with disabilities are denied any opportunity to successfully complete this course. If you have specific requirements that need to be addressed, please contact me immediately. Possible changes can include (but are not necessarily limited to) rescheduling classes from inaccessible to accessible buildings, or providing access to auxiliary aids such as tape recorders, special lab equipment, or other services such as readers, note takers, or interpreters. This may also include oral or taped tests, readers, scribes, separate testing rooms, or extension of time limits.


Last updated, email comments to healey@ncsu.edu.