USC
University of Southern California
black horizontal bar for print styles

Information Technology Program

Olin Hall 412
(213) 740-4542
Email: itp@usc.edu
www.itp.usc.edu

Director: Ashish Soni, M.S.

Instructors: Patrick Dent, M.S.; Nitin Kale, M.S.; Richard Vawter, M.S.; Justin Verduyn, B.S.

All ITP courses are open to non-engineering majors. The "x" designation indicates that engineering students require prior departmental approval to count 100-level and above ITP courses for major credit.

Minor in 3-D Animation

The 3-D animation minor merges theoretical concepts and practical skills to prepare students for a career in their major field of work with incorporation of 3-D animation and interactive technologies. Through integration of three major disciplines (cinema, fine arts and information technology), students gain a solid foundation in a wide range of important industry and academic skills. Two concentrations are available depending on professional goals and career or industry objectives.

Students should meet the regular admission standards and have a declared USC major. Students will complete an application for the minor with the Viterbi School of Engineering. School of Engineering, Roski School of Fine Arts and School of Cinematic Arts students must get departmental approval to participate in this minor. To be approved for the minor, students must have: completed a minimum of 30 units of college level courses, attained a minimum GPA of 3.0, and achieved basic computer literacy. Along with the Viterbi School of Engineering application, students will submit a one-page personal statement, describing their professional goals and how this minor will support those goals. For specific information on admission and application procedures, contact the Information Technology Program at (213) 740-4542.

Requirements for completion (core courses plus one concentration)
Minimum units: 29-31 (depending on concentration)

Core courses (19 units)units
CTAN 330Animation Fundamentals2
CTAN 451History of Animation2
CTAN 452Introduction to Computer Animation2
FA 101aDrawing4
FA 102Design Fundamentals4
ITP 215x3-D Modeling, Animation, Compositing, and Special Effects2
ITP 414x*Seminar and Portfolio Development3

* ITP 414x may be taken after a minimum of 20 units of minor course work have been completed.

traditional 3-D animation concentration (12 units)units
FA 106Sculpture I4
ITP 305xAdvanced 3-D Modeling, Animation, Compositing, and Special Effects3
ITP 315xApplications for 3-D Special Effects and Character Animation2
ITP 360x3-D Industry Tools3

INteractive 3-D animation concentration (10-11 units)units
CTAN 450aAnimation Theory and Techniques2
ITP 211xMultimedia Authoring2
ITP 330xInteractive 3-D Environments3

Choose one
FA 436Art and Technology4
ITP 411xInteractive Multimedia Production3

Minor in Law and Internet Technology

Students in this minor will understand the ongoing legal battles with Internet file sharers, the legal aspects of computer and network security, and how cyber crime and other technical mideeds are brought to justice.

Requirements for completion (core courses plus one elective)
Minimum units: 20

Required coursesUnits
ITP 260xInternet Technologies4
ITP 477xSecurity and Computer Forensics4
LAW 200xLaw and Society4
LAW 450xInternet Law4

Elective (Choose one)Units
ITP 457xNetwork Security4
LAW 343Courts and Society4

Minor in Video Game Design and Management

The video game design minor integrates theoretical concepts and practical skills to prepare students for a career in interactive entertainment, specifically the video game industry. Through integration of two major disciplines (cinema and information technology), students will be exposed to a variety of design concepts related to creating video games including: level design, game-play control, user interface, multiplayer, game mechanics, and storytelling. As opposed to the video game programming minor where students will be writing code and programming game engines, students in the video game design and management minor will apply design concepts to different game genres and use game design software tools to create a working demo of a video game during the course of the minor program.

Students should meet the regular admissions standards and have a declared USC major. Students will complete an application for the minor with the Viterbi School of Engineering. For specific information on admission and application procedures, contact the Information Technology Program at (213) 740-4542.

Requirements for completion
Minimum units: 24

Required courses (24 units)units
CTIN 483Programming for Interactivity4
CTIN 484L*Intermediate Game Development2
CTIN 488Game Design Workshop4
CTIN 489*Intermediate Game Design Workshop2
ITP 280Video Game Production4
ITP 391xDesigning and Producing Video Games4
ITP 491xLevel Design and Development for Video Games4

*CTIN 483 and CTIN 488 are prerequisites; enrollment in CTIN 484L and CTIN 489 is concurrent.

Minor in Video Game Programming

