Courses

In ITP 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 ITP classes, and our introductory courses do not require a background in technology or engineering.

Introductory Courses
ITP-211

Techniques of Visual Persuasion - Still Images

In a world where images move millions and memes are more powerful - and popular - than the written word, a key skill in college and a survival skill in a future career is how well you communicate visually. Not all of us can be artists, but all of us can improve our visual communication skills. The purpose of this course is to learn the creative, technical and communication skills necessary to create compelling messages using still images. This is not a theory class. This is a “get your hands dirty” class. It is not enough to “shoot.” Students need to plan, create, refine, communicate, and convince - using still images – all while meeting deadlines. These communication skills have value during college and long after graduation. (2 units)

  • Prerequisite: None

 

ITP-215L

Introduction to 3D Modeling, Animation, and Visual Effects

Learn how to create 3D characters, animations, environments, and objects using Autodesk Maya. By practicing different 3D modeling, surfacing, and special effects tools, you’ll gain an applied foundation in the creation of 3D content for animation, games, entertainment, and design. You'll also explore the production cycle of animation, what pipelines are and how they are implemented to support the production process, and how to manage vision, budget, and time constraints. (2 units)

 

ITP-216

Applied Python

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. (2 units)

  • Prerequisite: ITP-115 or ITP-116

 

ITP-222

Linux and Containers

Using Linux as a foundation, this course explores virtual machines and containers. First, we will survey the various flavors of Linux. Then dive deeply into how Linux works by exploring file system structures, programmatic interactions with shell scripts, troubleshooting problems with logs and diagnostic tools, and more. After examining Linux, we will examine a virtualized Linux environment. We will be looking at virtualization technologies and see why the combination of Linux and containerization are the foundation of many cloud systems. (4 units)

  • Prerequisite: ITP-111
ITP-228

Computer-Aided Modeling for 3D Product Design

Learn how to use 3D modeling software and 3D printers to manufacture prototypes for smart devices. Create a variety of 3D models, prepare products for printing, successfully print products, and work with Raspberry Pi enclosures. You’ll also explore how to design products based on manufacturing needs and work within manufacturing limitations and scope. (2 units)

 

ITP-230x

Video Game Quality Assurance

Survey the game software development cycle, quality assurance, and bug testing. You’ll learn how to use online bug-tracking software systems like Bugzilla as well as offline bug-tracking spreadsheets — and you’ll learn the best communication practices to report software problems so that they can be fixed by the development team. You'll also explore the retail side of video game development, pre-production, test trees, test flow diagrams, and quality appraisal. Upon completion of this class, you'll be able to fulfill the job requirements of an entry-level quality assurance tester in the video game industry. (4 units)

 

ITP-249

Introduction to Data Analytics

Data is an integral part of business and society. To be successful in today’s business landscape, you need to be able to leverage data to make critical business decisions. Learn how to use Excel, SQL, NoSQL, and leading industry tools to collect, clean, and analyze data, interpret data, present insights using data visualization and dashboards, and tell compelling stories with data. (4 units)

  • Prerequisite: None
  • Gateway course: This is the introductory class for the minor in Applied Analytics.

 

ITP-256

Blockchain

Blockchain technology is wider and has more use cases than just one of its most popular applications: the Bitcoin cryptocurrency. Explore blockchain technology and its applications in cryptocurrency, financial services, government, contracting, and more. You’ll learn how blockchain works, the real-world problems that blockchain tries to solve, and how decentralized applications can be built on the blockchain. You’ll prepare to propose new use cases for blockchain and to build applications on platforms like Ethereum in advanced classes. (4 units)

  • Prerequisite: None
  • Gateway course: This is the introductory class for the minor in Blockchain.

 

ITP-265

Object-Oriented Programming

Develop your problem-solving skills in object-oriented programming by writing more advanced programs using the Java programming language. You’ll learn how to design classes that represent real-world data, use inheritance and polymorphism, handle file input and output, and use basic data structures. This is the second course in the core programming sequence (ITP-115 → ITP-265 → ITP-365). By completing this class, you’ll be prepared to learn how to write basic desktop, web, and mobile applications, and to learn about the more advanced data structures required for complex software development. (4 units)

  • Prerequisite: ITP-115 or ITP-165

 

ITP-280

Video Game Production

Explore the video game development process — including design, art, programming, and management — and the project lifecycle from concept to launch. You’ll practice creating game prototypes using various hardware and software tools that aid in the video game production process. You’ll also discuss how programmers can include features like artificial intelligence (AI), network and multiplayer support, and graphic and sound effects. (4 units)