OVERVIEW
CREDITS
This is a three-credit course.
CANVAS COURSE URL
https://canvas.wisc.edu/courses/143916
COURSE DESIGNATIONS AND ATTRIBUTES
Undergraduate elective in computer science
MEETING TIME AND LOCATION
Scheduled class time: Tuesdays-Thursdays 1:00–2:15 pm in CS 1221
INSTRUCTIONAL MODE
Face-to-face
SPECIFY HOW CREDIT HOURS ARE MET BY THE COURSE
This class meets for two, 75-minute class periods each week over the fall semester and carries the expectation that students will work on course learning activities (reviewing lecture materials, completing weekly assignments) for about 3 hours out of the classroom for every class period. The syllabus includes more information about meeting times and expectations for student work.
COURSE DESCRIPTION
This course introduces students to the software development of user interfaces (UIs). Topics covered include state-of-the-art (1) UI paradigms, such as event-driven interfaces, direct-manipulation interfaces, and dialogue-based interaction; (2) methods for capturing, interpreting, and responding to different forms of user input and states, including pointing, text entry, speech, touch, gestures, user activity, context, and physiological states; and (3) platform-specific UI development APIs, frameworks, and toolkits for platforms including web/mobile/desktop interfaces, natural user interfaces, and voice user interfaces. Through readings, lectures, and hands-on-activities, students will learn about the fundamental concepts, technologies, and methods in building user interfaces. Assignments will provide an opportunity to gain hands-on experience in the use of state-of-the-art UI development tools and build a UI development portfolio.
REQUISITES
CS-400
LEARNING OUTCOMES
COURSE LEARNING OUTCOMES
Student will be able to:
- Engage in design thinking around user interface needs and problems, ideate and communicate conceptual design solutions
- Create visual designs, layouts, and navigation structures, and effectively use design languages, color palettes, and platform-specific design elements
- Prototype and develop user interfaces for the Web, mobile, and voice user interfaces (VUIs)
- Program front-end, user-facing software elements using the state-of-the-art programming languages, frameworks, and libraries
- Follow user-centered design principles, heuristics, and methods to iteratively build, assess, and refine design solutions
COURSE STRUCTURE
WEEKLY ASSIGNMENTS
The majority of student work for the class will involve weekly assignments that incrementally build three user interfaces (web, mobile, voice user interfaces). Students will complete a total of 11 weekly assignments and 3 final deliverables for each unit, and the assignment with the lowest grade will not count toward student grade. For each interface, students will be provided design specifications and starting code that they will build on to design and build their own solutions.
EXAMS
The class will involve two exams—a midterm and a final—that will make up 40% of the grade.
REQUIRED TEXTBOOK, SOFTWARE & OTHER COURSE MATERIALS
The instructional content for the class is curated from different books, articles, and multimedia resources. All reading and multimedia material will be provided through Canvas as PDFs or links to archives or multimedia resources (e.g., YouTube). Similarly, information and tutorials on all necessary tools and software will be provided on Canvas. A number of recommended (optional) textbooks are provided for students interested in further study.