Syllabus Spring 2024

Course Info

Units: 4 Instructor: Rob Parke Office: OHE 412 Office Hours: TBD Contact Info:

IT Support

IT Help: Provided by Viterbi IT Hours of Service: 8am–5pm M-F Walk-in: DRB 205 Contact Info: (213) 740-0517 Email:

Course Description

This course introduces students to the fundamental concepts of physical computing systems through hands-on, real-life applications. Physical computing forms the basis of smart devices, wearables like smart watches, e-textiles / fashion, IoT (Internet of Things) devices, and hardware start-up

This course is designed specifically for a general audience and all majors. You will learn to design electronic devices that interact with the physical world. Assignments will use motion detectors, robotic arms, and electronic music generation.

This course teaches students to design electronic devices that interact with the physical world by building circuits and developing software algorithms that run on a microcontroller. Students are expected to be familiar with introductory programming, but no prior experience with electronics or microcontrollers is necessary.

Learning Objectives

  • Design a device using a microcontroller and electronic components.
  • Produce an embedded device that measures environmental conditions and sends readings to a cloud storage platform.
  • Produce an embedded device that produces effects in the physical world to accomplish a task.
  • Build an interface app to enable communication between a user and a device.
  • Control a device from an interface app.
  • Describe accessibility challenges for an embedded device and suggest modifications.

Learning Outcomes

  • Design a simple device that reads sensor data and communicates with an internet-based storage platform

  • Determine the appropriate electronic component for specific operations

  • Use a microcontroller to communicate with sensors and motors

Prerequisite(s): ITP 115 or ITP 165 or ITP 109 (equivalent courses or knowledge will be considered)


This course will make use of Blackboard for content and assignments. Lecture slides and any supplemental course content will be posted to Blackboard for use by all students. Any and all announcements for the course will be posted to Blackboard. All assignments will be posted to Blackboard and will be submitted through Blackboard. Students must familiarize themselves with Blackboard before the course begins.

Course Kit

Students will be required to purchase a kit at the USC bookstore for this course. This kit is created specifically for the course and must be purchased during the first week of class. Additional components will be provided by the instructor

Required Videos

Videos for each week are posted on the course website and should be watched prior to class that week

Supplementary Books

  • Scherz, Paul, et. al. Practical Electronics for Inventors (3rd Edition). McGraw-Hill Education, 2013. ISBN: 978-0071771337

  • Hughes, John M. Arduino in a Nutshell: A Handbook for Technicians, Engineers, and Makers. 2015. ISBN: 978-1491921760

  • Purdum, Jack. Beginning C for Arduino, Second Edition: Learn C Programming for the Arduino. Apress, 2015. ISBN: 978-1484209417

Course Deliverables

Hardware Assignments

There will be hardware assignments that are due 1 week after being assigned. These assignments require building a hardware device with the microcontroller. Students will typically submit code, a schematic drawing, a photograph of the finished device, and a video of the device functioning. Code from external sources may be used as a reference, as long as it is properly cited. These are to be completed individually unless otherwise noted.

Programming Assignments

There will be programming assignments which will focus on a further understanding of problem-solving, algorithms, and logical thinking using C, and are due 1 week after being assigned. Assignments are to be completed individually and submitted on Blackboard.

Final Project Details


  • Week 11 – Project assigned
  • Week 12 – Submit project proposal
  • Week 13 – Receive feedback on proposal; submit device schematic
  • Weeks 12 – 16 – Work on project (in-class milestone week 13)
  • Final exam period – Final presentation (Graded)

Basic Requirements

The final project is to create a physical device and interface. The concept of the device is up to the student, but the project proposal must be approved by the instructor. The proposal should include device functionality, part list, cost, and a general description of the app.

The final project will be graded on how it fulfills the requirements and the quality / completion of the device. A project must represent the student’s sole effort; online tutorials or class examples may be consulted, but they must be improved upon and noted in the final documentation. Failure to note and provided links to any reference material will be considered cheating.

Project Grading Breakdown

Item Points
Proposal 10
Device schematic 20
Device firmware (C++) 25
Web or mobile interface app 20
Functional device 25
Total 100

Project Demonstration

Students will sign up for a 10 min window during the final exam time during which their will demonstrate the functionality of their project. No PowerPoint presentation is needed; rather, students will show the how their device fulfills the key project requirements. Additional time slots will be added depending on size of the class.

Course Grading Breakdown

