CS 466 - Usable Mobile Interfaces


Professor Christopher Andrews
Office 215 75 Shannon Street
Email candrews@middlebury.edu
Course Website go/course/
Lectures MWF 10:10-11:00, 75 SHS 202
Discussion forum Piazza

Office Hours
Tu 11a-12p
Th 3p-5p
F 1:30p-2:30p
or by appointment

Course Objectives

At the completion of this course you should be able to:

• Execute a human centered design process
• Explain basic UX terms, concepts, and guidelines and apply them to a design process
• Describe and use a variety of prototyping approaches including storyboard, paper prototypes and high-fidelity prototypes
• Learn the basic process of developing a mobile application with React Native

Required Textbooks

Ge Wang, Artful Design: Technology in Search of the Sublime, Stanford University Press, 2018.

Recommended Textbooks

Don Norman, The Design of Everyday Things, Basic Books, 2013.

Grading

Project60%
Assignments20%
In class exercises15%
Participation5%

Attendance and participation: You are expected to attend class. We will be covering a lot of ground and I’ll be pulling material from all over. There will be quizzes and in-class activities. If you cannot make it to a class, you must make arrangements with me.

Participation will be determined by attendance, taking part in discussion in class, Piazza activity, and completion of ungraded in-class activities.

Project: The bulk of the grade will come the from the project, which we will be working on for approximately two thirds of the semester. The project will be to design a mobile application, and will be done in teams of three.

Assignments: There will be a collection of assignments throughout the semester. These will include doing responses to readings, conducting evaluations, and technical implementation assignments.

In class exercises: Throughout the semester, there will be in-class exercises. These will be designed to be completed in class, but you will occasionally be required to complete them outside of the class. There will also be quizzes, approximately once a week. These will cover material we have discussed in class and any readings that have been assigned. Quizzes cannot be made up, but I will drop the lowest quiz.

Late days: You may take up to two (2) 24-hour extensions on assignments and in class exercises other than quizzes. These cannot be used for project deadlines, as these will usually tied to in-class activities.

Getting Help

We are going to be using Piazza for our class discussions outside of class. Rather than emailing questions to me, please post the questions on Piazza. This will allow other students to answer questions and to benefit from the answers you receive. This system will only work if you use it, so please do so.

Honor code and collaboration

Short version Help each other, but do not share solutions.

Long version In computer science, we build on the work of developers before us. Most of us learned to code by copying code and finding ways to tweak it to do what we want. Almost no computer programs are built without building on the work of others, either in the form of algorithms, libraries, or even just short snippets of code. In the computer science department, we recognize the value of forming study groups, helping each other debug code, and working together.

On the other hand, there are questions of intellectual property and academic integrity. These are considerably murkier waters than you may face, for example, writing a history paper, or doing a problem set in math. With code, you can "accomplish" spectacular things by copying the right chunks of code without ever knowing how it works.

For the most part, navigating these waters is on your head. I encourage you to help classmates to debug misbehaving code. I encourage you to post questions (and answers!) on Piazza. But you need to do so in a way that respects other people's work and in a way that contributes to your intellectual development rather than hindering it (or trying to mask your lack of it). This is not a race to get a good grade. The grade is at best a carrot to "trick" you into doing the work required to become better educated. As such, don't just go looking for code that you can turn in to satisfy an assignment. You can probably find some, but it won't help you much, and I'll probably be able to tell.

Policies: Do not work collaboratively unless indicated by the assignment. You can help one another, and work together, but you cannot work jointly on the same assignment. I do not want to see identical assignments that differ only in the name at the top. If someone does show you code (as an explanation or asking for debugging help), do not copy it. Retain ideas, and go away and write your own version later. Attribute any ideas, etc, that you pick up (this goes for classmates, books, online resources, etc). Be explicit. Tell me where you got the idea, approach, technique, etc. Explain what your contribution was. Make sure that your contribution demonstrates that you understand what was not your work alone. Finally, if you have any doubts, ask me first.

Accommodations for disabilities

Students who need test or classroom accommodations due to a disability must have a Letter of Accommodation from the Disability Resource Center. Please contact one Jodi Litchfield (litchfie@middlebury.edu or 802.443.5936) for more information. Students with Letters of Accommodation are encouraged to make an appointment with me as soon as possible. All discussions will remain confidential.