The video game programming minor integrates the theoretical concepts and practical skills to prepare students for a career in interactive entertainment, specifically the video game industry. Through integration of two major disciplines (computer science and information technology), students will be exposed to a variety of programming concepts related to creating video games including: 3-D graphics, artificial intelligence, particle systems, rendering, collision detection, game algorithms, physics concepts, and math formulas. In contrast to the video game design minor where the focus is applying design concepts and using software design tools, students in the video game programming minor will evaluate, write and debug code, in addition to creating a game engine during the course of the minor.

Students should meet the regular admissions standards and have a declared USC major. Students will complete an application for the minor with the Viterbi School of Engineering. For specific information on admission and application procedures, contact the Information Technology Program at (213) 740-4542.

Requirements for completion (core courses plus electives)
Minimum units: 27

Core courses (19 units)
CSCI 101LFundamentals of Computer Programming3
CSCI 102LData Structures4
ITP 280Video Game Production4
ITP 380Video Game Programming4
ITP 485Programming Game Engines4

Elective courses (8 units - 4 units must be ITP)
CSCI 460Introduction to Artificial Intelligence3
CSCI 480Computer Graphics3
ITP 382Mobile Game Programming4
ITP 461*Artificial Intelligence in Video Games1
ITP 481**Video Game Graphics1
ITP 484Multiplayer Game Programming4

*ITP 461 requires concurrent enrollment with CSCI 460.

**ITP 481 requires concurrent enrollment with CSCI 480.

Minor in Web Technologies and Applications

The Web technologies and applications minor combines both theoretical concepts and practical skills to prepare students for a career in their major field of work while incorporating the Web. Students will be able to design, develop and apply major Web technologies and advancements. The broad areas of study will be client-side and server-side programming, databases, multimedia and project-based Web development. Electives are available depending on the students' academic and professional goals.

Students should meet the regular admissions standards and have a declared USC major.

Requirements for completion (core courses plus electives)
Minimum units: 25

required courses (20 units)units
CSCI 455xIntroduction to Programming Systems Design4
ITP 104xInternet Publishing Technologies2
ITP 204xFundamentals of Web Development4
ITP 300xDatabase Web Development3
ITP 411xInteractive Multimedia Production3
ITP 460xWeb Application Project4

Electives (two courses)units
ITP 109xIntroduction to Java Programming2
ITP 325xWeb Security3
ITP 404xIntermediate Web Development3
ITP 420xStructuring Data for the Web3
ITP 450xDesigning eCommerce Applications4

Courses of Instruction

Information Technology Program (ITP)

The terms indicated are expected but are not guaranteed. For the courses offered during any given term, consult the Schedule of Classes.

ITP 018x Core Technologies of Microsoft Exchange Server (2, FaSpSm) Administration of Microsoft Exchange in a single-site or multiple-site environment; integration with Novell, Outlook, and Lotus email. Graded CR/NC. Not available for degree credit. Prerequisite: ITP 011x.

ITP 031x Introduction to Microsoft Excel (1) Spreadsheet applications on microcomputers using Microsoft Excel; fundamentals of problem solving and data analysis using a wide variety of spreadsheet features. Not available for degree credit. Graded CR/NC.

ITP 050x Microsoft Power Point (1, FaSpSm) Overview of how to create professional and colorful screen presentations, overhead transparencies, outlines and 35 mm slides using a presentation graphics program. Not available for degree credit. Graded CR/NC.

ITP 065x Microsoft Access (1, FaSpSm) Microsoft Access will allow students to learn how to plan, define, create, and modify a database in the Windows environment. Not available for degree credit. Graded CR/NC.

ITP 090x Introduction to Adobe Photoshop (2, FaSpSm) Basic concepts of colors; color calibration tools; scanning, importing and exporting images; painting, editing, fill, and type tools; using layers, masks, filters, and color correction. Not available for degree credit. Graded CR/NC.

ITP 100x Information Technology for Business (2, FaSp) Introduction to current operating systems and architecture; survey of the latest uses of applications software in business; networking concepts, programming languages and fundamentals of programming.

ITP 101x Introduction to Information Technology (4, FaSpSm) Introduction to computer hardware, operating systems, networks, programming. Survey of application software in business and industry. Computer issues in the work place and society.

ITP 104x Internet Publishing Technologies (2, FaSp) Basic Internet publishing using HTML and other Web technologies. Concepts and theory of Web publishing and production. Introduction to page layout and design. Prerequisite: basic computer literacy.

ITP 105x Introduction to Computer Technologies and Applications (2, FaSp) The course offers a primer in computer technologies and applications essential to academic and career success. Not available for major credit to engineering majors.

ITP 106 Information Literacy and Technology Issues (2, FaSp) A basic course in research and electronic information retrieval, including evaluative procedures and ethical issues.

