Introduction to Artificial Intelligence

  11-12 graders

  Credits awarded on transcript  

  Pre-calculus completed with B- or better

  UC A-G approved for [C] Mathematics credits

  Self paced instructor-guided  

  Personalized 1-1 support

  Office hours 1 hour per week

  1849 per student, per semester  

  90 minutes per class

  4-8 students per class

  Twice per week over 36 weeks

  1849 per student, per semester  

  2 hours per day (summer)  

  8-10 students per class

  4 days per week 2, 4, or 6 weeks

  689 per student, per week  

The Introduction to Artificial Intelligence course introduces students to the concepts and algorithms at the foundation of modern artificial intelligence. Artificial intelligence systems are impacting our daily lives more everyday. This course gives students a solid foundation to build upon by diving into the ideas that give rise to technologies like game-playing engines, machine translation, and handwriting recognition. Students will learn how to identify various types of artificial intelligence systems and even build their own.

This course provides students with all the essential knowledge and skills needed to begin a future in the artificial intelligence workforce. Through hands-on projects, students gain exposure to the theory behind graph search algorithms, classification, optimization, reinforcement learning, and other topics in artificial intelligence and machine learning as they build their own Python programs. By the end of this course students will have experience using machine learning libraries as well as knowledge of artificial intelligence principles that enable them to design intelligent systems of their own.

Since this is an advanced course, it is highly recommended that students have experience programming in Python. Students should have taken the Introduction to Computer Science course, Computer Science Principles course, or an equivalent course. We won't cover the fundamentals of Python as we will need to spend time working with artificial intelligence specific algorithms and libraries.


   University of California A-G approved for [C] Mathematics credits.

Course Outline

    hide details
  1. Introduction to Artificial Intelligence
    Artificial Intelligence (AI) is transforming how we live, work, and play. We will define AI and show students how it is used and the social and ethical impacts on society. It is helpful to leverage the environment where a problem exists, such as a game board or understanding road markers. In this unit students will learn what defines Artificial Intelligence, how it is used, possible future uses, and the social and ethical implications of its use in society.
  2. Search
    Search problems involve an agent that is given an initial state and a goal state, and it returns a solution of how to get from the former to the latter. A navigator app uses a typical search process, where the agent (the thinking part of the program) receives as input your current location and your desired destination, and, based on a search algorithm, returns a suggested path. However, there are many other forms of search problems, like puzzles or mazes. In this unit students will learn about the types of search problems and the algorithms to solve them.
  3. Knowledge
    Humans reason based on existing knowledge and draw conclusions. The concept of representing knowledge and drawing conclusions from it is also used in AI. Achieving this behavior with computation is a key goal of AI. People know information and facts of the world. How we reason about that information determines the conclusions that we come to. Students will explore the algorithms and techniques that programs can use information to find a solution.
  4. Uncertainty
    Every minute there are new data sources created and vast oceans of data generated. Despite all of that data we only have a partial knowledge of the world, leaving space for uncertainty. We will never be able to predict with 100% certainty or perform with perfect accuracy. How we manage that uncertainty often determines the quality of our AI driven programs. Students will learn about methods and tools to help AI make optimal decisions given limited information and uncertainty.
  5. Optimization
    When we have multiple options to solve a problem we have to look towards optimization, or choosing the best option, to make sure that our program works. Students have already encountered problems where they tried to find the best possible option, such as in the minimax algorithm, and in this unit they will learn about tools they can use to solve an even broader range of problems. Students will explore various search algorithms and learn about what situations are optimal to deploy each algorithm.
  6. Learning
    Machine learning (ML) is the process where we give the computer access to information in the data and let the computer figure out what the patterns are so that it can perform the task on its own. Machine learning comes in a number of different forms and it's a very wide field. Students will explore ML algorithms like supervised learning, nearest-neighbor classification, perceptron learning, reinforcement learning, and neural networks. Their end goal is to build an AI to be able to figure out some function that maps inputs to outputs.
  7. Neural Networks
    AI neural networks are inspired by neuroscience. In the brain, neurons are cells that are connected to each other, forming networks. Each neuron is capable of both receiving and sending electrical signals. Once the electrical input that a neuron receives crosses some threshold, the neuron activates, thus sending its electrical signal forward. An Artificial Neural Network is a mathematical model for learning inspired by biological neural networks. Artificial neural networks model mathematical functions that map inputs to outputs based on the structure and parameters of the network. In artificial neural networks, the structure of the network is shaped through training on data. In this unit students will learn about neural networks and create their own training models.
  8. Language
    One of the toughest goals for AI is to understand and generate human language. Up to this point we have had clear criteria and constraints for our AI to work within and well structured data. To understand language we need to create algorithms to understand, interpret and get some sort of meaning out of language. We will discuss the various components of natural language processing and examples like language identification, text classification, and machine translation. Students will combine a structural breakdown of the English language with all the concepts they have learned to tackle this difficult problem.

Summer of Code
    see detailed summer schedule

To take any of our courses, students must be familiar with opening a browser, navigating to a website, and joining a Zoom meeting.

Students must have a quiet place to study and participate in the class for the duration of the class. Some students may prefer a headset to isolate any background noise and help them focus in class.

Most course lectures and content may be viewed on mobile devices but programming assignments and certain quizzes require a desktop or laptop computer.

Students are required to have their camera on at all times during the class, unless they have an explicit exception approved by their parent or legal guardian.

Our technology requirements are similar to that of most Online classes.

A desktop or laptop computer running Windows (PC), Mac OS (Mac), or Chrome OS (Chromebook).
Students must be able to run a Zoom Client.
A working microphone, speaker, webcam, and an external mouse.
A high-speed internet connection with at least 15mbps download speed (check your Internet speed).

This course includes several timed tests where you will be asked to complete a given number of questions within a 1-3 hour time limit. These tests are designed to keep you competitively prepared but you can take them as often as you like. We do not proctor these exams, neither do we require that you install special lockdown browser.

In today's environment, when students have access to multiple devices, most attempts to avoid cheating in online exams are symbolic. Our exams are meant to encourage you to learn and push yourself using an honor system.

We do assign a grade at the end of the year based on a number of criteria which includes class participation, completion of assignments, and performance in the tests. We do not reveal the exact formula to minimize students' incentive to optimize for a higher grade.

We believe that your grade in the course should reflect how well you have learnt the skills, and a couple of timed-tests, while traditional, aren't the best way to evaluate your learning.