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-301

Front-End Web Development

Learn how to create interactive webpages and gain skills in front-end web development using dynamic HTML and JavaScript. You’ll learn how to create online shopping carts, validate forms, use asynchronous JavaScript (AJAX) to update webpages, create animated content, and use popular frameworks like React and Vue.js. (4 units)

  • Prerequisite: TAC-104
  • Formerly Known As/Duplicate Credit: ITP 301 Front-End Web Development
TAC-302

Advanced Web Publishing

Create websites using advanced HTML and CSS techniques, CSS preprocessors and frameworks (including Sass, Less, and Bootstrap), static site generators, and content management systems like WordPress. Explore how these tools can best fit with specific web projects, learn how to implement responsive web design patterns, and follow best accessibility practices. (4 units)

  • Prerequisite: TAC-104
  • Formerly Known As/Duplicate Credit: ITP 302 Advanced Web Publishing
TAC-303

Full-Stack Web Development

Modern web development techniques and technologies used to create web applications from ground up. Topics include front-end, back-end and web servers. (4 units)

  • Prerequisite: TAC-265 or CSCI-103L
  • Formerly Known As/Duplicate Credit: ITP 303 Full-Stack Web Development
TAC-304

Back-End Web Development

Learn how to create dynamic data-driven web applications using PHP and MySQL. Design and implement databases that store website content and explore back-end frameworks currently used in industry, including Laravel, Node.js, and Express.js. You’ll also learn how to implement basic security and user authentication. (4 units)

  • Prerequisite: TAC-104
  • Formerly Known As/Duplicate Credit: ITP 304 Back-End Web Development
TAC-305

Intermediate 3D Modeling and Procedural Asset Pipelines

This class is being replaced with TAC-361 "Character Rigging for Games"

Explore advanced modeling techniques and the benefits of procedural asset creation workflows for cinema, games, animation, design, modeling, texturing, visualization, and augmented and virtual reality. You’ll practice using procedural workflows and use scripting, live data, node-based architectures, and custom interfaces for advanced models, layouts, animations, shading, and rendering. (4 units)

  • Prerequisite: TAC-215L, ACAD-187, ACAD-188, AME-101, ARCH-207, or CE-107
  • Formerly Known As/Duplicate Credit: ITP 305 Intermediate 3D Modeling and Procedural Asset Pipelines
TAC-308

Computer-Aided Design for Bio-Mechanical Systems

Learn how to use SolidWorks, a widely-used computer-aided design (CAD) application. You’ll be introduced to sketching, part assembly, drawings, motion tools, and a finite element analysis tool in order to create and analyze 2D and 3D designs. By the end of this class, you’ll be prepared for the Certified SolidWorks Associate certification. (3 units)

  • Prerequisite: None
  • Formerly Known As/Duplicate Credit: ITP 308 Computer-Aided Design for Bio-Mechanical Systems
TAC-310

Design for User Experience

Explore the fundamental concepts, techniques, workflows, and tools used in the user experience (UX) design process, focusing on web and mobile applications. You’ll focus on web and mobile applications as you conduct UX design research, design and evaluate UX concepts, solve UX problems, and create wireframes, prototypes, and user flows. You’ll learn how to use Sketch, Adobe Photoshop, and InVision to develop UX designs. (4 units)

  • Prerequisite: None
  • Formerly Known As/Duplicate Credit: ITP 310 Design for User Experience
TAC-315x

3D Character Rigging and Animation

This class is being replaced with TAC-371 "Technical Character Animation for Games"

Create and animate 3D characters for games, cinema, and performance animations — including organic modeling, character setup, and texturing. You’ll learn how to plan a rigging strategy based on script and storyboard, build skeletons, apply skin deformation and weights, and animate a complete performance reel. You’ll also explore pipelines for motion capture data and incorporation with game engines. (4 units)

  • Prerequisite: TAC-215L, ACAD-187, ACAD-188, AME-101, ARCH-207, or CE-107
  • Formerly Known As/Duplicate Credit: ITP 315x 3D Character Rigging and Animation
TAC-320

Enterprise Information Systems