ITP 109x Introduction to Java Programming (2, FaSpSm) Introduction to object-oriented software design for business problems. Creation of console applications, windowed applications, and interactive Web applets.

ITP 110x Introduction to C Programming (2) Fundamentals of C; a survey of C compilers; the role of C in developing Unix and other operating systems. Prerequisite: knowledge of a higher-level language.

ITP 150x Introduction to Visual BASIC (2, FaSp) This course provides students with no previous programming experience with the basics for and creating their own interactive windows applications using visual programming techniques. Prerequisite: high school algebra.

ITP 165x Introduction to C++ Programming (2, Fa) Fundamentals of C++ syntax and semantics, including function prototypes, overloading, memory management, abstract data types, object creation, pointers to class members, and I/O streams. Prerequisite: any high-level programming language.

ITP 168x Introduction to MATLAB (2, FaSpSm) Fundamentals of MATLAB: a high-performance numeric computation and visualization environment. Overview of linear algebra and matrix manipulation; using 2-D and 3-D plotting routines; programming in MATLAB; basic numerical analysis. (Duplicates credit in former ITP 068x.) Recommended preparation: MATH 118x or MATH 125.

ITP 203x Advanced Programming with Engineering Applications (3) Multidimensional arrays; linear systems; numerical solutions of nonlinear equations; polynomials and integrals; computer graphics and other related topics (e.g., simulations) Not available for credit to CSCI or EE majors. Prerequisite: ITP 103x or ITP 105x or ITP 110x, MATH 125.

ITP 204x Fundamentals of Web Development 4, FaSp) Programming fundamentals necessary for Web development. Scripting languages, development tools and techniques for creating interactive, dynamic Web pages. Prerequisite: ITP 104x.

ITP 209x Object Oriented Programming Using Java (3, FaSp) Basic object-oriented concepts and object-oriented analysis and design as they relate to Java technology. Object-oriented programming for developing applications with Java technology. Prerequisite: ITP 109x.

ITP 210x Multimedia Applications for Windows (2, Fa) Focuses on creating powerful presentations with affordable multimedia hardware and software; integrates sound, video and animation into windowing environment. Prerequisite: ITP 101x .

ITP 211x Multimedia Authoring (2, FaSpSm) Introduction to interactive multimedia programming; integrated audio, graphics, video, and animation for interactive multimedia; object oriented programming, web, CD-ROM, and hybrid applications. Recommended preparation: programming experience.

ITP 212x Digital Media Design and Management (3, FaSpSm) Design and composition as it applies to digital media, including web, CD, interactivity, and motion graphics. Media management, client relations, project and asset management.

ITP 215x 3-D Modeling, Animation, Compositing and Special Effects (2, FaSpSm) Overview of developing a 3-D animation: from modeling to rendering. Basics of surfacing, lighting, animation and modeling techniques. Advanced topics: compositing, particle systems, and character animation. Prerequisite: knowledge of any 2-D paint, drawing or CAD program.

ITP 216x Web Animation and Interactivity (2, FaSpSm) 2-D vector graphics for web and animation. Scripting techniques for interactivity. Action Script syntax, logic and control. Recommended preparation: basic computer knowledge.

ITP 220Lx Digital Video Editing and Motion Graphics (2) Techniques for digital, non-linear video editing and compositing. Special video effects, rendering and compression for multimedia, the Web, and broadcast. Not available for major credit for EE or CSCI majors. Recommended preparation: general PC-based computer proficiency.

ITP 225x The UNIX System (2) UNIX system concepts; the Shell command language; utilities, editors, file structure, and text formatters. C Shell, Bourne Shell, and the awk programming language. Prerequisite: ITP 101x.

ITP 230x Video Game Quality Assurance (4, FaSp) Survey game software development through quality assurance and in-depth analysis of the development cycle with a focus on bug testing systems and methodologies.

ITP 250x Building Client/Server Applications (2) Fundamentals of Client/Server architecture and development tools; hands-on laboratories using Visual Basic, ODBC, and SQL Server Database Engines; overview of network operating systems.

ITP 260x Internet Technologies (4, FaSp) Overview of emerging technologies on the Internet including multimedia components, networking, security tools, web-based databases, and wireless systems.

ITP 265x Advanced C++ and Java Application (2, SpSm) Advanced application programming techniques using C++ and Java in an integrated visual development environment with foundation classes, database connectivity and client/server architecture. Prerequisite: ITP 109 or ITP 165 or CSCI 101L.

ITP 280 Video Game Production (4, FaSpSm) History of video games; overview of game genres; phases of video game development (concept, preproduction, production, post-production); roles of artists, programmers, designers, and producers.

