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 101a | Drawing | 4 |
FA 102 | Design Fundamentals | 4 |
CTAN 330 | Animation Fundamentals | 2 |
CTAN 451 | History of Animation | 2 |
CTAN 452 | Introduction to Computer Animation | 2 |
ITP 215x | 3-D Modeling, Animation, Compositing, and Special Effects | 2 |
ITP 414x* | Seminar and Portfolio Development | 3 |
traditional 3-D animation concentration (12 units) | units | |
---|---|---|
FA 106 | Sculpture I | 4 |
ITP 305x | Advanced 3-D Modeling, Animation, Compositing, and Special Effects | 3 |
ITP 315x | Applications for 3-D Special Effects and Character Animation | 2 |
ITP 360x | 3-D Industry Tools | 3 |
INteractive 3-D animation concentration (10-11 units) | units | |
---|---|---|
CTAN 450a | Animation Theory and Techniques | 2 |
ITP 211x | Multimedia Authoring | 2 |
ITP 330x | Interactive 3-D Environments | 3 |
Choose one | ||
FA 336 | Visual Arts and Technology | 4 |
ITP 411x | Interactive Multimedia Production | 3 |
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: 22Core courses (20 units) | ||
---|---|---|
CTIN 483 | Programming for Interactivity | 4 |
CTIN 488* | Game Design Workshop | 4 |
CTIN 489* | Intermediate Game Design Workshop | 4 |
ITP 280x | Video Game Production | 4 |
ITP 391x | Designing and Producing Video Games | 4 |
Elective courses (2-4 units - Choose one) | ||
---|---|---|
CTAN 432 | Introduction to Animation | 2 |
CTAN 452 | Introduction to Computer Animation | 2 |
CTIN 309 | Introduction to Interactive Media | 4 |
CTIN 482 | Designing Online Multiplayer Game Environments | 4 |
CTIN 491 | Advanced Game Design Workshop | 4 |
ITP 414x** | Advanced Project Development | 3 |
ITP 491x | Level Design and Development for Video Games | 4 |
**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: 27Core courses (19 units) | ||
---|---|---|
CSCI 101L | Fundamentals of Computer Programming | 3 |
CSCI 102L | Data Structures | 4 |
ITP 280 | Video Game Production | 4 |
ITP 380 | Video Game Programming | 4 |
ITP 485 | Programming Game Engines | 4 |
Elective courses (8 units - 4 units must be ITP) | ||
---|---|---|
CSCI 460 | Introduction to Artificial Intelligence | 3 |
CSCI 480 | Computer Graphics | 3 |
ITP 461* | Artificial Intelligence in Video Games | 1 |
ITP 481** | Video Game Graphics | 1 |
ITP 382 | Mobile Game Programming | 4 |
ITP 484 | Multiplayer Game Programming | 4 |
**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: 24required courses (18 units) | units | |
---|---|---|
CSCI 455x | Introduction to Programming Systems Design | 4 |
ITP 104x | Internet Publishing Technologies | 2 |
ITP 204x | Fundamentals of Web Development | 3 |
ITP 300x | Database Web Development | 3 |
ITP 404x | Intermediate Web | |
Development | 3 | |
ITP 411x | Interactive Multimedia Production | 3 |
Electives (two courses, choose one from each group) | units | |
---|---|---|
Group A | ||
ITP 109x | Introduction to Java Programming | 2 |
ITP 325x | Web Security | 3 |
ITP 420x | Structuring Data for the Web | 3 |
Group B | ||
ITP 450x | Designing eCommerce Applications | 4 |
ITP 460x | Web Application Project | 4 |
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.