Explore how enterprise resource planning systems (ERPs) work to complete different business operations, including supply chain management, financial transactions, sales, production, and accounting. You’ll work through many real-world business situations using SAP — one of the world’s most popular providers of enterprise software — to gain hands-on practice carrying out critical business processes. (4 units)

  • Prerequisite: None
  • Gateway course: This is the introductory class for the minor in Enterprise Information Systems.
  • Formerly Known As/Duplicate Credit: ITP 320 Enterprise Information Systems
TAC-322

Using GIS Technology for Social Impact

As the traditional lines blur between nonprofit work, government, and business, it is critical to understand the technology available for taking on opportunities and challenges in this new landscape. Through industry guest speakers, case studies, TED talks, and student presentations, you’ll explore the technologies available in the emerging field of social impact using technology. You’ll also develop a concept and technology plan for a social product or enterprise using ArcGIS, a geographic information system used to build and deploy applications with spatial capabilities. (2 units)

  • Prerequisite: None
  • Formerly Known As/Duplicate Credit: ITP 322 Using GIS Technology for Social Impact
TAC-325

Ethical Hacking

Find security flaws in computer systems to secure them from criminal hackers by learning how to work as an ethical hacker. Ethical hackers follow a code of conduct and work under specific guidelines in order to test, audit, and secure computer and network infrastructure. Alongside lab-based practice, you'll explore the history of hacking and the mindset of criminal hackers. (4 units)

  • Prerequisite: TAC-125L
  • Formerly Known As/Duplicate Credit: ITP 325 Ethical Hacking
TAC-330

Computational Thinking through Programming

This course focuses on development of practical Python programming skills through project-based application. It is split into two parts: part one focuses on powerful features of the Python programming language itself (“Pythonic” programming), which allow students to quickly and easily manipulate data in ways not found in other languages. Part two focuses on application of modules to solve domain-specific challenges, such as in scientific computation and data visualization, system manipulation and automation, web development, and machine learning. (4 units)

  • Prerequisite: TAC-115 (or TAC-165 or CS-102) may be taken as co-requisite
  • Formerly Known As/Duplicate Credit: ITP 330 Computational Thinking through Programming
TAC-341

Android App Development

Develop applications for the Android open-source platform. You’ll learn how to build a mobile app for the Android platform — including interfaces, user input, and data persistence — using the Android Software Development Kit (SDK) and Java. You’ll also explore user interface (UI) design principles for mobile and tablet apps, hardware and software constraints for mobile platforms, and how to evaluate and use third-party APIs and libraries. (4 units)

  • Prerequisite: TAC-265 or CSCI-103L
  • Formerly Known As/Duplicate Credit: ITP 341 Android App Development
TAC-342

iOS App Development

Develop applications for the iOS platform using the iOS Software Development Kit (SDK) and the Xcode integrated development environment (IDE). You’ll use the Swift programming language to build mobile apps — including interfaces, user input, and animations — for iPhones and iPads. You’ll also explore Apple’s Human Interface Guidelines, hardware and software constraints for mobile platforms, and how to evaluate and use third-party APIs and libraries. (4 units)

  • Prerequisite: TAC-265 or CSCI-103L
  • Formerly Known As/Duplicate Credit: ITP 342 iOS App Development
TAC-344

Advanced iOS App Development

Learn how to create applications for the iOS platform that use advanced features like network data, push notifications, geofencing, background processing, and Siri integration. You’ll also continue practicing best test and debugging practices for mobile apps, explore beta testing processes, and learn how to submit completed apps to the iOS App Store. (4 units)

  • Prerequisite: TAC-342
  • Formerly Known As/Duplicate Credit: ITP 344 Advanced iOS App Development
TAC-345

Advanced Android App Development

Learn how to create applications for the Android open-source platform that use advanced features like background threading, broadcast receivers, sensors, network data, and third-party authentication. You’ll also continue practicing the best test and debugging practices for mobile apps, explore battery life optimizations and app revenue models, and learn how to submit completed apps to Google Play. (4 units)

  • Prerequisite: TAC-341
  • Formerly Known As/Duplicate Credit: ITP 345 Advanced Android App Development
TAC-348

Making Smart Devices: Introduction to Electronics and Wearables