ITP 300x Database Web Development (3, FaSp) Fundamental theory and technologies for creating dynamic, database-driven Web sites: Structured Query Language. Prerequisite: ITP 104x; recommended preparation: ITP 204x.

ITP 304x Technologies for Building Online Political Campaigns (3, FaSp) Key technology components necessary in building a successful online political campaign. Fundamentals of implementing, marketing and managing an online political campaign.

ITP 305x Advanced 3-D Modeling, Animation and Special Effects (3, FaSpSm) Advanced modeling, surfacing, and animation techniques, as well as compositing, dynamics, scripting, and other advanced 3-D automation procedures. Prerequisite: ITP 215x or ARCH 207a.

ITP 309x Developing Enterprise Applications Using Java (3, FaSp) Java architecture and key logic for business components; Servlets, Server Pages and Enterprise Java Beans technologies, to design and construct secure and scalable n-tier applications.

ITP 315x Applications for 3-D Special Effects and Character Animation (2) This advanced 3-D animation course explores applications for various special effects processes, focusing on the use of particle systems, texture mapping, character and facial animation, and live action compositing. Prerequisite: ITP 215x.

ITP 320x Enterprise Wide Information Systems (2, FaSpSm) The role that Information Systems play in an organization and the challenging task of implementing and managing the IS function are both examined in detail. Prerequisite: ITP 101x.

ITP 321x Programming Enterprise Wide Information Systems (2, FaSpSm) Programming enterprise applications using ABAP/4. Topics include: ABAP/4 Development Workbench, Data Dictionary, Subroutines and Functions, database tables, data objects, and designing reports. Prerequisite: ITP 320.

ITP 322Lx Enterprise Resource Planning (2) An Enterprise Resource Planning system is configured for a company from the ground up. Emphasis is placed on cross-functional business processes and critical integration points. Prerequisite: ITP 320x.

ITP 325x Web Security (3, FaSp) Computer networks and inherent security issues that apply to networking. Encryption protocols, securing servers, and secure network architectures. Prerequisite: ITP 104x.

ITP 330x Interactive 3-D Environments (3, FaSpSm) Introduces techniques to design and develop interactive, multi-user 3-D, 2-D, and textual environments, for business, personal communications, education, and gaming for the web and CD. Prerequisite: ITP 211x.

ITP 345x Video Game Art and Animation (3, FaSp) Create art and modeling for video games. Model, texture, light, and animate a sequence to be used in a video game engine. Prerequisite: ITP 215x.

ITP 360x 3-D Industry Tools (3, FaSp) Techniques, concepts and tools for professional 3-D animation development. Strengths/weaknesses of industry-standard middle-end and high-end animation packages; hands-on instruction, discussion, and analysis. Prerequisite: ITP 215x or ARCH 207a.

ITP 377x Linux System Administration (3, FaSp) Installation, customization and administration of Linux in a networked environment. Prerequisite: ITP 225x.

ITP 380 Video Game Programming (4, FaSpSm) Underlying concepts and principles required for programming video games (topics include vectors, transformations, 3-D math, geometric primitives, matrices). Prerequisite: CSCI 102L or ITP 165x.

ITP 382x Mobile Game Programming (4, FaSp) Programming methodologies for writing mobile game applications for handheld devices, including the following programming considerations for embedded systems: graphics, screen size, memory, programming interfaces. Recommended preparation: previous programming experience.

ITP 383 Database Systems: Concepts, Design and Implementation (3, Sp) (Enroll in ISE 382)

ITP 391x Designing and Producing Video Games (4, FaSp) Key elements for designing effective video games and the processes involved in early development; roles of producer and manager, marketing and sales, and considerations pertaining to licensing and franchises. Prerequisite: ITP 280.

ITP 404x Intermediate Web Development (3, Fa) Web development using server-side technologies, including scripting, CGI, active server pages and Java servlets. Prerequisite: ITP 204x.

ITP 411x Interactive Multimedia Production (3, FaSpSm) Interactive multimedia title development cycle. Programming a time-based authoring tool; design, develop, and deliver a multimedia title on the Web and state-of-the-art storage media. Prerequisite: proficiency in object-oriented programming.

ITP 413x Interactive Web Development (4, FaSpSm) Covers most technical aspects of producing interactive online Web pages on the World Wide Web, through the use of development tools for publishing. Prerequisite: JOUR 412 or working knowledge of HTML.

ITP 414x Advanced Project Development (3, FaSp) Advanced planning, budgeting, and production processes and techniques for new media projects; team-building and management practices for creative teams. Graded CR/NC. Recommended preparation: a minimum 20 units from the ITP 3-D Animation minor.

