Courses

In TAC classes, you can learn to use advanced software, create websites, perform data analysis, write computer programs, and investigate cybercrime.

You’ll get practical, hands-on experience. No matter what your major is, you can learn how to use the latest tools, programming languages, and applications. You’ll also gain critical insight into technology’s increasing impact on our world.

Browse our course descriptions for insight into the skills you’ll gain in each course.

Registration Help

For any questions about registration, please review our Frequently Asked Questions or contact our academic advisers.

Introductory Courses

All students are welcome to register for TAC classes, and our introductory courses do not require a background in technology or engineering.

TAC-404

Advanced Front-End Web Development

Build complex web applications using advanced JavaScript techniques, including asynchronous programming, promises, and classes. You’ll learn to use industry-standard frameworks like Ember.js and libraries like the Google Maps JavaScript API. You’ll practice developing web applications that include advanced features like automated testing, user authentication, and real-time chat. (4 units)

  • Prerequisite: TAC-301L, TAC-303, or ACAD-275
  • Formerly Known As/Duplicate Credit: ITP 404 Advanced Front-End Web Development
TAC-405

Advanced Back-End Web Development

Build complex web applications that use advanced server-side processes, including SQL databases, PHP functions, and Node.js. You’ll learn how to use the Model-View-Controller (MVC) design pattern and software frameworks based on MVC. You'll practice developing web applications that include advanced features like database-driven content, forms, and user authentication with third-party providers. (4 units)

  • Prerequisite: TAC-303, TAC-304, or ACAD-276
  • Formerly Known As/Duplicate Credit: ITP 405 Advanced Back-End Web Development
TAC-419

Advanced Cloud Analytics

This course provides students with a deep understanding of the tasks, tools, and strategies used in Data Engineering and Machine Learning. Students will gain hands-on experience in collecting, storing, preparing, analyzing, and visualizing data for analytics and ML applications. (4 units)

  • Prerequisite: TAC-349
  • Formerly Known As/Duplicate Credit: ITP 419 Advanced Cloud Analytics
TAC-422

Configuring Enterprise Resource Planning Systems

Learn how to set up features to integrate business processes into an enterprise resource planning system (ERP). You’ll work through determining organizational structures, rules, master data, and functionality for core business processes — including financial accounting, sales and distribution, materials management, and production planning. You’ll also practice reconfiguring ERP system processes as business needs evolve, testing and debugging systems, and documenting functionality. (4 units)

  • Prerequisite: TAC-320
  • Formerly Known As/Duplicate Credit: ITP 422 Configuring Enterprise Resource Planning Systems
TAC-425

Web Application Security

Incidence of identity theft, credit card theft, and fraud has increased as more financial transactions take place on the web. Learn how to secure web servers, webpages, and web applications and protect confidential information. You’ll practice by redesigning a web application to make it as secure as possible, building a new e-commerce website, and performing vulnerability testing on web applications and servers. (4 units)

  • Prerequisite: TAC-301, TAC-325, or ACAD-275
  • Formerly Known As/Duplicate Credit: ITP 425 Web Application Security
TAC-429

Introduction to Driverless Vehicles

Learn about the hardware and software technologies involved in driverless vehicles. Explore data fusion with multiple sensors, video cameras, and other embedded hardware to facilitate collision avoidance and routing. Implement driverless operation of a scale-model vehicle to accomplish a set of tasks. (4 units)

  • Prerequisite: TAC-115 or TAC-116
  • Formerly Known As/Duplicate Credit: ITP 429 Introduction to Driverless Vehicles
TAC-435

Professional C++

Learn how to write high-quality C++ programs for real-world applications where C++ sees significant use — including data compression, bioinformatics, REST servers, and compiler development. You'll practice using advanced programming concepts, optimizing performance, applying new programming paradigms, and using new C++ language features. (4 units)

  • Prerequisite: TAC-365 or CSCI-104L
  • Formerly Known As/Duplicate Credit: ITP 435 Professional C++
TAC-438

Advanced Gameplay Programming

Advanced gameplay programming techniques for both single player and networked multiplayer games using an industry-standard game engine. Students will learn the fundamentals of how game systems function including the game framework, characters, collisions, behavior trees, animations, user interfaces, and networking 

(4 units)

  • Prerequisite: TAC-380
  • Formerly Known As/Duplicate Credit: ITP 438 Advanced Gameplay Programming
TAC-439

Compiler Development

Explore how programming language compilers work and practice developing a compiler. You’ll learn how to parse a program’s text, represent the program in memory, optimize the code, and generate machine code. You’ll develop components of a working compiler using the industry-standard LLVM framework, which is used for compilers for many popular programming languages — including C++, Swift, Python, R, and Ruby. (4 units)

  • Prerequisite: TAC-365 or CSCI-104L
  • Formerly Known As/Duplicate Credit: ITP 439 Compiler Development
