Free Python Programming 2 Coding Practice for High School: 126 Levels

Python Programming 2 Coding Levels

Coding levels for every unit of the second-year course. Students write, run and check real Python programs in CodeGrove, our code lab that works right in the browser.

Functions: free Python Programming 2 coding levels

Functions

Seven lessons on writing functions with parameters and return values, scope and tests, ending with a function toolbox. Each level is a short program students write and check in CodeGrove.

Strings and Safe Input: free Python Programming 2 coding levels

Strings and Safe Input

Seven lessons on slicing strings, output that lines up, checking input, try and except and a cipher, ending with a sign-up checker. Each level is a short program students write and check in CodeGrove.

Lists, Tuples and Grids: free Python Programming 2 coding levels

Lists, Tuples and Grids

Six lessons on list methods, loop patterns, copies and tuples, grids and sets, ending with a grid game. Each level is a short program students write and check in CodeGrove.

Dictionaries and Records: free Python Programming 2 coding levels

Dictionaries and Records

Five lessons on dictionaries, counting with them, records and hashed passwords, ending with a records program. Each level is a short program students write and check in CodeGrove.

Files and Data: free Python Programming 2 coding levels

Files and Data

Six lessons on text and CSV files, answering questions with data and huge data sets, ending with a data report. Each level is a short program students write and check in CodeGrove.

Algorithms: free Python Programming 2 coding levels

Algorithms

Six lessons on searching, sorting, counting steps, recursion and simulations, ending with a nature simulation. Each level is a short program students write and check in CodeGrove.

Under the Hood: free Python Programming 2 coding levels

Under the Hood

Seven lessons on modules, libraries and APIs, how code runs, classes and unittest, ending with an app. Each level is a short program students write and check in CodeGrove.

Team Project: free Python Programming 2 coding levels

Team Project

Six lessons on a web page that runs Python, built and tested by a team with version control and code review. Each level is a short program students write and check in CodeGrove.

Questions teachers ask

Are these Python Programming 2 coding levels free?

Yes. Every level is free to use, with no trial and nothing to buy. They are companions to our course, and you can use them without owning it.

Do students need an account or a login?

No. A student opens the link and the level starts. There is nothing to install: the code runs in the web browser.

Do the levels work on Chromebooks and phones?

Chromebooks, yes; phones, no. CodeGrove runs in a web browser on Chromebooks, laptops, desktops and larger tablets. Students type code, so it needs more room than a phone gives and says so when it is opened on one.

Is any student data collected?

CodeGrove never asks for a name, an email or an account. A student's code runs inside their own browser and is never sent to us, and their work is saved on that device only. The page itself counts anonymous visits with Google Analytics, the same as the rest of this site.

How does a level check a student's program?

Each level gives a task and a starting program. Run shows what the program prints. Check tests it with the task's example and some hidden tests, then says what passed and what to fix. Check is practice feedback, not a grade.

Do Intro to Python Programming and Python Programming 2 share saved work?

No. The two courses have their own levels, and CodeGrove saves each course's work separately on the student's device, so a level in one never overwrites the other.

What grade level are the levels for?

Grades 9 to 12, for students who already know Python's basics: variables, if statements, loops and simple functions. The levels pick up where Intro to Python Programming ends, and each one was built for one lesson of this course.

Do I need the course to use a level?

No. Every level explains its task, so it can stand alone. It lands best right after the lesson it was built for, which is why each level is tied to a specific lesson of the course.