Frequently Asked Questions

ITP is an academic program at the Viterbi School of Engineering whose mission is to offer courses in applied technology to all students at USC. The program offers cutting edge and hands on courses in web development, new media, 3D animation, security, programming, video game design and programming, and other innovative topics in information technology. The unit is a leading source of curriculum innovation on campus and is also a leader in integrating emerging instructional technologies in the classroom. We offer minors and specializations; we do not offer any majors.
If you would like to take a course and have not taken the proper prerequisite you will need to contact the instructor of the course and let him/her know why you think you are prepared. S/he can assess your knowledge and let you know if you’re ready for the course. If you get instructor approval, please forward the instructor’s email to along with your student ID number and you will be granted permission to enroll. Please keep in mind that if you are given permission to take the more advanced course you can never go back and take the introductory course and earn credit for it.
ITP does not have waitlists for their courses. Keep checking back online to see if a seat opens up. Students change their schedules up until, and even after the beginning of the semester. If you don’t get a seat prior to the start of the semester you may wish to show up on the first day to see if someone else does not. Please have a backup plan incase a seat never becomes available.
ITP offers many courses that do not require prerequisites or prior programming experience. Please consider taking any of the courses below:

Introductory ITP courses_final

ITP offers three introductory programming courses that you should consider:

  • ITP 109 – Introduction to Java Programming
    • Object-oriented programming language
    • Great to learn before C++ or Objective-C (used for iOS apps)
    • Android is built on Java, so this is a good language if you want to learn to create mobile apps
  • ITP 115 – Programming in Python
    • Great introductory language
    • Clear syntax makes it an ideal first language
    • Scripting language, which is great if you want to go into web development
    • Used in Maya for digital animation
  • ITP 165 – Introduction to C++ Programming
    • The best way to learn programming fundamentals for iOS programming
    • A good engineering language
    • Best for high performance applications like video games

If you’re still struggling to determine which programming language would be the best fit, please feel free to contact the instructor(s) of the course.

At this time ITP courses are taught primarily during the fall and spring semesters. A limited number of ITP courses may be taught in the summer, which can vary from year to year. Please check the schedule of classes for any summer course offerings. All ITP courses are taught in-person on campus and not available through distance education (DEN).
Minor programs are available to students matriculating in an undergraduate degree program and must be completed simultaneously with the major degree program. Minor course requirements range from 16-26 units, while specializations require fewer units overall. Completion of a minor program will be recorded on the transcript. The student receives a separate minor certificate for each minor completed. Current USC undergraduates, graduate students, and non-degree seeking students are eligible to pursue a specialization. USC undergraduate students who do not have enough space in their schedule to complete a minor may choose to pursue a specialization instead. Specializations range from 6-12 units. Non-degree seeking students are eligible to enroll as limited status students. Students who complete a specialization are awarded a certificate of completion. All specialization coursework must be taken for a letter grade and the SAP specialization requires a grade of B or better in each course.

Please note ITP minor and specialization coursework is not offered through distance education and must be taken in-person at the University Park Campus.

Non-degree seeking students should familiarize themselves with the process of enrolling as a limited status student at USC.

More information on specific ITP specializations can be found under Academics.

All courses must be completed on campus at USC; there are no online classes currently available.
Yes, you can. A specialization is for non-degree seeking students of any background and you can earn it on its own. To do so you would enroll as a limited status student and you must take all units for a letter grade. Here is information on how to enroll as a limited status student and some information on ITP specializations.
The limited status program is intended for individuals who wish to take a limited number of courses at USC without formally applying for admission to the university. Individuals who do not have a bachelor’s degree may take up to 16 units. For graduate students, up to 12 units are allowed. Please refer to:
There is no right or wrong major/minor combination. ITP minors are open to all USC undergraduate students. The ITP advisor can help you think through what combination would be best for you, based on your interests and skills.
At this time, ITP does not offer any undergraduate majors or graduate degrees, only minors and specializations.
The majority of large corporations rely on SAPTM — an Enterprise Resource Planning (ERP) software — to help manage and streamline their business processes. This powerful IT solution allows different departments and locations of a company to share information with one another in real time for more effective communication. SAP is the world’s leading ERP systems vendor. Very few universities provide the opportunity for learning information systems concepts using SAP. By enrolling in this specialization, you will gain skills that set you apart from others and prepare you for a career in the expanding world of ERP systems. Students pursuing the SAP specialization must receive a B or better in all three classes, or they will not be eligible for the specialization.
Email Mention you’ve taken ISE 583 and state the 400-level course you would like to take. Please include your name and student ID number in the email. The advisor will waive the prerequisite, which will allow you to add the course.