Python Level 3: Algorithms Master

Age 14-18

Course Description

This course briefly reviews Python fundamentals and focuses on advanced topics in Python: recursion, searching and sorting algorithms, and big-O notation. The master project for this course requires students to rely on their analytical reasoning skills to recognize patterns, outline solutions to problems, and systematically develop algorithms that can handle rigorous testing. Students who excel in this course typically have a strong math background (Algebra 2 or higher). Algorithms are the backbone of programming, whether it comes to calculators or launching spacecraft. With this course, your child will gain a solid understanding of data structures and how algorithms use that data to carry out tasks—Google, Amazon, Facebook, and more are all examples of companies that carry out tasks with large data sets.

Who's this course for

Age 14-18

Prerequisites

  • Completion of Python Level 2 (or evidence of mastery of the key concepts from Python Level 2, but this is rare)
  • Familiarity with exponential and logarithmic functions is recommended.

This course typically takes 3-6 months to complete. This depends on the student's dedication to homework, their previous experience, and the difficulty of course material. Our instructors move at the pace of the student, taking extra time to reinforce concepts as needed.


  • Course modules


  • AM1 Review: Variables, Strings, Input, Loops, & Conditionals

    AM2 Review: Functions & Lists

    AM3 Review: Dictionaries & Recap

    AM4 Recursion Part 1

    AM5 Recursion Part 2

    Check-in #1

    AM6 Introduction to Algorithms & Runtime Analysis

    AM7 Binary Search

    AM8 Selection Sort & Insertion Sort

    Check-in #2

    AM9 Bubble Sort

    AM10 Merge Sort

    AM11 Quicksort

    AM12 File Input/Output

    Check-in #3

    AM13 Master Problem: Conway’s Game of Life

    AM14 Master Problem: Tic Tac Toe AI

My favorite course that I've taught so far is Python Level 3. By this point, the student has foundational knowledge of writing code in Python, which sets them up excellently to start learning about concepts that permeate throughout computer science. And then, the student learns about tangible applications of these concepts in order to create efficient and functioning algorithms. The coalescence of knowledge is a great thing to be a part of.

Farukh Saidmuratov, Juni instructor

Rensselaer Polytechnic Institute

Try the full Juni experience for free

Get 2 weeks of membership free to see if our program is right for your child. If you’re not satisfied, cancel your membership at no cost.