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.; Joseph Greenfield, M.S.; Trina Gregory, B.A.; Nitin Kale, M.S.; Tom Sloper, B.A.; Richard Vawter, 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 3D animation minor is a cross-disciplinary program merging theoretical concepts and state of the art techniques to prepare students to apply 3D animation across a wide range of industry applications. The courses integrate three major disciplines – cinema, fine arts and information technology.

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.

For specific information on admission and application procedures, contact the Information Technology Program at (213) 740-4542.

Requirements for completion (five core courses plus minimum 9 units of electives )
Minimum units: 22

Core courses (13 units)Units
CTAN 330Animation Fundamentals2
CTAN 451History of Animation2
FA 101aDrawing4
ITP 215Lx3D Modeling, Animation, and Special Effects2
ITP 414xSeminar and 3D Portfolio Development3

Elective courses (9 units)Units
ITP 305xAdvanced 3D Modeling, Animation, and Special Effects3
ITP 315x3D Character Animation3
ITP 360x3D Compositing and Visual Effects3
ITP 470xInformation Technology Practicum 3-4
CTAN 452Introduction to 3-D Computer Animation2

Minor in Applied Computer Security

The minor in applied computer security combines both theoretical concepts and technical skills to prepare students for a career in information security while incorporating their major field of work. Students will study various areas of computer security, including hacking, ethics, forensics, networking and security management. 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 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 (five core courses plus one elective)
Minimum units: 18

REQUIRED COURSES (14 UNITS)Units
ITP 125LxFrom Hackers to CEOs: Introduction to Information Security2
ITP 325xEthical Hacking and Systems Defense3
ITP 357xEnterprise Network Design3
ITP 370xInformation Security Management3
ITP 375xDigital Forensics3

ELECTIVES (4 units)Units
ITP 425xWeb Application Security4
ITP 457Network Security4
ITP 475xAdvanced Digital Forensics4

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 483Introduction to Game Development4
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 is designed to help students incorporate the Web in their major field of study by combining theoretical concepts and practical applications of Web technologies. Upon completion of the minor, students will be able to design, develop and apply major Web technologies and advancements. The broad areas of study will be publishing, programming, databases, and multimedia. An elective will be chosen depending on the students’ academic and professional goals.

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

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

Core courses (15 units)Units
ITP 104xInternet Publishing Technologies2
ITP 300xDatabase Web Development3
ITP 301LxInteractive Web Development4
ITP 310xDesign for User Experience2
ITP 460xWeb Application Project4

Electives (one course)Units
ITP 404xDeveloping Web Services and Application Programming Interfaces3
ITP 411xInteractive Multimedia Production3
ITP 470xInformation Technology Practicum3
CSCI 455xIntroduction to Programming Systems Design4

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 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) 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) 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, FaSp) 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) 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, FaSpSm) 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 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 125Lx From Hackers to CEOs: Introduction to Information Security (2, FaSp) Introductory course in computer security. Fundamentals of information security management. Threats to information integrity. Ethical hacking concerns and practice. Policies and Procedures. Not available for major credit in Engineering.

ITP 150x Introduction to Visual BASIC (2) 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) 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, FaSp) 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 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) 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, FaSp) 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, FaSp) 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, FaSp) 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 215Lx 3D Modeling, Animation, and Special Effects (2, FaSp) Developing a 3D animation from modeling to rendering: Basics of surfacing, lighting, animation and modeling techniques. Advanced topics: compositing, particle systems, and character animation. Not available for major credit in engineering. Recommended preparation: knowledge of any 2D paint, drawing or CAD program.

ITP 216x Web Animation and Interactivity (2, FaSp) 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, FaSp) 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 280 Video Game Production (4, FaSp) 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 301Lx Interactive Web Development (4, FaSp) Design, programming techniques for creating interactive, dynamic Web pages. Web development technologies and techniques include scripting fundamentals, Javascript, dynamic HTML, Actionscript, and Flash. Not available for major credit in Engineering. Prerequisite: ITP 104x.

ITP 304L Technologies for Building Online Political Campaigns (4, 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 3D Modeling, Animation, and Special Effects (3, Sp) Advanced modeling, surfacing, and animation techniques as well as dynamics, scripting, and other advanced 3D automation procedures. Not available for major credit in engineering. Prerequisite: ARCH 207a or ITP 215Lx.

ITP 309x Developing Enterprise Applications Using Java (3) 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 310Lx Design for User Experience (2, FaSp) Concepts, techniques, practices, workflows and tools for design from the perspective of user experience. Not available for major credit in Engineering. Prerequisite: ITP 104x.

ITP 315x 3D Character Animation (3) Advanced exploration of the process of bringing 3D characters to life from concept to model, and through production to finished performance. Not available for major credit in electrical engineering. Prerequisite: ITP 215Lx.

ITP 320Lx Enterprise Wide Information Systems (2, FaSpSm) The role Information Systems play in an organization. Integration of Business Processes by using Enterprise Resource Planning Systems (ERP). Not available for major credit in engineering.

ITP 321x Programming Enterprise Wide Information Systems (2, FaSp) 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 320Lx.

ITP 325x Ethical Hacking and Systems Defense (3, FaSp) Hacking from a defense perspective. Hacker ethics and laws. Penetration testing. Vulnerability assessment. Securing workstations, servers, and networks. Not available for major credit in Engineering. Prerequisite: ITP 125Lx.

ITP 330x Interactive 3-D Environments (3, FaSp) 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) Create art and modeling for video games. Model, texture, light, and animate a sequence to be used in a video game engine. Prerequisite: ITP 215Lx.

