Developing and Designing Interactive Devices (2023FA)
Course Number and Title
INFO5345/CS5424/ECE5413 Developing and Designing Interactive Devices
Instructor (Author of Syllabus)
Prof. Wendy Ju, wendyju@cornell.edu
Teaching team
Hauke Sandhaus, hgs52@cornell.edu
Maria Teresa Parreira, mb2554@cornell.edu
Credits and Credit Hour Options
3 hours, Letter Grade
Time and Location
Tuesday Thursday 1:25pm - 2:40 pm
Tata Innovation Center, 141/151
Course Description
This course provides an introduction to the human-centered and technical workings behind interactive devices ranging from cell phones and video controllers to household appliances and smart cars. This is a hands-on, lab-based course. Topics include electronics prototyping, interface prototyping, sensors and actuators, microcontroller development, physical prototyping and user testing.
For the final project, students will build a functional interactive device of their own design, using single-board Linux computers, embedded microcontrollers, and other electronics components.
Prerequisites
Basic programming experience
Textbook(s) and/or Other Required Materials
-
- No textbook is required for this course.
- Optional: Practical Electronics for Inventors, 4th edition, Scherz and Monk
- A kit of parts is included with the course fee. This kit should be returned if the class is dropped.
Class and Laboratory Schedule
Lectures: 1.5 hrs/wk
Labs: The course features five 2-week labs and one 1-week lab. In-class lab time is intended to help students get started on the labs, to share ideas and feedback with fellow students, and to enable the teaching team to answer questions. Attendance is mandatory.
Subsequent lab time is allocated for final project work. Most of the time out of class will be spent on lab or project work.
Class GitHub Repo
The Class GitHub Repo is online at https://github.com/FAR-Lab/Developing-and-Designing-Interactive-Devices/tree/2023Fall
Assignments and Projects
Activity |
Overview |
Point Values |
|
Online repository |
Set up and continued documentation of coursework in online Github repository |
20% |
|
Lab 1 |
Two-part lab activity about iteratively staging interaction with users. |
10% |
|
Lab 2 |
Two-part lab activity developing prototype inputs and displays. |
10% |
|
Lab 3 |
Two-part lab activity using voice and speech prototypes with users. |
10% |
|
Lab 4 |
Two-part lab activity developing physical prototypes with users. |
10% |
|
Lab 5 |
Two-part lab activity using computer recognition in interaction with users. |
10% |
|
Lab 6 |
One-part lab activity on distributed interaction |
10% |
|
Lowest lab grade dropped |
-10% |
||
Final Project |
Solo or group project designing, prototyping and testing an interactive device with users |
20% |
|
Class Participation |
Attend in-person class and have meaningful participation in dialog and in class in-person and online community |
10% |
|
Total Points |
100% |
Method of assessing student achievement
Lab Assignment Rubric:
Component |
Grade Percentage |
Novelty of Concept/Exploration of Design space: Sketches, photos, videos showing conceptual development of ideas |
30% |
Technical Execution: System capable of interaction either through autonomous or wizarded mechanisms |
40% |
Test with Users: Plan, execution and documentation of iterative test of design and system with users |
20% |
Communication/Documentation of Ideas and Process: Text, video, and photo of project illustrating system capability and documenting plans and process |
10% |
Final Project Rubric:
Component |
Grade Percentage |
Project planning: Allocation of needed resources (time, people, materials, facilities) anticipated well. |
10% |
Design of Project: Interaction, hardware and software aspects of projects planned well. |
30% |
Prototype Functionality: System capable of interaction, either through autonomous or wizarded mechanisms |
30% |
Testing of Project: Functional or wizarded system tested with people |
20% |
Project documentation: Text, video, and photo of project illustrating capability and documenting plans and process |
10% |
Class Participation Rubric:
Component |
Grade Percentage |
Attend class |
50% |
Participates in-class |
15% |
Participates online |
15% |
Gives feedback and assistance to others |
10% |
Helps to maintain shared course resources (tools and materials) |
10% |
Basis of grade determination
Grading: Letter, 3 hours
Grading scale:
Grade | A+ | A | A- | B+ | B | B- | C+ | C | C- | F |
Percent | >97 | 93-96 | 90-92 | 87-89 | 83-86 | 80-82 | 77-79 | 73-76 | 70-72 | <70 |
Typical Topics Covered
-
- sensors and actuators
- prototyping with component electronics
- interface and interaction prototyping
- single board Linux system development
- open-source software and libraries
- speech recognition
- speech synthesis
- computer vision recognition
- physical prototyping
- system integration
- user testing
Course Outcomes
-
- Demonstrate understanding of key computation, sensing, actuation and communication components that make up modern interactive devices.
- Develop skill in designing and prototyping interactive systems
- Demonstrate ability to test interactive systems with users
- Demonstrate ability to integrate software, embedded hardware, sensing, display, actuation, and communication devices to make functioning systems.
- Apply open-source software libraries to control system operation, obtain user input and provide interactive response
Academic Integrity
Each student in this course is expected to abide by the Cornell University Code of Academic Integrity. Any work submitted by a student in this course for academic credit will be the student's own work. The policy can be found on the university’s website here: https://theuniversityfaculty.cornell.edu/academic-integrity/.
In this class, we make substantial use of online materials and open-source software. We encourage you to make use of found code and online examples, and also for the class to act as a microcosm of the open-source community by assisting and collaborating with one another.
That said, proper attribution of all work, assistance, and collaboration is absolutely critical in this endeavor. We expect you to be meticulous in documenting and celebrating shared ideas and code.
We also expect you to document and provide advance notice to the teaching team if you plan to use:
-
- work from other concurrent/prior courses
- assistance from outside students or people
- assistance from chatGPT or other online services
as part of deliverables for this course. This is permitted, but the net amount of work in this and the other course are expected to be the same as if you pursued different projects for each course, and hence our awareness of your outside resources is essential.
The faculty member may impose a grade penalty for unattributed copying, which will impact the student who copied work and any other student benefiting from that copied work. Penalty for willful and egregious violation of this Code can also be extended to include failure of the course and University disciplinary action.
Students with Disabilities
Your access in this course is important. Please give the instructor your Student Disability Services (SDS) accommodation letter early in the semester so that we have adequate time to arrange your approved academic accommodations. If you need an immediate accommodation for equal access, please speak with me after class or send an email message to me and/or SDS at sds_cu@cornell.edu. If the need arises for additional accommodations during the semester, please contact SDS. You may also feel free to speak with Student & Academic Affairs at Cornell Tech who will connect you with the university SDS office.
Religious Observances
Cornell University is committed to supporting students who wish to practice their religious beliefs. Students are advised to discuss religious absences with their instructors well in advance of the religious holiday so that arrangements for making up work can be resolved before the absence.
Inclusivity
You should expect and demand to be treated by your classmates and the course staff with respect. You belong here, and we are here to help you learn and enjoy this course. If any incident occurs that challenges this commitment to a supportive and inclusive environment, please let the instructors know so that the issue can be addressed. We are personally committed to this principle, and subscribe to the Computer Science Department’s Values of Inclusion.
Cornell Tech Cares
The Cornell Tech community is a diverse and vibrant group of students, faculty, and staff. We take our responsibility to look out for one another seriously. As members of this community, your openness and proactive communication will allow us all to better care for students and respond to their needs, whether they be interpersonal or academic. Please help us continue to build and strengthen our community by reaching out if you are having an issue or are concerned about a fellow student. Contact studentwellness@tech.cornell.edu with concerns and we will make sure to care for one another. In the event of an emergency, please call 911 and Cornell Tech Safety & Security at 646-971-3611 (This number is also located on the back of your Cornell ID), when safe to do so.
Course Summary:
Date | Details | Due |
---|---|---|