TAC-445

Apple Forensics & Security (macOS and iOS)

Learn industry-standard best practices for incident response, acquisition, investigation, and presentation of findings regarding Apple hardware and software, including macOS, iOS, tvOS, and watchOS devices. You’ll practice performing investigations, writing forensic reports, and analyzing different security technologies built into macOS and iOS systems. (4 units)

  • Prerequisite: TAC-375
  • Formerly Known As/Duplicate Credit: ITP 445 Apple Forensics & Security (macOS and iOS)
TAC-446

Cyber Breach Investigations

Learn how to investigate computer and network security breaches. You’ll practice forensic acquisition, investigation, and analysis of large Windows and Linux servers, network devices, enterprise systems, and databases. You’ll learn how to acquire a live system — physically and through a network cable — and how to triage a network to isolate rogue, compromised systems. (3 units)

  • Prerequisite: TAC-375
  • Formerly Known As/Duplicate Credit: ITP 446 Cyber Breach Investigations
TAC-447

Mobile Device Forensics and Security

Learn how to perform forensic investigations on mobile devices, including Android and Blackberry devices. You’ll learn what data can be acquired from mobile devices — including cellular communications and location history — and the relationship between mobile and desktop devices in forensic investigations. (3 units)

  • Prerequisite: TAC-375
  • Formerly Known As/Duplicate Credit: ITP 447 Mobile Device Forensics and Security
TAC-449

Applications of Machine Learning

From accurate movie recommendations to the selection of inspection-worthy soil and rock samples on Mars, it is increasingly commonplace to discover machines using data to make critical decisions. Build robust predictive models of real-world data using fundamental modeling techniques and machine learning algorithms. You’ll learn how to perform exploratory data analysis with Python, test the validity of predictive models, and communicate data-driven insights. (4 units)

  • Prerequisites: ITP-115 and ITP-249
  • Formerly Known As/Duplicate Credit: ITP 449 Applications of Machine Learning
TAC-450

High-Performance Computing in Applied Machine Learning

Discover the application of cutting-edge high-performance computing tools and techniques in addressing real-life problems using machine learning and deep learning. This course combines theoretical foundations with hands-on practical skills, enabling students to effectively tackle complex science and engineering problems. Through engaging lectures, interactive sessions, homework assignments, and a collaborative team project, participants will gain proficiency in utilizing advanced computing resources. Leveraging state-of-the-art technology at USC’s Center for Advanced Research Computing (CARC), students will analyze real-world datasets using the discussed techniques. They will extract valuable insights, develop descriptive or predictive models, and deliver presentations to their peers, culminating in a final project submission at the end of the semester.(2 units)

  • Prerequisites: TAC-449 or DSCI-352 or MATH-449 or BUAD-425 or CSCI-467
  • Formerly Known As/Duplicate Credit: ITP 450 High-Performance Computing in Applied Machine Learning
TAC-454x

Enterprise Resource Planning, Design, and Implementation

Work in teams to install, configure, and launch an SAP system — taking into consideration system administration, security, and performance. You’ll gain hands-on practice implementing a company’s sales processes in your new SAP system and transferring data from the company’s legacy enterprise resource planning (ERP) system. You’ll follow the Accelerated SAP method used by industry experts to implement an SAP system as efficiently as possible. (3 units)

  • Prerequisite: TAC-320
  • Formerly Known As/Duplicate Credit: ITP 454x Enterprise Resource Planning, Design, and Implementation
TAC-456

Blockchain: Capstone

Design new use cases for blockchain technology — taking into consideration current uses, technical feasibility, commercial viability, and the real-world problems that the new use cases would solve. You’ll assess business models for various blockchain projects in fields like business, technology, finance, and law. Industry experts that have worked on blockchain startups will deliver guest lectures to help you understand new developments in blockchain technology. (4 units)

  • Prerequisites: TAC-356 and TAC-366
  • Formerly Known As/Duplicate Credit: ITP 456 Blockchain: Capstone
TAC-457

Network Security

Learn advanced network security, including security threats, cryptography, intrusion detection, and firewalls. You’ll learn best practices to prevent network security breaches, detect intrusion and malicious code, and respond to security incidents. You’ll also analyze risk, cost of prevention, and societal issues relating to network security. (4 units)

  • Prerequisite: TAC-357
  • Formerly Known As/Duplicate Credit: ITP 457 Network Security
TAC-459

Applied Machine Learning for Natural Language Processing

