related links:



Classes taught and links to student theses

CMU Succeeding at Directed Research
This class bases student work on student research or advanced development projects. The Course includes modules focusing on specific aspects of the process and parts of preparing for and running a research project. This class proceeds with two week sessions on each of 7 topics. Each topic will be introduced by a lecture. On alternative weeks a lecture will introduce the module or students will present with critquie/discussion for how they see the topic relating to their research or advanced development project. They will proceed with each student presenting and in critique on the topic for their research topics. Topics include 1. project selection, 2. scholarship around a project, 3. assessing what is the research and specialness in an approach, 4. project skill assessment and development, 5. scoping, 6. evaluation, 7. presenting, posters and papers. Lecture materials will draw from examples in computer science and electrical and computer engineering. The successful student will complete a project to the level that it can be presented as a poster and a draft of a paper in publication format. Proceeding with directed reserach A follow on class to Succeeding at directed research is offered in a second semester. This class focuses on weekly discussions of each project’s successes and challenges. Students continue to learn to assess a literature in more depth and understand how their work can further it. It includes a lecture on writing with writing milestones for each project. It includes a lecture on statistics. It includes milestones for evaluation of each project. The successful student will complete a project and publish it as software, documentation or refereed publication.

CMU Human Computer Interaction, an Introduction
This graduate level short course exposes Software Engineering and Management professionals to the field of Human Computer Interaction. The user interface and experience of a system to a large measure is the system. We begin by describing how innate human capabilities can be understood to make appropriate expectations in designing user interfaces. We will review human capabilities, limitations at the perceptual, precognitive, cognitive, behavioral, and social psychological levels. While techniques that respect people’s capabilities are important for great HCI; one of the most important tenants is the abilities for users to learn and understand the scenario of use. Making good HCI in systems requires special focus on making a scenario that flows with an appropriate story for the interaction. We will focus on developing scenarios with 5 aspects. 1. We will learn about needs gathering to scope what an interaction needs to do. 2. To develop the interaction, we must consider alternatives to interaction structure & organization of information presentation and feedback and of the steps in using the system to understand how these things effect the efficiency and effectiveness of the user interaction. 3. To make the interaction learnable we will consider how the choices in system scoping and structure design effects how a user will learn and remember the systems interaction requirements. 4. We will consider how every way a person interacts with a product from look and feel, community of practice, tutorials, helps systems, and marketing are part of the way people learn how to use it well. 5. We will discuss many alternatives to evaluating HCI. Possibly the most important thing HCI professionals do to help their colleagues understand when systems need improvement is evaluate them. Examples from Dr Selker’s research and development experience will be used throughout the course to illustrate the concepts. Students will evaluate many User experiences, they will write up reviews to teach what they have learned in the assessments with reasoned suggestions for alternatives. The students will also be required to design and test user experiences in the mobile area.

CMU SmartPhone Product Design
This project course will begin with as an introduction to creating Android phone applications. Successive weeks will include projects to introduce more aspect of phone programming. The course will proceed by creating useful interesting and hopefully unique applications. Each week students will deliver a working program on the phone. Weekly goals include: 1. We will introduce opportunities for mobile applications, product development process and define a problem statement. You will be given hardware asked to focus on a hello world with I/O and asked to come up with 5 ideas. 2. The mashup process and product development approaches for Android. You will get online evaluation of the 5 ideas. 3. The experiments you are doing to test out your ideas and giving an in class critique of them. 4. Continuing feedback for applications each student or team is working through. 5. Designing posters and videos concerning the applications. 6. A poster session at the end of 6 weeks to show a working application. 7. Start of session B Smartphone Development II, evaluation, presentation, dissemination! The course will proceed with design discussion of how to generate and test ideas. How to turn them into solutions and how to evaluate them. Students will choose from a variety of user experience oriented project ideas. With luck, the course will make real deploy-able and possibly profitable applications.

CMU Extreme Interfaces: Universally Accessible Voting Software
Extreme Interfaces: Universally Accessible Voting Software Software designers and engineers often are asked to work on projects with strict and unique user and system requirements. Voting is a domain where this happens in the extreme — voting systems must be useable by all citizens with no training or practice (including the disabled, aging and individuals with low English literacy), while at the same time providing complete privacy, accuracy and adherence to regional laws. As a result, what appears to be a simple task of presenting the voter with options and recording selections can become quite complex. By prototyping and testing voting software interfaces, students in this course will gain experience and expertise in how to attack a problem with challenging requirements and iterate to effective solutions.

MIT Industrial Design Intelligence; A Cognitive Science Approach to Engineering
The look, feel and use of objects communicate their value to us. This course applies cognitive science and technology to the industrial design process. The course will introduce prototyping techniques and approaches for objective evaluation as part of the design process. Students will practice evaluating products with mechanical and electronic aspects. The evaluation process will then be applied to creating functioning product prototypes. This is a project-oriented course that will draw on engineering, aesthetic, and creative skills. The course is geared towards students interested in creating physical products which encompass electronics and computers in order to include them in scenarios. Students will present readings, learn prototyping skills, create a product prototype, and complete a publication style paper. We will mill, cut, mold solder, program and draw our way to evaluating product design.

MIT Voting Technology: What Has Been and What Can Be
Whose vote counts in an election? Voting process does affect election results. For the first time in history we are in a position to create technology and processes that can probably allow detection and correction of human error and fraud in voting. Improving voting technology should be central to protecting our democratic process. As well, it can instill confidence in our government and system. Digital technology may even improve our government and process.
Improved voting technology can also transfer to other areas. Solving problems of disenfranchisement of people relative to socioeconomic, physical, and cognitive disabilities in voting can be applied to other universal access problems. Solving problems of security, reliability and integrity in voting can help improve other transaction processing systems.
This course will survey voting systems and how they can be improved. We will give broad coverage of user experience, reliability, security and integrity of voting systems. The course will consist of weekly topic areas and lectures from voting technology experts. Topics will follow the largest areas of lost votes and topics of public debate.