Connected Devices and Making

Write firmware and design hardware for smart devices that connect to computers, phones, and the web. Devices are now becoming data collection tools that can act, inform, and interface with many different aspects of our world — in the form of wearables, home automation systems, cutting-edge medical devices, and more.

Learn about:
Image
Skills
  • C/C++
  • 3D printing
  • Hardware design
  • Firmware programming
  • Data collection
Careers
  • Software Developer
  • Hardware Engineer
  • Data Analyst
  • Product Designer
  • Product Tester
  • UX Designer

Requirements

  • All minors at USC need 16 units that only meet minor requirements and do not meet any other major, minor, or GE requirement.
  • All courses completed for your minor or specialization must be completed for a letter grade.
  • You must earn a 2.0 minimum cumulative GPA in the courses completed for your minor or specialization.

Minor (16 units)
Complete One of the Following (2 units):
  • ITP-109 “Introduction to Java Programming” (2 units)
  • ITP-115 “Programming in Python” (2 units)
        or ITP-116 "Accelerated Programming in Python" (2 units)
  • ITP-165 “Introduction to C++ Programming” (2 units)
Core Requirements (6 units):
  • ITP-228 “Computer-Aided Modeling for 3D Product Design” (2 units)
  • ITP-348 “Making Smart Devices: Introduction to Electronics and Wearables” (4 units) [prerequisite: ITP-109, ITP-115/116, or ITP-165]
Electives (8 units):
  • ITP-249 “Introduction to Data Analytics” (4 units)
  • ITP-341 “Android App Development” (4 units) [prerequisite: ITP-265 or CSCI-103]
  • ITP-342 “iOS App Development” (4 units) [prerequisite: ITP-265 or CSCI-103]
  • ITP-388 “Developing Connected Devices” (4 units) [prerequisite: ITP-348]
  • ITP-466 “Building the High Tech Startup” (4 units)
  • ITP-468 “Connected Devices Project” (4 units) [prerequisite: ITP-228 and ITP-348]
  • ITP-476 “Technologies for Interactive Marketing” (4 units)
Substitutions:

The following courses are also pre-approved electives for the minor. If you enroll in one of the following courses, please email our academic advisors so that they can update your STARS report. Substitution courses are not automatically applied to your minor requirements, so you will need to ask our academic advisors to make the change for you.

  • ITP-216 "Applied Python" (2 units) [prerequisite: ITP-115 or ITP-116]

Specialization (8 units)
Complete One of the Following (2 units):
  • ITP-109 “Introduction to Java Programming” (2 units)
  • ITP-115 “Programming in Python” (2 units)
        or ITP-116 "Accelerated Python for Programmers" (2 units)
  • ITP-165 “Introduction to C++ Programming” (2 units)
Core Requirements (6 units):
  • ITP-228 “Computer-Aided Modeling for 3D Product Design” (2 units)
  • ITP-348 “Making Smart Devices: Introduction to Electronics and Wearables” (4 units) [prerequisite: ITP-109, ITP-115/116, or ITP-165]

Course Plan

Use the chart below to plan your course schedule to complete your minor. Pay careful attention to prerequisites. Make sure you consult with your major advisor about how best to incorporate the requirements for your minor with your major and general education requirements.

Please contact our academic advisors with questions about course sequencing, departmental clearance and course substitutions.

Semester 1

Semester 2

Semester 3

Semester 4

Next steps

How can I add this program?

Apply online

Current USC students can use our online application to declare a minor or specialization. Your application will be processed within 4 to 9 business days, and you will be notified at your official USC email address of your admission to the program of your choice.

Complete your application >
Contact us with questions

If you have a question about the program, you're welcome to write to us or schedule an advisement appointment. We can help you navigate our program requirements and resources and refer you to other offices as needed.

Contact our advisors >

Published on August 2nd, 2018

Last updated on August 24th, 2022