Item % of Grade
Assignments 45
Final Project 35
Quizzes, In-Class Labs, and In-Class Polls / Participation 20
Total 100%

Grading Scale

Course final grades will be determined using the following scale

  • A 93-100
  • A- 90-92
  • B+ 87-89
  • B 83-86
  • B- 80-82
  • C+ 77-79
  • C 73-76
  • C- 70-72
  • D+ 67-69
  • D 65-66
  • F 64 and below

Grading Timeline

Assignments will receive feedback after about one week.

Policies and Expectations

Students are expected to:

  • Attend and participate in lecture discussions

  • Attend and complete weekly assignments

Grading Issues

Students will have one week after graded feedback is given to contest scores (e.g. assignments, midterm, and project). After two week, scores will not be changed.

Late Policy

  • Assignments are due on the stated day on Blackboard (typically at 11:59 pm)
  • Students are given 5 “grace days” (self-granted extensions) which may be used for extra time without penalty
  • Grace days may be used for assignments only, not the final project
  • Grace days may be used for one assignment, distributed them across several assignments, or even better, saved them for a crisis that thankfully never comes
  • Instructor-granted extensions are only considered after all grace days are used and only given in rare, exceptional situations

Important: it is the responsibility of the student to state in their Blackboard submission that they intend to use a grace day.

(Adapted from Stanford’s EE365 policy)

Course Schedule: A Weekly Breakdown

Week Topics/Daily Activities Pre-Lecture Videos and Readings Assignment (given out on Monday; due one week Sunday @ 11:59 pm)
Week 1 Intro to Internet of Things (IoT), electricity, microcontrollers, Ohm’s Law, LEDs Posted online A0 and A1
Week 2 Analog to digital conversion, pulse width modulation, serial Posted online A2
Week 3 Digital input, buttons, RGB LEDs Posted online A3
Week 4 Voltage dividers, photoresistors, multitasking, cloud publishing Posted online A4
Week 5 Temperature sensors, SPI communication, OLED, webhooks, dashboards Posted online A5
Week 6 Cloud subscription, mobile app integration Posted online A6
Week 7 Finite state machines Posted online A7
Week 8 DC motors, servos Posted online A8 (due in two weeks)
Week 9 Bluetooth, remote controlled car Posted online Continue working on A8
Week 10 JSON, APIs, dashboards Posted online A9
Week 11 Ultrasonic sensors, OLED graphics Posted online A10
Project proposal
Week 12 Wearables, heart rate sensors, debouncing Posted online (work on project)
Week 13 RFID, accessibility Posted online Project milestone
Week 14 Accelerometers Posted online (work on project)
Week 15 Digital temperature sensors, passive infrared sensors Posted online (work on project)
Final (Week 16) Final project presentation Posted online Project code, device, app, in-class demo
      Date: For the date and time of the final for this class, consult the USC Schedule of Classes at

Academic Integrity

The University of Southern California is foremost a learning community committed to fostering successful scholars and researchers dedicated to the pursuit of knowledge and the transmission of ideas. Academic misconduct is in contrast to the university’s mission to educate students through a broad array of first-rank academic, professional, and extracurricular programs and includes any act of dishonesty in the submission of academic work (either in draft or final form).

This course will follow the expectations for academic integrity as stated in the USC Student Handbook. All students are expected to submit assignments that are original work and prepared specifically for the course/section in this academic term. You may not submit work written by others or “recycle” work prepared for other courses without obtaining written permission from the instructor(s). Students suspected of engaging in academic misconduct will be reported to the Office of Academic Integrity.

Students must complete their own work without assistance from other students or any outside sources. Other violations of academic misconduct include, but are not limited to, cheating, plagiarism, fabrication (e.g., falsifying data), knowingly assisting others in acts of academic dishonesty, and any act that gains or is intended to gain an unfair academic advantage.

The impact of academic dishonesty is far-reaching and is considered a serious offense against the university and could result in outcomes such as failure on the assignment, failure in the course, suspension, or even expulsion from the university.

For more information about academic integrity see the student handbook or the Office of Academic Integrity’s website, and university policies on Research and Scholarship Misconduct

Use of AI Generators

  • AI generators such as ChatGPT are powerfully useful tools that have great application in software and engineering
  • However, the purpose of this class is to specifically to develop creative and critical thinking skills as well as practical knowledge of building devices
  • Therefore, using AI-generated tools is prohibited in this course, will be identified as plagiarism, and will be reported to the Office of Academic Integrity