ITP 357x Enterprise Network Design (3, Sp) Network technologies. Strategies for managing thousands of systems. Routers and managed switches. Integrated operating systems (IOS). Windows and Linux networking. Subnets. Not available for major credit in Engineering. Prerequisite: ITP 125Lx.

ITP 360x 3D Compositing and Visual Effects (3, Fa) Advanced techniques for 3D animation and visual effects development including 3D pre-visualization, match moving, dynamics, multi-pass rendering, and digital compositing. Not available for major credit in engineering. Prerequisite: ITP 215Lx.

ITP 370x Information Security Management (3, Sp) Management techniques for security projects. Security team management. Laws and regulations for information security. Disaster recovery. Security Audits. Not available for major credit in Engineering. Prerequisite: ITP 125Lx.

ITP 375x Digital Forensics (3, Fa) Forensic science techniques. Digital evidence preservation and presentation. Processes and methodologies for digital analysis. Not available for major credit in Engineering. Prerequisite: ITP 125Lx.

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

ITP 380 Video Game Programming (4, FaSp) 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 385x IT Consulting and Professional Services (3, FaSp) Information Technology (IT) Consulting life cycle. Client relationships. Problem evaluation, solution development and implementation. Systems analysis and evaluation. Third party consulting. Not available for major credit in engineering. Prerequisite: ITP 101 or ITP 125.

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 Developing Web Services and Application Programming Interfaces (3, Sp) Programming and scripting necessary to use and develop Web services and Application Programming Interface (APIs). Not available for major credit in Engineering. Prerequisite: ITP 301Lx.

ITP 411x Interactive Multimedia Production (3, FaSp) 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 414x Seminar and 3D Portfolio Development (3, Sp) Advanced processes for developing 3D animation, showcasing skill sets, and qualifications for positions within the 3D animation industries; including demo reel, media, and website creation. Not available for major credit in engineering. Prerequisite: ITP 215Lx and ITP 305x or ITP 315x or ITP 360x.

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 422L Configuring Enterprise Resource Planning Systems (3, FaSp) Business process integration is the core advantage of using ERP systems. Analyze, configure, and test business processes for a company from the ground up. (Duplicates credit in former ITP 322.) Prerequisite: ITP 320Lx or ISE 583.

ITP 425x Web Application Security (4, Sp) Web application security techniques. eCommerce vulnerabilities. Online fraud. Solutions to spam and identity theft. Not available for major credit in Engineering. Prerequisite: CSCI 351 or ITP 301Lx or ITP 325x.

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

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) 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 320Lx.

ITP 457 Network Security (4, Fa) 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 357x.

ITP 460x Web Application Project (4) Skills to plan, analyze, build, and launch professional Web sites for real clients. Includes project management, documentation, technology assessment, security, user interface and quality assurance. Not available for major credit in Engineering. Lecture: 3 hours; Lab: 3 hours. Prerequisite: ITP 301Lx.

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 470x Information Technology Practicum (1-4, max 8, FaSpSm) Independent technology project related to specific topics under the direction of a faculty member. Not available for graduate credit in engineering. Recommended preparation: appropriate 300-level course work to topic of study.

ITP 475x Advanced Digital Forensics (4, Sp) Advanced forensic techniques. Live image analysis. Network level forensic investigation. Server forensic techniques. Deposition and trial. Not available for major credit in Engineering. Prerequisite: ITP 375x.

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 482L Engineering Database Applications (3) Planning and implementation of engineering information systems that interface with a large database. Emphasis is placed on web-based data entry and retrieval. Prerequisite: ISE 382 or IOM 435.

ITP 484x Multiplayer Game Programming (4) 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 320Lx, ISE 382.

ITP 487Lx Data Warehouses and Business Intelligence (3) Rigorous modeling process leading from data to decisions. Explores theory and practice of Data Warehouses. Deriving Business Intelligence for strategic enterprise management. Not available for major credit in engineering. Prerequisite: ITP 320Lx or ISE 382 or ISE 583.

ITP 488x Managing Supply Chains with Advanced Planning and Optimization (3) Drivers and obstacles to the process of coordinating the flow of material/information along the logistics chain. Optimize the supply network, from raw materials to sales. Not available for major credit in engineering. Prerequisite: ISE 583 or ITP 320Lx.

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.