Explore how transfer learning, reinforcement learning, and generative adversarial networks are transforming artificial intelligence. Learn about natural language processing to process and understand human languages. (4 units)

  • Prerequisite: TAC-359
  • Formerly Known As/Duplicate Credit: ITP 459 Applied Machine Learning for Natural Language Processing
TAC-460

Web Application Project

Work on a team to develop and launch a new web application from concept to launch — taking into consideration client needs, marketing, usability testing, and feasibility. You’ll follow the entire web development process, including producing creative briefs, creating wireframes, writing an app design document, implementing a server-side database, testing and debugging, and performing search engine optimization (SEO). (4 units)

  • Prerequisite: TAC-303, TAC-304, or ACAD-276
  • Formerly Known As/Duplicate Credit: ITP 460 Web Application Project
TAC-466

Building the High Tech Startup

Learn the technologies and processes involved in launching new web and mobile startups. You’ll practice developing business models, producing product roadmaps, creating wireframes and prototypes, and analyzing business metrics. You’ll also explore legal and accounting matters related to startups, Agile development processes, and customer development. (4 units)

  • Prerequisite: None
  • Gateway course: This is the introductory class for the minor in Innovation: The Digital Entrepreneur.
  • Formerly Known As/Duplicate Credit: ITP 466 Building the High Tech Startup
TAC-468

Connected Devices Project

Work on a team to develop and manufacture a connected device from concept to launch — taking into consideration real-world applications of a connected device, marketing, usability testing, and feasibility. You’ll follow the entire product development process, including working with clients, writing product specifications, developing firmware, and producing prototypes. You’ll also explore regulatory matters related to electronic devices and ethical and privacy concerns related to collecting data. (4 units)

  • Prerequisites: TAC-228 and TAC-348
  • Formerly Known As/Duplicate Credit: ITP 468 Connected Devices Project
TAC-470

Information Technology Practicum

Work on an individual practical or exploratory project under the guidance of a full-time faculty member in TAC. Your project could be a demo, prototype, or exploratory report. Your project will be in a technical field of your choice in which you have previous knowledge. (1-4 units)

  • Prerequisite: None
  • Formerly Known As/Duplicate Credit: ITP 470 Information Technology Practicum
TAC-471

Consultancy Skills for Cyber Risk Management

Consultancy Skills for Cyber Security Risk Management focuses on developing your team-building and communication skills to be an effective leader in consulting. This course will focus on the development of auditing skills and procedures, such as interview techniques and audit report writing. The course will have a comprehensive case study, linked to all seminars and homework to further facilitate this development.

(4 units)

  • Prerequisite: TAC-125
  • Formerly Known As/Duplicate Credit: ITP 471 Consultancy Skills for Cyber Risk Management
TAC-475

Advanced Digital Forensics

Learn industry-standard best practices for incident response, acquisition, investigation, and presentation of findings regarding Windows computers and servers. You’ll practice advanced techniques for investigating NTFS and FAT file systems, analyzing artifacts, analyzing computer memory, and preparing forensic reports. You’ll also complete a comprehensive final investigation and moot course case. (4 units)

  • Prerequisite: TAC-375
  • Formerly Known As/Duplicate Credit: ITP 475 Advanced Digital Forensics
TAC-476

Technologies for Interactive Marketing

Learn how to use digital marketing and social media — including blogs, wikis, social networks, and search engines — to drive traffic, engagement, and conversion for high-tech projects. You’ll practice using Google Analytics, Moz Professional, BuzzSumo, and MailChimp to produce digital marketing campaigns. You’ll also explore search engine optimization (SEO), content marketing, A/B testing, and branding. (4 units)

  • Prerequisite: None
  • Formerly Known As/Duplicate Credit: ITP 476 Technologies for Interactive Marketing
TAC-477

Software Based Engineering Design of Roadways

Students will become familiar with the InRoads software system and explore in depth its capabilities to support the engineering design of roadways. (3 units)

  • Prerequisite: None
  • Formerly Known As/Duplicate Credit: ITP 477 Software Based Engineering Design of Roadways
TAC-479

Cyber Law and Privacy

Learn how technology intersects with the law, privacy, and ethics. Explore how governments and corporations have access to your data and what laws are in place to protect you. You’ll explore issues of privacy and search and seizure in relation to cybercrime, digital surveillance, and forensic investigations. (3 units)

  • Prerequisite: None
  • Formerly Known As/Duplicate Credit: ITP 479 Cyber Law and Privacy
TAC-480

Information Technology Internship

Earn academic credit while completing an internship in information technology. You’ll complete an individual project of your choice that relates to your internship. You’ll complete your project under the guidance of a full-time faculty member in TAC. Your project could be a demo, prototype, or exploratory report. (1-4 units)

  • Prerequisite: None
  • Formerly Known As/Duplicate Credit: ITP 480 Information Technology Internship
