Syllabus Spring 2023

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
In-Class Labs and Quizzes 20
Final Project 35
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 3 “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

  • Late work will not be accepted after all the grace days have been used

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 Tuesday; due one week Monday @ 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 Conduct

Plagiarism – presenting someone else’s ideas as your own, either verbatim or recast in your own words – is a serious academic offense with serious consequences. Please familiarize yourself with the discussion of plagiarism in SCampus in Part B, Section 11, “Behavior Violating University Standards”  Other forms of academic dishonesty are equally unacceptable.  See additional information in SCampus and university policies on scientific misconduct,


Support Systems

Student Counseling Services (SCS) - (213) 740-7711 – 24/7 on call

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

National Suicide Prevention Lifeline - 1-800-273-8255

Provides free and confidential emotional support to people in suicidal crisis or emotional distress 24 hours a day, 7 days a week.

*Relationship and Sexual Violence Prevention Services (RSVP) - (213) 740-4900 -

24/7 on call*

Free and confidential therapy services, workshops, and training for situations related to gender-based harm.

Sexual Assault Resource Center

For more information about how to get help or help a survivor, rights, reporting options, and additional resources, visit the website:

Office of Equity and Diversity (OED)/Title IX Compliance – (213) 740-5086

Works with faculty, staff, visitors, applicants, and students around issues of protected class.

Bias Assessment Response and Support

Incidents of bias, hate crimes and microaggressions need to be reported allowing for appropriate investigation and response.

The Office of Disability Services and Programs

Provides certification for students with disabilities and helps arrange relevant accommodations.

Student Support and Advocacy – (213) 821-4710

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

Diversity at USC

Information on events, programs and training, the Diversity Task Force (including representatives for each school), chronology, participation, and various resources for students.

USC Emergency Information

Provides safety and other updates, including ways in which instruction will be continued if an officially declared emergency makes travel to campus infeasible,

*USC Department of Public Safety – 213-740-4321 (UPC) and 323-442-1000 (HSC) for

24-hour emergency assistance or to report a crime*.

Provides overall safety to USC community.