New Courses. New Skills.

Discover real skills for the world right now. Over 14 NEW courses are here at Juni.

Python Level 3: Algorithms Master

It’s time to watch algorithms come to life. In this course, learners create data structures and algorithms and use them on large data sets. These skills are the backbone of companies like Google, Amazon, and Facebook, so learning them now could be a secret weapon for their future career.

First class free!
$62.50/ class
Billed Monthly
Total Billing $250
Python Level 3: Algorithms Master
Format
Private 1:1
Age
Ages 14-18
Duration
Duration 6-8 months
Class size
Personalized 1:1 Instruction

50-minute sessions available Monday-Sunday 7am-7pm PT

Juni Instructor Kara sitting on a couch

Get hand-matched with an instructor that meets your child’s schedule and learning style. To begin, click the button below and select 3 potential timeslots during the week that work for your family and share some details about your learner. We’ll match you and set up your first class!

What and how will you learn?

  1. Completion of Python Level 2 (or evidence of mastery of key concepts from Python Level 2)
  2. Familiarity with exponetial and logarithmic functions is recommended

Instructors will assign students roughly 60 minutes of project related homework at the end of each session. Homework is designed to complement the class experience and ensure the student continues to gain practical experience outside of the session.

  1. Func-1: I know how to take a substring of a string in Python

  2. Func-2: I can use the split() function correctly in Python

  1. Recursion-1: I know what a recursive function is and its two key components

  2. Recursion-2: I can write a basic recursive function in Python

  3. Recursion-3: I can write more complex recursive functions involving multiple self calls in Python

  4. Recursion-4: I can predict the outcome of a recursive function

  1. Stacks-1: I know what a stack is

  2. Stacks-2: I can create a stack in Python

  3. Stacks-3: I can use the append() function correctly with stacks in Python

  4. Stacks-4: I can use the pop() function correctly with stacks in Python

  5. Stacks-5: I know when it is appropriate to use a stack to solve a problem in code

  1. Time-1: I know what Big-O analysis is

  2. Time-2: I am able to identify the time complexity of a function

  3. Time-3: I understand the difference between the best-case and worst-case scenario of an algorithm

  4. Time-4: I am able to identify the time complexity of an algorithm with loops

  5. Time-5: I am able to identify the time complexity of a recursive function

  1. Linear-1: I understand and can explain the process by which the Linear Search algorithm searches for a piece of data

  2. Linear-2: I can implement a Linear Search algorithm in Python

  3. Linear-3: I know the time complexity of Linear Search

  1. Binary-1: I understand and can explain the process by which the Binary Search algorithm searches for a piece of data

  2. Binary-2: I can implement a Binary Search algorithm in Python

  3. Binary-3: I know the time complexity of Binary Search

  1. Selection-1: I understand and can explain the process by which the Selection Sort algorithm sorts data

  2. Selection-2: I can implement a Selection Sort function in Python

  3. Selection-3: I know the time complexity of Selection Sort

  1. Insertion-1: I understand and can explain the process by which the Insertion Sort algorithm sorts data

  2. Insertion-2: I can implement an Insertion Sort function in Python

  3. Insertion-3: I know the time complexity of Insertion Sort

  1. Bubble-1: I understand and can explain the process by which the Bubble Sort algorithm sorts data

  2. Bubble-2: I can implement a Bubble Sort function in Python

  3. Bubble-3: I know the time complexity of Bubble Sort

  1. Merge-1: I understand and can explain the process by which the Merge Sort algorithm sorts data

  2. Merge-2: I can implement a Merge Sort function in Python

  3. Merge-3: I know the time complexity of Merge Sort

  1. Quick-1: I understand and can explain the process by which the Quicksort algorithm sorts data

  2. Quick-2: I can implement Quicksort in Python

  3. Quick-3: I know the time complexity of the best and worst case scenarios of Quicksort

  1. File-1: I know how to open a file in Python

  2. File-2: I know how to read from a file in Python

  3. File-3: I can use the strip() function correctly in Python

  4. File-4: I can use the read() and readlines() functions correctly in Python, and I understand the difference between them

  1. I use spacing and logical variable names to improve my code's readability

  2. I regularly comment my code to improve my code's readability

  3. I appropriately and frequently test my code

  4. I can independently debug my code

  5. I can independently determine which data structures are best for a project

  1. Joyful Collaboration

    1. I practice listening to my instructor and sharing my ideas to co-create understanding.
    2. I attempt tasks independently and ask my instructor questions when I need help.
  2. Unlimited Curiosity

    1. I take ownership of my learning by asking meaningful questions both when I need clarification and when I want to know more about a topic.
  3. Nimble Determination

    1. I practice resilience when I am frustrated that I have not yet achieved mastery of a new concept or skill; instead of complaining about challenges, I try new approaches and creative solutions.
  4. Invest in Excellence

    1. I arrive to class on time and prepared to learn, with my computer set up with a strong internet connection.
    2. I complete my homework on time, and if I cannot complete my homework due to other obligations, I honestly communicate the reasons for late homework to my instructor.
    3. I do my best to stay present and on task for the whole session. I support my focus by putting away any distracting technology and setting notifications on my device to “do not disturb” mode.

Who are Juni’s Instructors?

Our instructors are subject matter experts from top US universities. Instructors are highly-vetted and background checked prior to joining and undergo extensive training before ever teaching on our platform.

Upon signing up, parents are asked a series of questions that allow us to match your child with an optimal instructor based on their unique needs and interests. Factors that are considered in our matching process include Learning Style, Personality, Personal Experience, and Academic & Career Aspiration.

Headshot for Puja D
Puja D
I really like bringing a strong energy to my classes, and sharing excitement with my students about learning new topics.

Real Reviews from Real Parents

4.9 out of 5

Trustpilot

Ray

My 3 sons ages, 10 1/2, 9 and 7 started using Juni in early June 2020 and absolutely love it. The instructors are college age kids and they relate to my boys very well. My oldest is doing both the coding and math tracks and I feel like he will be way ahead of his 5th grade class come the fall. Once the other two are old enough I will certainly be enrolling them in math as well.

Tarun Mehta

Juni has been amazing for my daughter. She is a reluctant learner when it comes to Computer Languages, but the Juni instructors have been engaging to her at a level where she feels comfortable with them and they manner in which they present the curriculum. They understood my ask that I Wanted her to start liking computer languages, and they are presenting the information in a way that is fun and relatable. I am very happy with my Juni experience and my daughter's journey with Juni so far!

Pooja

I have two boys taking classes and the Juni takes the time to match the right instructor for my children. They are patient and very consistent in their teaching. The boys are thoroughly enjoying their class and love accomplishing and learning new things!

Start Learning with Juni

Turn your child’s passion into a professional skill