Course Content Distribution and Synchronous Session Recordings Policies

USC has policies that prohibit recording and distribution of any synchronous and asynchronous course content outside of the learning environment.

Recording a university class without the express permission of the instructor and announcement to the class, or unless conducted pursuant to an Office of Student Accessibility Services (OSAS) accommodation. Recording can inhibit free discussion in the future, and thus infringe on the academic freedom of other students as well as the instructor. (Living our Unifying Values: The USC Student Handbook, page 13).

Distribution or use of notes, recordings, exams, or other intellectual property, based on university classes or lectures without the express permission of the instructor for purposes other than individual or group study. This includes but is not limited to providing materials for distribution by services publishing course materials. This restriction on unauthorized use also applies to all information, which had been distributed to students or in any way had been displayed for use in relationship to the class, whether obtained in class, via email, on the internet, or via any other media. (Living our Unifying Values: The USC Student Handbook, page 13).

Students and Disability Accommodations:

USC welcomes students with disabilities into all of the University’s educational programs. The Office of Student Accessibility Services (OSAS) is responsible for the determination of appropriate accommodations for students who encounter disability-related barriers. Once a student has completed the OSAS process (registration, initial appointment, and submitted documentation) and accommodations are determined to be reasonable and appropriate, a Letter of Accommodation (LOA) will be available to generate for each course. The LOA must be given to each course instructor by the student and followed up with a discussion. This should be done as early in the semester as possible as accommodations are not retroactive. More information can be found at You may contact OSAS at (213) 740-0776 or via email at

Support Systems

Counseling and Mental Health - (213) 740-9355 – 24/7 on call

Free and confidential mental health treatment for students, including short-term psychotherapy, group counseling, stress fitness workshops, and crisis intervention.

988 Suicide and Crisis Lifeline - 988 for both calls and text messages – 24/7 on call

The 988 Suicide and Crisis Lifeline (formerly known as the National Suicide Prevention Lifeline) provides free and confidential emotional support to people in suicidal crisis or emotional distress 24 hours a day, 7 days a week, across the United States. The Lifeline is comprised of a national network of over 200 local crisis centers, combining custom local care and resources with national standards and best practices. The new, shorter phone number makes it easier for people to remember and access mental health crisis services (though the previous 1 (800) 273-8255 number will continue to function indefinitely) and represents a continued commitment to those in crisis.

Relationship and Sexual Violence Prevention Services (RSVP) - (213) 740-9355(WELL) – 24/7 on call

Free and confidential therapy services, workshops, and training for situations related to gender- and power-based harm (including sexual assault, intimate partner violence, and stalking).

Office for Equity, Equal Opportunity, and Title IX (EEO-TIX) - (213) 740-5086

Information about how to get help or help someone affected by harassment or discrimination, rights of protected classes, reporting options, and additional resources for students, faculty, staff, visitors, and applicants.

Reporting Incidents of Bias or Harassment - (213) 740-5086 or (213) 821-8298

Avenue to report incidents of bias, hate crimes, and microaggressions to the Office for Equity, Equal Opportunity, and Title for appropriate investigation, supportive measures, and response.

The Office of Student Accessibility Services (OSAS) - (213) 740-0776

OSAS ensures equal access for students with disabilities through providing academic accommodations and auxiliary aids in accordance with federal laws and university policy.

USC Campus Support and Intervention - (213) 740-0411

Assists students and families in resolving complex personal, financial, and academic issues adversely affecting their success as a student.

Diversity, Equity and Inclusion - (213) 740-2101

Information on events, programs and training, the Provost’s Diversity and Inclusion Council, Diversity Liaisons for each academic school, chronology, participation, and various resources for students.

USC Emergency - UPC: (213) 740-4321, HSC: (323) 442-1000 – 24/7 on call

Emergency assistance and avenue to report a crime. Latest updates regarding safety, including ways in which instruction will be continued if an officially declared emergency makes travel to campus infeasible.

USC Department of Public Safety - UPC: (213) 740-6000, HSC: (323) 442-1200 – 24/7 on call

Non-emergency assistance or information.

Office of the Ombuds - (213) 821-9556 (UPC) / (323-442-0382 (HSC)

A safe and confidential place to share your USC-related issues with a University Ombuds who will work with you to explore options or paths to manage your concern.

Occupational Therapy Faculty Practice - (323) 442-2850 or

Confidential Lifestyle Redesign services for USC students to support health promoting habits and routines that enhance quality of life and academic performance.