Please enable JavaScript to use CodeHS

Tutorials


Clear

Hello world

Creator: Jeremy Keeshin

How to write your first program in a few different languages

Don't Fall for a Phishing Email!

Creator: Jennifer Campbell

Phishing is a method used to gather personal information such as usernames and passwords using deceptive emails and websites. Learn how to recognize and avoid these types of malicious emails in this tutorial!

Printing in Java

Creator: Evelyn Hunter

Learn how to print values to the console using Java!

Arrays in Java

Creator: Evelyn Hunter

Learn how to store data in increasingly complex ways!

How Strong is Your Password?

Creator: Jennifer Campbell

What are some ways that you keep your personal data secure and private? Do you use strong passwords? How would you rate the strength of your passwords? In this tutorial, learn how to create a password that can combat hacking attempts such as brute force attacks, dictionary attacks, and algorithm attacks.

File I/O in Java

Creator: David Burnham

Sample Roblox CSP Performance Task

Creator: Joi Anderson

Basic Math in JavaScript

Creator: Ryan Hart

Introduction to Flexbox and CSS Grid

Creator: Brad DeFauw

Flexbox and CSS Grid are powerful CSS tools used to create responsive and efficient web layouts. While Flexbox is ideal for one-dimensional layouts (either rows or columns), CSS Grid excels at two-dimensional layouts (both rows and columns simultaneously). Below is a quick guide to help you get started with both.

Strong vs Bold in HTML

Creator: Matt Arnold

Learn about the differences between <strong> and <bold> tags and when to use different HTML5 semantic tags.

What is Blockchain

Creator: David Burnham

This tutorial covers the basics of what blockchain technology is and how it works. It also will demonstrate a basic blockchain algorithm.

Introduction to Interactive Program and Game Development

Creator: Ryan Hart

Encryption Ciphers

Creator: Jennifer Campbell

This tutorial goes over cryptography and a few well-known ciphers.

Java Documentation - Basics

Creator: Zach Galant

Basic Functions in Python

Creator: Ryan Hart

Arrays in JavaScript

Creator: Rachel Devaney

Learn how to create arrays in JavaScript as well as how to add, change, and remove items.

Python For Java Users

Creator: David Burnham

This tutorial is a very basic overview of Python for users that have Java experience.

C++ Iterators

Creator: David Burnham

Loops in C++

Creator: David Burnham

Caesar and Vigenere Ciphers

Creator: Jennifer Campbell

In this tutorial, you will learn about two very early encryption systems known as the Caesar and the Vigenère ciphers.

How to use the CodeHS JS Library on your Website 2

Creator: Andy Bayer

This tutorial shows you how you can use the CodeHS Graphics JavaScript library outside of CodeHS on any website.

Pygame with Karel - Part 3

Creator: Matt Arnold

Learn about the Pygame Python module and how it can be used to create games in Python. In this tutorial series you'll use some basic Pygame functions to build a mouse-input game where Karel the dog catches falling tennis balls. Prerequisite: Knowledge of basic Python programming constructs including module imports.

Try Catch In Java

Creator: David Burnham

This tutorial covers the basics of try and catch statements in Java. It is intended as an introduction to the concept and assumes some basic Java prior knowledge.

Understand the Java String Pool

Creator: David Burnham

For many, the Java String Pool remains a slight mystery. In this tutorial, you will take a deeper dive into understanding how the String pool works and when Java uses the String pool versus creating a separate object.

Sample A No Scoring

Creator: David Burnham

CSS Art

Creator: Matt Arnold

Web designers use Cascading Style Sheets (CSS) language to create amazing interactive components on websites. Some artists enjoy creating web art with CSS - often animated art or realistic-looking objects. In this tutorial, you'll use CSS, and a little HTML, to play with emoji shapes and animations. Then take what you learn to create your own amazing CSS art.

What's New in the CodeHS JavaScript Library?

Creator: Andy Bayer

We've updated our JavaScript exercises to use a new version of our JavaScript library. What's different?

Using the Java Debugger

Creator: Calvin Studebaker

Learn how to use the pause-step Java Debugger on CodeHS

Programming Sprites in JavaScript

Creator: Andy Bayer

Animate sprites using JavaScript to create games in CodeHS

Intro to Brython - Calculator

Creator: Zach Galant

Asynchronous Input

Creator: Andy Bayer

Get input in JavaScript programs without the popup!

Sample B No Scoring

Creator: David Burnham

Using the Python Debugger

Creator: Calvin Studebaker

Learn how to use the pause-step Python Debugger on CodeHS

Pygame with Karel - Part 2

Creator: Matt Arnold

Learn about the Pygame Python module and how it can be used to create games in Python. In this tutorial series you'll use some basic Pygame functions to build a mouse-input game where Karel the dog catches falling tennis balls. Prerequisite: Knowledge of basic Python programming constructs including module imports.

Traversing Arrays in Java

Creator: Evelyn Hunter

Learn how to find what you're looking for in an array!

Methods to Search Through Arrays

Creator: Rachel Devaney

Learn some helpful array methods that enable you to search through elements in an array: indexOf, includes(), find(), and filter().

ArrayLists in Java

Creator: Evelyn Hunter

Learn how to create and use ArrayLists in your programs!

Into to JS (Corgi) Updates

Creator: Ryan Hart

Learn about some of the major changes in the new Intro to JavaScript (Corgi) course!

Sample A CSP Performance Task

Creator: David Burnham

Sample B CSP Performance Task

Creator: David Burnham

Java Swing Mouse Events

Creator: David Burnham

In this tutorial, students will look at mouse events in Java Swing. The tutorial assumes some understanding of Java, including ArrayLists and basic Java Swing. Students will create circle objects and use both mouse move and mouse click events.

Animate 3D Objects with Three.js

Creator: Matt Arnold

In this tutorial, you'll create an animated 3D model with the Three.js library. You'll use geometric shapes, an orbit control system, and an animation function to develop a rotating 3D object that users can explore.

Math Module in Python

Creator: Ryan Hart

Basic Recursion

Creator: David Burnham

This tutorial covers basic recursion in Java. The principles of recursion can be applied to any language.

Boolean Expressions in Python

Creator: Evelyn Hunter

An introduction to Boolean expressions in Python.

Variables in JavaScript

Creator: Rachel Devaney

Learn the basics of variables in JavaScript.

The Script Tag

Creator: Evelyn Hunter

Learn how to incorporate JavaScript code onto a website using the script tag.

User Input in Java

Creator: Evelyn Hunter

Learn how to accept user input in Java.

If/Else Statements in JavaScript

Creator: Rachel Devaney

Learn the basics of if/else statements in JavaScript.

Break and Continue in JavaScript

Creator: Rachel Devaney

Learn how to use the break and continue statements in your JavaScript programs.