ITP 420x Structuring Data for the Web (3, FaSp) Building web applications focused on content in web documents; develop XML document using DTD, DOM, XSL; facilitate data interchange between Web sites. Prerequisite: ITP 300x.

ITP 440x Enterprise Data Management (3, FaSp) Advanced concepts in database management; design, customization, maintenance and management of a database in an enterprise environment. Prerequisite: IOM 435 or ITP 300.

ITP 450x Designing eCommerce Applications (4, FaSp) Fundamentals of business and technological elements of electronic commerce. Design of solutions for the Internet using eCommerce development technologies and programming Business-to-Consumer applications. Prerequisite: ITP 404x or ITP 413x.

ITP 451x Designing Business-to-Business E-Commerce Solutions (3, FaSp) Foundations of b2b electronic marketplaces; automation of sell-side/buy-side e-commerce through XML programming and catalogue interfacing; implementation of b2b commerce between existing enterprise resource planning systems. Prerequisite: ITP 204x or ITP 450x; recommended preparation: ITP 320x.

ITP 454x Enterprise Resource Planning, Design, and Implementation (3, FaSp) An in-depth look at the process and requirements necessary to implement an Enterprise Resource Planning System (ERP). Students will set up a server system, implement an ERP system, then transfer and configure a database for a case company. Prerequisite: ITP 320x; corequisite: ACCT 454.

ITP 455Lx Enterprise Information Portals (3, Sp) Enterprise Information Portals for various case companies will be explored. Student will design, install, configure and administer core functionalities of a basic portal solution. Prerequisite: ITP 320x.

ITP 457x Network Security (4) Network policy and mechanism, firewalls, malicious code; intrusion detection, prevention, response; cryptographic protocols for privacy; risks of misuse, cost of prevention, and societal issues. Prerequisite: ITP 104x or ITP 260x.

ITP 460x Web Application Project (4, FaSp) Analysis, planning, creation and maintenance of a web application are undertaken, using principles and practices of system development methodology. Prerequisite: ITP 404x.

ITP 461x Artificial Intelligence in Video Games (1, FaSp) Concepts and programming techniques for building artificial intelligence into video games. Games AI topics include: finite state machines, pathfinding, A-Life and flocking, and genetics. Prerequisite: CSCI 102L; corequisite: CSCI 460.

ITP 477x Security and Computer Forensics (4, FaSp) Prevention, detection, apprehension, and prosecution of security violators and cyber criminals; techniques for tracking attackers accross the Internet and gaining forensic information from computer systems. Prerequisite: ITP 104 or ITP 265.

ITP 481x Video Game Graphics (1, FaSp) Practical approach to understanding the methods and programming techniques used in real-time graphics, data structures and algorithms in games, rendering techniques, and particle systems. Prerequisite: CSCI 102L; corequisite: CSCI 480.

ITP 484x Multiplayer Game Programming (4, FaSp) Designing, building, and programming a fully functional multiplayer game with online or network capabilities, a platform-independent network library and back-end database. Prerequisite: CSCI 102L or ITP 165x.

ITP 485 Programming Game Engines (4, FaSp) Techniques for building the core components of a game engine; 2-D/3-D graphics, collision detection, artificial intelligence algorithms, shading, programming input devices. Prerequisite: CSCI 102L, ITP 380.

ITP 486 Securing and Auditing Enterprise Resource Planning Systems (3, FaSp) Management and technical issues related to the security of ERP systems. Students will audit ERP systems and apply appropriate security controls. Prerequisite: ITP 320, ISE 382.

This new course is available beginning fall 2007.

ITP 487L Data Warehouses and Business Intelligence (2, FaSp) The rigorous process leading from data to decisions involves several IT disciplines. The theory and practice of Data warehouses and Business Intelligence. Prerequisite: ITP 320 or ISE 382; recommended preparation: IOM 428.

ITP 491x Level Design and Development for Video Games (4, FaSp) Theories and practices of defining, prototyping, testing, and refining a video game level, development of game level documents, and the tools for managing the development process. Prerequisite: ITP 391x.

ITP 499x Special Topics (2-4, max 8) Recent developments in computers and data processing.

ITP 555 Functionality of Enterprise Resource Planning Systems (1, FaSp) The functionality of Enterprise Resource Planning Systems (ERPs); the methods of implementation and the integration of information throughout an organization are discussed and analyzed. Concurrent enrollment: ACCT 555; recommended preparation: ACCT 547 or GSBA 530.