TAC-481

Game Programming Professional Development

This course will focus on the practical math, algorithms, and other topics relevant to new professionals in 3D video game programming. Particular focus will be centered on presentation and communication skills. Students will get practice with the application of mathematics, physics, and geometry in the context of common video game scenarios as well as how to communicate about these abstract concepts. (2 units)

  • Prerequisite: TAC-380
  • Formerly Known As/Duplicate Credit: ITP 481 Game Programming Professional Development
TAC-482

Engineering Database Applications

Learn to develop software applications based on relational databases — with an emphasis on scalability, expandability, and security. You’ll work on a web-based integrated database application for a real-world client from concept to launch. You’ll also learn how to perform advanced data modeling and analysis, create data definitions and constraints, implement security, and perform usability testing. (3 units)

  • Prerequisites: (CE-108, EE-155L, TAC-115, TAC-165, TAC-168, ISE-150, CSCI-102L, or CSCI-103L) and (DSO-435 or ISE-382)
  • Formerly Known As/Duplicate Credit: ITP 482 Engineering Database Applications
TAC-483

Professional Development for Software Engineers

Communication and social skills are crucial to professional and advanced academic environments, and engineer students may not get enough practice in these areas. This class will help students prepare for the unique challenges of the transition from undergraduate study to the next phase of their careers. We will work specifically on the communication skills unique to the application and interview processes as well as those expected in a professional environment. We will also touch on the nuances of communication in post-graduate academic pursuits. (2 units)

  • Prerequisites: CSCI-104 or TAC-365
  • Formerly Known As/Duplicate Credit: ITP 483 Professional Development for Software Engineers
TAC-485

Programming Game Engines

Learn how to program 3D game engines that drive rendering, audio, collision, physics, and game world models. You’ll explore industry-standard software architecture principles, investigate subsystems typically found in game engines, survey engine architectures from example games, and analyze how genre affects engine design. (4 units)

  • Prerequisite: TAC-380
  • Formerly Known As/Duplicate Credit: ITP 485 Programming Game Engines
TAC-486

Securing and Auditing Enterprise Resource Planning Systems

Learn the fundamentals of security, audit, and control features of enterprise resource planning (ERP) systems. You’ll learn how to identify risks to system security, establish user roles and access, and implement encryption. You’ll also practice configuring audit information systems and conducting comprehensive ERP system security audits. (3 units)

  • Prerequisite: TAC-320
  • Formerly Known As/Duplicate Credit: ITP 486 Securing and Auditing Enterprise Resource Planning Systems
TAC-488

Managing Supply Chains with Advanced Planning & Optimization

Learn how Supply Networking Planning (SNP) can help businesses strategically drive demand and optimize logistics networks. You’ll practice programming spreadsheets to control various aspects of a logistics network, including demand forecasting, aggregate planning, and inventory management. You’ll work through business simulations to learn how to use SAP Advanced Planning and Optimization (APO) tools to reduce manufacturing costs and manage supply chains effectively. (3 units)

  • Prerequisite: TAC-320
  • Formerly Known As/Duplicate Credit: ITP 488 Managing Supply Chains with Advanced Planning & Optimization
TAC-489

In-Memory Data Modeling and Analytics

Explore the architecture, management, and operation of in-memory database management systems. You’ll analyze case studies of how businesses in different industries use data analytics for strategic decision making. You’ll practice setting up in-memory systems, creating dashboards, identifying analytic models most appropriate for different data sets, and making data-driven business decisions. (4 units)

  • Prerequisite: TAC-249 or TAC-320
  • Formerly Known As/Duplicate Credit: ITP 489 In-Memory Data Modeling and Analytics
TAC-491

Level Design and Development for Video Games

Learn how to create game levels from concept to gameplay. You’ll learn how to create narrative levels for 3D games by writing level design documents, designing aesthetics and layout, manipulating the camera, setting up events and obstacles, and testing for playability. (4 units)

  • Prerequisite: TAC-230x or TAC-180
  • Formerly Known As/Duplicate Credit: ITP 491 Level Design and Development for Video Games
TAC-496

The Startup Launchpad Lab

Work on a team to develop a web or mobile startup from concept to launch — taking into consideration customer development, technical feasibility, and business viability. You’ll combine your business knowledge and technical skills to test concepts, produce product roadmaps, get customer feedback on prototypes, and create a marketing and distribution plan for your product. (2 units)

  • Prerequisites: BAEP-452, TAC-466, and TAC-476
  • Formerly Known As/Duplicate Credit: ITP 496 The Startup Launchpad Lab
Published on September 18th, 2025Last updated on April 26th, 2026