Viterbi School of Engineering
Information Technology Program
Director: Michael Crowley, Ph.D.
Instructors: Patrick Dent, M.S.; Joseph Greenfield, M.S.; Trina Gregory, B.A.; Nitin Kale, M.S.; Sanjay Madhav, B.S.; Tom Sloper, B.A.; Chi So, M.S.; Ashish Soni, M.S.; Richard Vawter, M.S.; Lance Winkel, MFA
Adviser: Lisa Mataczynski, Ed.D.
ITP courses are open to all USC students.
ITP minors are open to undergraduate students in all majors.
To apply for a 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.
Applied Computer Security
Computer and Digital Forensics
Enterprise Information Systems
Innovation: The Digital Entrepreneur
Video Game Design and Management
Video Game Programming
Web Technologies and Applications
Viterbi School of Engineering Students
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 — cinematic arts, fine arts and information technology.
Requirements for completion (five core courses plus minimum 9 units of electives)
Minimum units: 22
|Core courses (13 units)||Units|
|CTAN 330||Animation Fundamentals||2|
|CTAN 451||History of Animation||2|
|FADW 101||Introduction to Drawing||4|
|ITP 215Lx||3D Modeling, Animation, and Special Effects||2|
|ITP 414x||Seminar and 3D Portfolio Development||3|
|Elective courses (9 units)||Units|
|ITP 305x||Advanced 3D Modeling, Animation, and Special Effects||3|
|ITP 315x||3D Character Animation||3|
|ITP 360x||3D Compositing and Visual Effects||3|
|ITP 470x||Information Technology Practicum||3-4|
|CTAN 452||Introduction to 3-D Computer Animation||2|
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.
Requirements for completion (five core courses plus one elective)
Minimum units: 18
|REQUIRED COURSES (14 UNITS)||Units|
|ITP 125Lx||From Hackers to CEOs: Introduction to Information Security||2|
|ITP 325x||Ethical Hacking and Systems Defense||3|
|ITP 357x||Enterprise Network Design||3|
|ITP 370x||Information Security Management||3|
|ITP 375x||Digital Forensics||3|
|ELECTIVE (4 units)||Units|
|ITP 425x||Web Application Security||4|
|ITP 457||Network Security||4|
|ITP 475x||Advanced Digital Forensics||4|
Minor in Computer and Digital Forensics
The computer and digital forensics minor combines both theoretical concepts and practical skills to prepare students for a career as a digital forensics investigator. Students will study various areas of cyber-forensics, including forensic methodologies and processes, digital evidence-gathering and preservation, investigations and examinations, and court presentation. Electives are available depending on the students’ academic and professional goals.
Requirements for completion (three core courses plus minimum 12 units of electives)
Minimum units: 21
|REQUIRED COURSES (three COURSES, 9 UNITS)||Units|
|ITP 125Lx||From Hackers to CEOs: Introduction to Information Security||2|
|ITP 375x*||Digital Forensics||3|
|ITP 475x*||Advanced Digital Forensics||4|
|LAW AND POLICY ELECTIVE (CHOOSE one, 3–4 UNITS)||Units|
|LAW 200||Law and Society||4|
|CE 404||Business and Intellectual Property Law for Engineers||3|
|PPD 342||Crime and Public Policy||4|
|SOCI 353||Public Policy and Criminal Justice||4|
|FORENSIC ELECTIVEs (CHOOSE two, 6 UNITS)||Units|
|ITP 445*||Macintosh, OSX and iOS Forensics||3|
|ITP 446*||Enterprise and Network Forensics||3|
|ITP 447*||Mobile Device Security and Forensics||3|
|ITP 448*||Electronic Discovery||3|
|ELECTIVE COURSE (CHOOSE one, 3–4 UNITS)||Units|
|CSCI 485*||File and Database Management||3|
|IR 304||Espionage and Intelligence||4|
|IR 381||Introduction to International Security||4|
|ISE 382*||Database Systems: Concepts, Design and Implementation||3|
|ITP 320x||Enterprise Wide Information Systems||4|
|PSYC 463*||Criminal Behavior||4|
|PSYC 465*||Introduction to Forensic Psychology||4|
Minor in Enterprise Information Systems
The 21st century has seen tremendous growth in global enterprises, which has required robust and integrated information systems to support streamlined business processes. These Enterprise Information Systems, also known as Enterprise Resource Planning (ERP) systems, have continued to mature and dominate the information systems of corporations. Most Fortune 500 companies have adopted ERP systems. This minor combines business process management and information technology to prepare students for technical careers as well as business consulting in the ERP domain. Students will study various areas of ERP implementation, configuration, business intelligence, security and supply chain management. Electives are available depending on the students’ academic and professional goals.
Requirements for completion (three core courses plus minimum 7 units of electives)
Minimum units: 16
|REQUIRED COURSES (10 units)||Units|
|ITP 320x||Enterprise Wide Information Systems||4|
|ITP 422||Configuring Enterprise Resource Planning Systems||3|
|ITP 454x||Enterprise Resource Planning, Design, and Implementation||3|
|ELECTIVES (choose minimum 6 units of which minimum 3 units should have ITP prefix)||units|
|ACCT 371a||Introduction to Accounting Systems||2|
|ACCT 371b||Introduction to Accounting Systems||2|
|ACCT 410x||Foundations of Accounting||4|
|ACCT 478||Accounting Systems Design||4|
|ACCT 479||Accounting Systems Development||4|
|BUAD 311||Operations Management||4|
|IOM 431||Managing the Digital Revolution for Your Business||4|
|IOM 433||Business Information Systems Analysis and Design||4|
|IOM 435||Business Database Systems||4|
|ISE 382||Database Systems: Concepts, Design and Implementation||3|
|ITP 421x||Advanced Programming for Enterprise Information Systems||3|
|ITP 455Lx||Enterprise Information Portals||3|
|ITP 470x||Information Technology Practicum||1-4, max 8|
|ITP 486||Securing and Auditing Enterprise Resource Planning Systems||3|
|ITP 487||Data Warehouses and Business Intelligence||3|
|ITP 488x||Managing Supply Chains with Advanced Planning and Optimization||3|
|PPD 318||Financial Accounting in Public and Nonprofit Organizations||4|
Minor in Innovation: The Digital Entrepreneur
The Minor in Innovation: The Digital Entrepreneur is jointly sponsored by the Information Technology Program in the Viterbi School of Engineering and the Lloyd Greif Center for Entrepreneurial Studies in the USC Marshall School of Business. The minor is designed for students from a range of backgrounds who are interested in starting their own digital ventures, working for start-up companies, or pursuing traditional jobs with large corporations and consulting firms that may involve launching new digital business units. Students will learn all major elements of launching a digital venture including ideation, feasibility analysis, high-tech product management, online customer acquisition, technology implementation, online business models and monetization. Students will work on launching a digital venture in a team-based environment in the capstone class.
The Information Technology Program in the Viterbi School of Engineering handles advising and admissions relating to the minor, consulting as needed with the Grief Center for Entrepreneurial Studies in the Marshall School of Business.
Requirements for completion (six core courses plus minimum 6 units of electives)
Minimum units: 26
|Required courses (20 units)||units|
|BAEP 451||The Management of New Enterprises||4|
|BAEP 452*||Feasibility Analysis||4|
|ITP 466x||Building the High-Tech Startup||4|
|ITP 476x||Technologies for Interactive Marketing||4|
|ITP 496x*+||The Digital Startup Launchpad Lab||2|
|(capstone course; Corequisite: BAEP 496)|
|BAEP 496*+||The Digital Startup Launchpad||2|
|Elective courses (6 units)||units|
|BAEP 423||Management of Small Businesses||4|
|BAEP 460||Seminar in Entrepreneurship||2|
|BUAD 304||Leading Organizations||4|
|BUAD 307||Marketing Fundamentals||4|
|IOM 462||Managing a Small Business on the Internet||2|
|ITP 310Lx*||Design for User Experience||2|
|MKT 425*||Direct Response and Internet Marketing||4|
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.
Requirements for completion (seven core courses)
Minimum units: 24
|Required courses (24 units)||units|
|CTIN 483||Introduction to Game Development||4|
|CTIN 484L*||Intermediate Game Development||2|
|CTIN 488||Game Design Workshop||4|
|CTIN 489*||Intermediate Game Design Workshop||2|
|ITP 280||Video Game Production||4|
|ITP 391x||Designing and Producing Video Games||4|
|ITP 491x||Level Design and Development for Video Games||4|
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.
This minor features an optional capstone that is a team-based, year-long game development project. Students are only eligible for the capstone after having completed all the required courses as well as the required three ITP elective units. The capstone must be taken in both the fall and spring semesters of a single academic year.
Requirements for completion (four core courses plus 6 units of electives)
Minimum units: 19
|Core courses (13 units)||units|
|ITP 165x*||Introduction to C++ Programming||2|
|ITP 365x*||Managing Game Data||3|
|ITP 380||Video Game Programming||4|
|ITP 485||Programming Game Engines||4|
|Elective courses (6 units — 3 units must be ITP)||units|
|ITP 382x||Mobile Game Programming||3|
|ITP 435x||Professional C++||3|
|ITP 438x||Graphics Shader Programming||3|
|ITP 484x||Multiplayer Game Programming||3|
|CSCI 491abL**||Final Game Project||4-2|
Minor in Web Technologies and Applications
The Web technologies and application minor is designed to introduce students to the Web publishing and development fields. Upon completion of the minor, students will be able to design and develop Websites using major Web technologies, standards and applications. Students can use the theoretical concepts and practical applications of Web technologies not only in the Web industry, but also within a different major field of study. The broad areas of study include Web publishing, Web programming, databases and multimedia. Electives will be chosen based on the students’ academic and professional goals.
Students should meet the regular admissions standards and have a declared USC major.
Requirements for completion (four core courses plus two electives)
Minimum units: 18
|Core courses (13 units)||Units|
|ITP 104x||Web Publishing||2|
|ITP 300x||Database Web Development||3|
|ITP 301Lx||Interactive Web Development||4|
|ITP 460x||Web Application Project||4|
|Elective (two courses)||Units|
|ITP 310x||Design for User Experience||2|
|ITP 404x||Modern Technologies of Web Development||3|
|ITP 411x||Multimedia and Video Production||3|
|ITP 425x||Web Application Security||4|
|ITP 470x||Information Technology Practicum||3|
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.
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.
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 101x Introduction to Information Technology (4, FaSp) 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 104Lx Web Publishing (2) Web publishing using HTML, CSS and other Web technologies. Concepts and theory of Web site creation, page layout and production. Introduction to advanced topics. Not available for major credit in electrical engineering or computer science.
ITP 109x Introduction to Java Programming (2, FaSp) Introduction to object-oriented software design for business problems. Creation of console applications, windowed applications, and interactive Web applets. Not available for major credit in electrical engineering or computer science.
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 115 Programming in Python (3, FaSp) Learn how to program using Python. With its high level data structures and clear syntax, Python is an ideal first 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 140 Mobile Application Technologies (2, FaSp) Technologies, devices, operating systems, and tools of mobile applications, as well as the mobile industry. Students will use tools to create apps for different mobile devices.
ITP 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) 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. Recommended preparation: MATH 118x or MATH 125.
ITP 204x Fundamentals of Web Development (4) 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) 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) 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) 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 3-D Modeling, Animation, and Special Effects (2, FaSp) 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. 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) 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. Not available for major credit in electrical engineering.
ITP 260x Internet Technologies (4) 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, Fa) Fundamental theory and technologies for creating dynamic, database-driven Websites: Structured Query Language. Prerequisite: ITP 104x; Recommended Preparation: ITP 204x.
ITP 302x Advanced Web Publishing (2) Advanced topics in Web Publishing including HTML5, CSS3, and jQuery. Concept and theory of responsive design. Miscellaneous Webmaster topics including analytics, podcasting and search engine optimization. Prerequisite: ITP 104x.
ITP 304L Technologies for Building Online Political Campaigns (4) 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, Fa) 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 320x Enterprise Wide Information Systems (4, FaSp) The role Information Systems play in an organization. Integration of Business Processes by using Enterprise Resource Planning Systems (ERP).
ITP 321x Programming Enterprise Wide Information Systems (2) 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) 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 340x Mobile App Design (3) Fundamental concepts, techniques, practices, workflows, and tools associated with the practice of user experience design for mobile apps. Prerequisite: ITP 140.
ITP 342L Mobile Application Development (3) Develop applications for mobile devices such as iPhones and iPads (iOS) and other smart phones (Android). Build a mobile application from start to finish. Prerequisite: ITP 140.
ITP 344x Advanced Topics in Mobile App Development (3) Advanced topics in mobile app development such as using REST services, security, cloud integration, NFC (near field communication), wireless networking for mobile apps, monetizing apps, and the latest frameworks to create advanced apps. Prerequisite: ITP 342L.
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) 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) 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 365x Managing Game Data (3) Overview of basic data structures and algorithms commonly used in games including linked lists, stacks, queues, binary trees, hash tables, and graphs. Prerequisite: ITP 165x.
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) 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 104L or ITP 365x.
ITP 382x Mobile Game Programming (3) Concepts and techniques required to develop games for smartphones and tablets. Topics include sprites, collision detection, mobile input, artificial intelligence, and augmented reality games. Prerequisite: CSCI 104L or ITP 365x.
ITP 383 Database Systems: Concepts, Design and Implementation (3, Sp) (Enroll in ISE 382)
ITP 385x IT Consulting and Professional Services (3) 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) 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 Modern Technologies of Web Development (3, Fa) Provide students with the necessary skills to build web applications using modern techniques, frameworks, libraries, and tools that are used among developers within the industry. Prerequisite: ITP 301Lx or CSCI 351.
ITP 411x Multimedia and Video Production (3, FaSp) Visual communication and storytelling are essential skills, especially in the digital age. Overview of techniques and software to create, edit, and deliver compelling images and video. Not available for major credit in Engineering.
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 415x 3-D Design and Prototyping (2) Explore the range of 3-D printing and prototyping technologies, and their application in modern industrial, design, and creative fields.
ITP 420x Structuring Data for the Web (3) Building web applications focused on content in web documents; develop XML document using DTD, DOM, XSL; facilitate data interchange between Websites. Prerequisite: ITP 300x.
ITP 421x Advanced Programming for Enterprise Information Systems (3) Object Oriented Programming for Enterprise information systems. Working with classes, objects, database tables, SQL. Designing reports and Graphical user interfaces. Leveraging service oriented architecture. Not available for credit for engineering majors. Prerequisite: ITP 320x; recommended preparation: object oriented programming.
ITP 422L Configuring Enterprise Resource Planning Systems (3) 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) 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 435x Professional C++ (3, Sp) Applications of advanced concepts in C++ including lambda expressions, template metaprogramming, secure coding, parallel programming techniques, and the boost library. Prerequisite: CSCI 104L or ITP 365x.
ITP 438x Graphics Shader Programming (3, Fa) Implementation of advanced graphical effects with shaders in a production environment. Topics include math for shaders, lighting, mapping techniques, procedural generation, and global illumination. Prerequisite: ITP 165x.
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 442x Mobile App Project (4) Capstone course for Mobile App Development minor. Work in project teams to develop new mobile app from start to finish. Meet with client, create app design, develop, test, and demonstrate app to client. Prerequisite: ITP 140.
ITP 444 Social Game Development Workshop (2) Hands-on development of video games for social media; realities of the social games market; development tools and processes. Prerequisite: ITP 101.
ITP 445 Macintosh, OSX, and iOS Forensics (3) Digital forensics. Digital evidence. Apple. Mac. Macintosh. OSX. iOS. iPhone. iPad. Prerequisite: ITP 375x.
ITP 446 Enterprise and Network Forensics (3, Fa) Enterprise server analysis. Network device forensic analysis. SQL server. Microsoft servers. Linux servers. Exchange servers. LAMP servers. Prerequisite: ITP 375x; recommended preparation: ITP 357x.
ITP 447 Mobile Device Security and Forensics (3, Sp) Mobile device security. Mobile device forensics. Android. Blackberry. Windows phone. Symbian. Prerequisite: ITP 375x.
ITP 448 Electronic Discovery (3, Sp) Electronic Discovery. eDiscovery. Electronically stored information. Civil litigation and discovery. Electronic evidence. Prerequisite: ITP 375x and LAW 200.
ITP 454x Enterprise Resource Planning, Design, and Implementation (3) Process and requirements to implement an Enterprise Resource Planning System (ERP). Set up server, implement ERP system, then transfer and configure database for case company. Not for major credit for Electrical Engineering students. Prerequisite: ITP 320x.
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) 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, Sp) Skills to plan, analyze, build, and launch professional Web sites with actual clients. Includes project management, documentation, technology assessment, security, UI, Q/A, and various methodologies. Recommended preparation: One 300-level Web minor course.
ITP 466 Building the High Tech Startup (4) Teach students the basic technologies and processes involved in building web and mobile startups. Students will be introduced to the different aspects of building a web startup including online business models, Product management, Agile development processes, technology platforms and operations, customer development and online marketing.
ITP 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 476 Technologies for Interactive Marketing (4) Designed to introduce students to technologies, concepts and strategies in the emerging online advertising ecosystem. Through lectures, discussions, and projects, students learn strategies and tactics to drive traffic to a website. They learn how to analyze and measure the efficacy of their plans. Lastly, they will work with a real client and with a real budget to craft and execute an online marketing plan.
ITP 480x Information Technology Internship (1-4, max 8) Practical experience in applying information technology skills in real-world settings. Supervised internship at companies and start-ups. Balancing academic rigor with corporate challenges and deadlines. Not available for graduate credit. Graded CR/NC. Recommended preparation: knowledge of chosen function area.
ITP 482 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: CSCI 101 or IOM 435 or ISE 382.
ITP 484x Multiplayer Game Programming (3) Techniques for developing networked multiplayer games. Topics include Internet protocols, network topology, data streams, object sharing, client prediction, latency, and back-end databases. Prerequisite: ITP 380.
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: ITP 380.
ITP 486 Securing and Auditing Enterprise Resource Planning Systems (3) Management and technical issues related to the security of ERP systems. Students will audit ERP systems and apply appropriate security controls. Prerequisite: ITP 320x.
ITP 487 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. Prerequisite: ITP 320x.
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 except toward undergraduate and graduate programs offered by the Epstein Department of Industrial and Systems Engineering. Prerequisite: ITP 320x.
ITP 491x Level Design and Development for Video Games (4) 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. Not for major credit for computer science and electrical engineering students. Prerequisite: ITP 280.
ITP 496 The Startup Launchpad Lab (2) A real world, hands-on learning experience on what it’s like to actually start a high-tech company. Students will work in teams to design, prototype and implement version 1.0 of a high tech web or mobile startup. Prerequisite: BAEP 451, BAEP 452, ITP 466 and ITP 476; corequisite: BAEP 496.
ITP 499x Special Topics (2-4, max 8) Recent developments in computers and data processing.
ITP 555 Functionality of Enterprise Resource Planning Systems (1) 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.