USC
University of Southern California
black horizontal bar for print styles

Information Technology Program

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

Director: Anthony Borquez, M.S.

Instructors: Anthony Borquez, M.S.; Patrick Dent, M.S.; Bertran Harden, B.S.; Nitin Kale, M.S.; Tim Langdell, Ph.D.; George O. Petrovay, M.S.; Ashish Soni; Richard Vawter, M.S.; Justin Verduyn, B.S.; Richard Wainess, M.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.

Student should meet the regular admission standards and have a declared USC major. Students will complete an application for the minor with the School of Engineering. School of Engineering, School of Fine Arts and School of Cinema-Television 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 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

FA 101aDrawing4
FA 102Design Fundamentals4
CTAN 330Animation Fundamentals2
CTAN 451History of Animation2
CTAN 452Introduction to Computer Animation2
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 336Visual Arts and Technology4
ITP 411xInteractive Multimedia Production3

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 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 one elective)
Minimum units: 22

Core courses (20 units)
CTIN 483Programming for Interactivity4
CTIN 488*Game Design Workshop4
CTIN 489*Intermediate Game Design Workshop4
ITP 280xVideo Game Production4
ITP 391xDesigning and Producing Video Games4

Elective courses (2-4 units - Choose one)
CTAN 432Introduction to Animation2
CTAN 452Introduction to Computer Animation2
CTIN 309Introduction to Interactive Media4
CTIN 482Designing Online Multiplayer Game Environments4
CTIN 491Advanced Game Design Workshop4
ITP 414x**Advanced Project Development3
ITP 491xLevel Design and Development for Video Games4

*Prerequisite is CTIN 483

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

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 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 461*Artificial Intelligence in Video Games1
ITP 481**Video Game Graphics1
ITP 382Mobile Game Programming4
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 and multimedia. Electives are available depending on the students' academic and professional goals.

Students should meet the regular admissions standards and have a declared USC major. Students will complete an application for the minor with the School of Engineering. Engineering students must get departmental approval to participate in this minor. To be approved for this minor, students must have: completed a minimum of 32 units of college-level courses, attained a minimum GPA of 2.75, and achieved basic computer literacy.

Requirements for Completion
Minimum units: 24

required courses (18 units)units
CSCI 455xIntroduction to Programming Systems Design4
ITP 104xInternet Publishing Technologies2
ITP 204xFundamentals of Web Development3
ITP 300xDatabase Web Development3
ITP 404xIntermediate Web
Development3
ITP 411xInteractive Multimedia Production3

Electives (two courses, choose one from each group)units
Group A
ITP 109xIntroduction to Java Programming2
ITP 325xWeb Security3
ITP 420xStructuring Data for the Web3

Group B
ITP 450xDesigning eCommerce Applications4
ITP 460xWeb Application Project4

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.

010x Supporting Microsoft Windows 95 (2, FaSpSm) Installing, configuring, customizing, optimizing, administrating, and troubleshooting Windows 95. Networking issues such as integrating and messaging. Prerequisite: extensive experience with Windows version 3.x. Not available for degree credit. Graded CR/NC.

011x Supporting Microsoft Windows NT (2, FaSpSm) Configuring, customizing, optimizing, integrating, and troubleshooting Microsoft Windows NT operating system. Interoperating with IPX and TCP/IP. Not available for degree credit. Graded CR/NC. Prerequisite: extensive knowledge of Windows and network concepts.

012x Supporting Microsoft Windows NT Server (2, FaSpSm) Installing, configuring, and supporting the Microsoft Windows NT Server operating system in local and wide area network (WAN) environments. Not available for degree credit. Graded CR/NC. Prerequisite: ITP 011x.

013x Windows Architecture for Developers (2, FaSpSm) Architecture and services of the Microsoft Windows operating systems. Development of solutions for current Windows platforms. Graded CR/NC. Not available for degree credit.

014x Supporting Microsoft Internet Information Server (1) Overview of installing, configuring, and supporting Internet Information Server. Support for FTP, Gopher, WWW, and WAIS. Implementing and planning a complete internet site. Graded CR/NC.

015x System Administration for Microsoft SQL Server (2) Installing, configuring, administering, and troubleshooting Microsoft SQL Server. Hands-on laboratories managing user accounts, login security, database permissions, and backing up and restoring a database. Graded CR/NC.

016x Networking Essentials (1, FaSpSm) Basic concepts of local area networks, WANs, data communications, and connectivity. Network protocols, media types, network architecture, topologies, cabling, and transmission. Not available for degree credit. Graded CR/NC.

017x Internetworking Microsoft TCP/IP (2, FaSpSm) Setting up, configuring, using, and supporting Transmission Control Protocol/Internet Protocol (TCP/IP) in the Windows environment. Not available for degree credit. Prerequisite: ITP 011x.

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.

022x Word Processing Using Microsoft Word (1) Overview of word processing and basic microcomputer operations using Microsoft Word. Basic document creation, editing, formatting, and printing. Spell-checking, document merging, searching, and replacing. Not available for degree credit. Graded CR/NC.

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.

042x Introduction to Microsoft Windows (1) Practical knowledge and insight into Windows and software using character and graphical based applications and multitasking. Installation, configuration, and optimization. Not available for degree credit. Graded CR/NC.

043x The Internet (2, FaSp) Overview of the Internet, effective searching techniques, connection protocols; use of email, newsgroup, real-time chat, World Wide Web. Internet security and server issues. Not available for degree credit. Graded CR/NC.

046x Introduction to Web Publishing (1, FaSp) Overview of HTML and CGI Script languages to publish static and interactive homepages on the World Wide Web using browsers and appropriate tools. Not available for degree credit. Graded CR/NC.

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.

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.

068x 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. Not available for degree credit. Graded CR/NC. Recommended preparation: MATH 118x or MATH 125.

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.

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.

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.

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.

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.

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

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.

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.

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.

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.

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.

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

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.

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 .

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.

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.

215x 3-D Modeling, Animation, Compositing and Special Effects (2, FaSpSm) Overview of developing a 3D 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 2D paint, drawing or CAD program.

220x Video Editing and Effects for Multimedia, the Web, and Broadcast (2, FaSpSm) Techniques for digital, non-linear video editing and compositing. Special video effects, rendering and compression for multimedia, the Web, and Broadcast. Recommended preparation: general PC-based computer proficiency.

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.

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.

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

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.

280x 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.

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.

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.

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.

315x Applications for 3D Special Effects and Character Animation (2) This advanced 3D 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.

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.

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.

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.

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.

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.

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

380x 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.

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.

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 280x.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

485x 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 or ITP 165x.

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.

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

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.