News and Events

The ITP Buzz


New ITP Minors and Courses for Fall 2012

April 5th, 2012


Minor in Enterprise Information Systems

What software runs large corporations? How is global business managed these days? What is SAP? How do I land a consulting job? Enterprise Resource Planning systems run behind global business these days, integrating everything from human resources to sales, production to accounting. This Minor combines business process management and information technology to prepare students for a career in technical as well as business consulting in the ERP domain. Students will study various areas of ERP implementation, configuration, business intelligence, security and supply chain management. 
Electives are available depending on the students' academic and professional goals.

Minor in Innovation: The Digital Entrepreneu

The Minor in Innovation: The Digital Entrepreneur is jointly sponsored by the Information Technology Program in the Viterbi School of Engineering and the Lloyd Greif Center for Entrepreneurial Studies in the Marshall School of Business. The minor is designed for students from a range of backgrounds who are interested in starting their own digital ventures, working for start-up companies, or pursuing traditional jobs with large corporations and consulting firms that may involve launching new digital business units. Students will learn all major elements of launching a digital venture including ideation, feasibility analysis, high tech product management, online customer acquisition, technology implementation, online business models and monetization. Students will work on launching a digital venture in a team-based environment in the capstone class.

The Information Technology Program in the Viterbi School of Engineering handles advising and admissions relating to the minor, consulting as needed with the Grief Center for Entrepreneurial Studies in the Marshall School of Business.

Minor in Computer and Digital Forensics

The Computer and Digital Forensics minor combines both theoretical concepts and practical skills to prepare students for a career as a digital forensics investigator. Students will study various areas of cyber-forensics, including forensic methodologies and processes, digital evidence gathering and preservation, investigations and examinations, and court presentation. Electives are available depending on the students' academic and professional goals.


ITP 115 – Programming in Python (3 units)

Prerequisite: none

12:00-12:50pm T/Th

Learn how to program using Python. With its high level data structures and clear syntax, Python is an ideal first language.

ITP 140 – Mobile Application Technologies (2 units)

Prerequisite: none

3:30-4:50pm M/W

Technologies, devices, operating systems, and tools of mobile applications, as well as the mobile industry. Students will use tools to create apps for different mobile devices.

ITP 445 – Macintosh, OSX, and iOS Forensics (3 units)

Prerequisite: ITP 375

5:00-7:50pm M

Digital Forensics. Digital Evidence. Apple. Mac. Macintosh. OSX. iOS. iPhone. iPad.

ITP 466 – Building the High Tech Startup (4 units)

Prerequisite: none

5:00-8:50pm, Tu

Please visit the course webpage to learn more:

Teach students the basic technologies and processes involved in the building web and mobile startups. Students will be introduced to the different aspects of building a web startup including Online Business models, Product management, Agile development processes, Technology platforms and Operations, customer development and online marketing.

ITP 499 – Game Startup Workshop (2 units)

Prerequisite: none

5:00-7:50pm Th

Itching to start your own game company? This course, through guest speakers, news articles, and business-related exercises, explores the common pitfalls of starting a company in today's environment, and offers solutions, tips, and suggestions to achieve business success. Weekly guest speakers to include CEOs of startups, lawyers who specialize in game-related matters, startup mentors, and others who've been there and done that.

ITP 499 – Applying C++ Debugging (3 units)

Prerequisite: CSCI 102

2:00-3:50pm M/W

This course introduces debugging practices by exposing students to common programming bugs. Systematically students will review the C++ language with the following foci:

  1. Analyzing common pitfalls
  2. Programming defensively to avoid common problems
  3. Diagnosing and correcting coding errors

ITP 499 – Fundamentals of Web Software (3 units)

Prerequisite: CSCI 351 or ITP 300

6:00-8:50pm M

Web software transformed the software industry. It replaced roles previously filled by desktop software. In addition, web software enabled a new category of apps in which data constantly appears from external sources. Be it in social software (Facebook, Twitter, Foursquare) in which new data is always appearing from friends, or productivity software (Google Docs) in which compositions are jointly made with team mates, web applications have ushered in a new age of collaboration in a way desktop, offline software cannot.

This course examines the design challenges in creating web based, collaborative applications and in scaling those applications for use by millions of daily users. Programming assignments build upon each other, culminating in the student creating their own web framework.

ITP 499 – Advanced Web Publishing (2 units)

Prerequisite: ITP 104

2:00-4:50pm Tu

Learn cutting edge Web Publishing techniques!

Beyond merely publishing web pages with html and css, this course explores technologies such as html5, css3 and jquery that enable publishers to create more interactive and dynamic pages without needing development or scripting knowledge. The class also teaches the basics of creating sites for mobile devices and multiple screens. And this course will teach students fundamentals webmaster topics such as web analytics and search engine optimization.

Students should have a prior knowledge of basic HTML and CSS

ITP 499 – Pro Tools 10 for Game Audio (3 units)

Prerequisite: none

6:00-8:50pm Th

Please visit the course webpage to learn more AND TO VIEW/LISTEN TO A DEMO:

Half of the game experience is the sound. This is a hands on course that uses the primary tool for sound effects, design, music and dialog: AVID Pro Tools. The course was commissioned by AVID and USC is an AVID learning partner. Upon completion of the course, students can take the inline test and become a certified user. The course is taught by Bill Black, a working game audio veteran who has multiple published AAA titles. He is a music composer, sound designer, and voice over director. This course will cover the creation and implementation of Character Voice Over, Music tracks, and sound effects design, and how they all come together for in-game audio and cinematics. So if you have wanted to create game audio or just see how it's done, this is the course for you.

ITP 499: Graphics Shader Programming (3 units)

Prerequisite: See below

5:00-7:50pm Tu

Please visit the course webpage to learn more:

Learn about writing graphics shaders, using the RenderMan Shading Language (RSL), the 'gold standard' of shader programming languages. In the course, you will learn how to write shaders from scratch, by making use of powerful and expressive RSL function calls, using C-style syntax. In the process, you will be introduced to topics such as pattern synthesis, global illumination, non-photoreal rendering and shading models. This is a hands-on (lecture+lab) course, where you will gain shader-writing experience by completing assignments throughout the course. In addition, you will work in teams for your final project, where you will also partner with teams from a companion course (ITP 360: 3D Compositing and Visual Effects). The goal is to create shaders requested by the partner teams, for incorporating into their own Maya-based projects (which involve modeling, animation, lighting, rendering). In other words the shaders that you deliver will define the look of the surfaces (geometry) in your partners' scenes.

Prerequisites: familiarity with a programming language such as C/C++/Java/Javascript/Python will help, as will knowledge of 3D computer graphics (specifically, lighting and shading). Exposure to Maya will help as well, but this isn't mandatory.