Learn how to create physical, Internet-connected devices — including motion sensors, robotic arms, and remotes — using C and Arduino. You’ll learn how to program devices that accept input from the physical world using sensors, connect to cloud platforms, and communicate with other devices. By completing a variety of hardware and programming assignments, you’ll learn the fundamentals of creating physical computing systems that include smart devices, wearables like smartwatches, e-textiles/fashion, Internet of Things (IoT) devices, and hardware start-ups. (4 units)

  • Prerequisite: TAC-109, TAC-115, or TAC-165
  • Formerly Known As/Duplicate Credit: ITP 348 Making Smart Devices: Introduction to Electronics and Wearables
TAC-349

Enterprise Data Analytics

Learn how to analyze large data sets to forecast future events, make informed decisions, and get insight into trends. You’ll explore enterprise data warehouses, business intelligence for enterprise resource planning (ERP) systems, data mining, and predictive analysis. You’ll learn how to create enterprise dashboards, extract data from ERP systems, and model future events. (4 units)

  • Prerequisite: TAC-249 or TAC-320
  • Formerly Known As/Duplicate Credit: ITP 349 Enterprise Data Analytics
TAC-351

3D Character Modeling for Games

Extrapolate unique design needs of a 3d character for video games and then construct that character in 3d polygons. Learn the technical and artistic process to approximate not just topology of a character, but polygon count, UV unwrapping for textures, and edge flow to have them deform realistically within a realtime game engine. (4 units)

  • Prerequisite: TAC-215 or CTAN-452
  • Formerly Known As/Duplicate Credit: ITP 351 3D Character Modeling for Games
TAC-356

Blockchain: Decentralized Applications

Learn how to create decentralized applications (DApps) and smart contracts using blockchain. Using Web3.js, Truffle, and smart contracts written in Solidity, you will develop new DApps and deploy them onto the Ethereum platform. You’ll also explore the technical, social, and economic implications of decentralized applications. (4 units)

  • Prerequisite: TAC-256
  • Formerly Known As/Duplicate Credit: ITP 356 Blockchain: Decentralized Applications
TAC-357

Enterprise Network Design

Learn how to design, implement, and maintain secure enterprise-level networks. You’ll learn how to configure an integrated operated system, subdivide a network using subnets, configure Cisco switches and routers, and secure enterprise systems. (4 units)

  • Prerequisite: TAC-125L
  • Formerly Known As/Duplicate Credit: ITP 357 Enterprise Network Design
TAC-359

Applied Neural Networks

Artificial Neural Networks are a mainstay of artificial intelligence. Learn how to model, train and apply NN to solve real-world problems using artificial intelligence. Explore the latest developments in making NN more accurate in a variety of scenarios from machine vision to recommendation systems. (4 units)

  • Prerequisite: TAC-259
  • Formerly Known As/Duplicate Credit: ITP 359 Applied Neural Networks
TAC-361

Character Rigging for Games

Learn the fundamentals of character rigging for video game production and development. Incorporate both technical and artistic input to create a malleable and solid character rig for use in any game. Explore IK/FK, vertex weighting, and blendshapes to construct several rigs with hands-on teaching and unique assignments every week. This course utilizes the study of real-world skeletal hierarchy and muscle systems to mimic a similar but digital rig in Maya, pushing it further alongside recent rigging innovations such as sliding muscle simulation, corrective blendshape and human pose estimation libraries.  (4 units)

  • Prerequisite: TAC-215 or CTAN-452
  • Formerly Known As/Duplicate Credit: ITP 361 Character Rigging for Games
TAC-365

Managing Data in C++

Learn how to use the C++ programming language for advanced object-oriented programming, data structures, and memory management. You'll learn advanced problem-solving techniques using recursion and parallelism and how to implement different data structures. This is the third course in the core programming sequence (ITP-115 → ITP-265 → ITP-365). You'll write programs and simple games that include advanced techniques like encryption, graphics, and artificial intelligence. (4 units)

  • Prerequisite: TAC-265
  • Formerly Known As/Duplicate Credit: ITP 365 Managing Data in C++
TAC-366

Blockchain: Advances and Use Cases

Explore the latest advances in blockchain technology — including privacy, storage, and sidechains — and critically examine new use cases for feasibility, practicality, and benefits. You’ll learn how to propose and design new use cases for blockchain and suggest improvements for existing projects in government, financial services, identity verification, supply chain, transportation, and more. (4 units)

  • Prerequisite: TAC-256
  • Formerly Known As/Duplicate Credit: ITP 366 Blockchain: Advances and Use Cases
TAC-368

Programming Graphical User Interfaces

Learn how to program applications with dynamic graphical user interfaces (GUIs) — including UI controls, events, user input, and layout panes — using Java. You’ll incorporate JavaFX libraries to design interfaces, simple animations, and mini-games. You’ll also explore design patterns, localization and internationalization, and best accessibility practices. (4 units)

  • Prerequisite: TAC-265 or CSCI-103L
  • Formerly Known As/Duplicate Credit: ITP 368 Programming Graphical User Interfaces
TAC-370

Cybersecurity Management and Operations

Learn how to manage information security systems, plan for disaster recovery, and conduct security audits of computers and networks. You’ll practice writing security policies, designing new security plans, performing audits, and responding to incidents and disasters. You’ll also explore laws and regulations, training, and relationships between different departments in an organization in relation to information security. (4 units)

  • Prerequisite: TAC-125L
  • Formerly Known As/Duplicate Credit: ITP 370 Cybersecurity Management and Operations
TAC-371

Technical Character Animation for Games

Create and enhance the animation of a 3d character for video games; develop optimal iteration exporting techniques, judge the speed of controller feedback, and create custom scripting for character movement and visual communication specific to video games. This course builds on the old foundation of 2d character animation fundamentals used by Disney and Fleischer studios and combines them with new needs for video game character animation in recent developments such as virtual reality, location-based games and experimental AI games. (4 units)

  • Prerequisite: TAC-215 or CTAN-452
  • Formerly Known As/Duplicate Credit: ITP 371 Technical Character Animation for Games
TAC-375

Digital Forensics and Cybersecurity Investigations

From cyberterrorism to identity theft, computers have changed the ways that crimes are committed. Learn how to investigate crimes involving digital evidence, follow best practices for incident response, and prepare forensic reports. You’ll explore the legal aspects of digital forensics and the relationship between IT and forensics. (4 units)

  • Prerequisite: TAC-125L
  • Formerly Known As/Duplicate Credit: ITP 375 Digital Forensics and Cybersecurity Investigations
TAC-380

Video Game Programming

Use C++ to start programming video games. Gain an understanding of core game systems — including rendering, input, sound, collision, in-game physics, and 3D graphics — by programming a variety of different game projects. You'll also start exploring artificial intelligence for games and programming for online multiplayer games. (4 units)

  • Prerequisite: TAC-365 or CSCI-104L
  • Formerly Known As/Duplicate Credit: ITP 380 Video Game Programming
TAC-382

Mobile Game Development

Learn how to program cross-platform mobile games for iOS and Android using Unity, C#, and industry-standard tools. You’ll gain experience developing 2D and 3D game prototypes and demos using animation, artificial intelligence, augmented and virtual reality, accelerometers, and multi-touch gestures. You’ll also explore user interface design, gameplay design, and software optimization for mobile devices. (4 units)

  • Prerequisite: TAC-265 or CSCI-103L
  • Formerly Known As/Duplicate Credit: ITP 382 Mobile Game Development
TAC-388

Developing Connected Devices

Design hardware and program firmware for connected devices with advanced capabilities like USB, Bluetooth, and wireless networking. You’ll learn how to create professional-quality printed circuit boards (PCBs) and develop firmware for production-grade microcontrollers (MCUs). You’ll practice creating temperature sensors, building USB-based peripherals, and creating wireless devices. (4 units)

  • Prerequisite: TAC-348
  • Formerly Known As/Duplicate Credit: ITP 388 Developing Connected Devices
TAC-393

Video Game Project Management

In this course, students engage in a semester-long development process of an hypothetical video game, from concept through pre-production to production to release and aftermarket, conducted through lectures and discussions. Throughout the course of the semester, details of the job of the video game producer, and the realities of working in a game company, are explored and revealed. (4 units)

  • Prerequisite: TAC-180
  • Formerly Known As/Duplicate Credit: ITP 393 Video Game Project Management
Published on September 18th, 2025Last updated on April 26th, 2026