Courses

Elementary School Courses Elementary School Courses

1100 - Electronics for Kids

Description: This electrifying course will provide your child with a fun, hands-on experience in exploring the inner workings of everyday devices powered by electrical circuits. Part 1 of the course uses Snap Circuits brand kits, where students will bring to life a photo sensor, a flashing light, and an adjustable-volume siren through hands-on building projects. Part 2, utilizing the AMERIDUO electronics basic kit, will dive deeper into the mysteries of electricity with a series of captivating hands-on projects. Your child will be amazed as they transform circuits into touch sensors using their fingers as resistors, create alarm clocks triggered by the sunrise, and more! Get ready for a thrilling adventure in the world of electrical circuits.

Prerequisites: Grade 3+. No experience required.

Programming Language: None

1300 - Beginner Robotics Sensors

Description: Introducing the perfect course for students looking to explore the world of Arduino! This course will guide students in crossing the beginner's line and understanding the use, terminology, and limitless potential of Arduino. The curriculum merges the best of both worlds by combining arts and technology to create a dynamic learning experience. In the first portion, students will master the most crucial skills for creating sensor-driven physical computing systems. The second portion will take these skills to the next level with hands-on interactive projects. Get ready to discover the exciting world of Arduino!

Prerequisites: Grade 4+. Finish course 1100 and 1200.

Programming Language: C Language

1500 - Beginner Robotics More Sensors

Description: Unleash your child's technical and creative potential with our Arduino project-based course! Guided by hands-on instruction, students will use the engineering design process to turn their ideas into reality. From problem analysis to solution building, our students will develop the skills to turn their imaginative concepts into functioning electronic creations. Empower your child's imagination and creativity through hands-on learning with our Arduino course.

Prerequisites: Grade 4+. Finish course 1300.

Programming Language: C Language

1700 - Beginner Robotics Car

Description: Get ready for hands-on, problem-solving fun in this exciting course! Your child will be challenged to design and create various devices, such as a robot car that can avoid obstacles and follow lines, using the power of Arduino. Our experienced instructors will guide students through the assembly process and programming, allowing them to bring their ideas to life. By the end of the course, students will have a strong understanding of how a wireless remote controller and the Arduino board communicate, allowing them to control their robot car with ease.

Prerequisites: Grade 5+. Finish course 1500.

Programming Language: C Language

1200 - Python for Kids

Description: This coding course is designed to introduce kids to the exciting world of programming! With just a desktop or laptop and an internet connection to download Python 3, they'll be on their way to building amazing graphics, addictive games, and useful apps. With step-by-step instructions and engaging videos, kids will learn essential coding concepts like loops and conditions, and tackle exciting projects such as cracking secret codes, creating quizzes for their friends and family, and building a fun matching game. Not only will they enhance their STEM skills, but this course also encourages kids to think creatively, work well with others, and approach problems systematically.

Prerequisites: Grade 3+. No experience required.

Programming Language: Python

1210 - Python Projects for Kids

Description: This comprehensive Python course covers all the crucial concepts in the latest versions, Python 3.10 and 3.11. You'll revisit and reinforce the key Python Programming Language Features that were taught in the "Python for Kids" course, including variables (global/local), strings, lists/tuples, if and while statements, functions, and modules. The hands-on projects and two games included in the course provide opportunities for hands-on practice and application of the concepts. You'll get to work on exciting projects such as a Random Factory, Pet Parade, Simple Text Editor, Simple Calculator, and Making a Deck of Playing Cards, among others.

Prerequisites: Grade 3+. Finish course 1200 or Python basics.

Programming Language: Python

1220 - Python Algorithms for Kids

Description: This course is designed for grade 3 to 5 students who have completed the "1200-Python for Kids" and "1210-Python Projects for Kids" or a similar Python course. The aim is to enhance their programming skills, creativity and logical thinking. We adopt the 4P creative learning method by MIT professor Dr. Mitchel Resnick, which includes Projects, Passion, Peers, and Play. This course includes 9 engaging and challenging programming projects, with a final project completed independently, to improve students' problem-solving skills and understanding of algorithms. Students will get the chance to apply their Python knowledge and skills through these projects, and develop a thinking strategy for problem-solving, an essential skill for future learning and work.

Prerequisites: Grade 3+. Finish course 1210.

Programming Language: Python

1240 - Python Game Development

Description: This course is for students aged 8 to 10 who have completed "1200-Python for Kids" (or similar entry-level Python) and want to improve their programming skills. It focuses on teaching students how to make games using Python, balancing fun and education. Inspired by MIT Professor Mitchel Resnick's "4P" Creative Learning Method, the course emphasizes "Projects, Passion, Peers, and Play". Students will complete 9 game programming projects, ranging from easy to challenging, using graphics-based PyGame libraries, and learn about key game design concepts like graphics, music, algorithms, and object-oriented programming. Through the process of writing games, students will develop coding skills, problem-solving abilities, and an understanding of storytelling.

Prerequisites: Grade 3+. Finish course 1200 or Python basics.

Programming Language: Python

Middle School Courses

2100 - Intermediate Robotics Sensors

Description: This course is perfect for students who are interested in bridging the gap between technology and art. The course provides a comprehensive introduction to the world of Arduino, including its uses, terms, and potential. In the first part of the course, students will learn the basics of creating a sensor-driven physical computing system, including essential skills and concepts. The second part of the course focuses on reinforcing these skills through the creation of interactive projects, providing hands-on experience and the opportunity to apply what was learned in the first portion of the course. This interdisciplinary approach allows students to see the connections between technology and art and develop their own unique perspectives and skills.

Prerequisites: Grade 6+. No experience required.

Programming Language: C Language

2300 - Intermediate Robotics Car

Description: This course offers hands-on experience for students to solve practical challenges and develop important skills, such as decision making, teamwork, and device creation. By building a robot car that can navigate obstacles and follow lines, students will learn the assembly process and programming skills using the Arduino platform. Upon completion, students will gain a deeper understanding of the communication between the wireless remote controller, the Arduino board, and the robot car via Bluetooth technology.

Prerequisites: Grade 6+. Finish course 2100.

Programming Language: C Language

2500 - Advanced Robotics Sensors

Description: This course is an introduction to the Raspberry Pi platform, using the latest Raspberry Pi technology. After completing this course, you will 1) understand all the components needed to run your Raspberry Pi; 2) learn to work with GPIO (General Purpose Input Output) pins and how to programmatically control them with Python; 3) build simple circuits with LEDs and interface them to GPIO pins; 4) learn about the different types of Raspberry Pi models; 5) make awesome projects using Raspberry Pi 3 and different sensors.

Prerequisites: Grade 6+. Finish course 2400.

Programming Language: Python

2700 - Advanced Robotics Car

Description: This course will teach students how to build a robot car with Raspberry Pi and Python. The car uses a step-down DC-DC converter module and a motor driver module with L298N. It also has a web cam with a USB Wi-Fi adapter so the user can check the video in a real-time on PC or cell phone. On the PC, the user can control the car's forward/backward and left/right movements, as well as vertically and horizontally to capture images in all different directions. Students learn about the basic components and modules in electronics; and use that knowledge to explore greater fields.

Prerequisites: Grade 6+. Finish course 2500.

Programming Language: Python

2400 - Python for Beginners

Description: This course is a comprehensive introduction to programming, starting with the basics and focusing on the Python programming language. Students will learn about the fundamental concepts of programming, and how these apply to any programming language. Throughout the course, students will study topics such as basic Python and console interaction, conditionals, looping, functions and exceptions, data structures, project Hangman, classes and objects, and functional programming. With each module, students will deepen their understanding of the Python programming language and build a solid foundation of programming skills.

Prerequisites: Grade 6+. No experience required.

Programming Language: Python

2420 - Python Data Science

Description: Join the hottest profession of the 21st century with this comprehensive course in Data Science. Gain a thorough understanding of how to work with and analyze data, from the basics of Python and Jupyter notebooks to advanced statistical analysis and machine learning methods. You'll learn how to manipulate datasets and use the most in-demand data science packages such as Numpy, Pandas, Scikit & Matplotlib. The course will conclude with a hands-on project that will allow you to apply your knowledge to solve a real-life business problem and demonstrate your newfound skills. With this course, you'll be equipped to take your place at the forefront of the digital economy.

Prerequisites: Grade 7+. Finish course 2400.

Programming Language: Python

2450 - Python Data Structures and Algorithms

Description: In this course, students will learn how to tackle practical problems by designing, analyzing, and implementing data structures and algorithms using Python. A range of topics will be covered, including fundamental data structures like arrays, stacks, queues, and lists, as well as more advanced structures such as trees and graphs. Students will also study the algorithms used to manipulate these structures and apply their knowledge to solve real-world problems. The skills and concepts learned in this course will not only aid in preparing for prestigious programming competitions such as the International Olympiad in Informatics (IOI) and the ACM contest, but also lay the foundation for learning machine learning.

Prerequisites: Grade 6+. Finish course 2400 or 2420.

Programming Language: Python

2460 - Python Machine Learning

Description: In this course, students will delve into the world of Artificial Intelligence and explore the Tensorflow framework. Tensorflow is widely used for building Deep Neural Networks and Convolutional Neural Networks that can be used for computer vision applications. The course will guide students through the process of installing Tensorflow on Raspberry Pi, a low-cost, credit-card-sized computer. They will then learn how to implement machine learning and deep learning algorithms on Raspberry Pi and develop a suite of applications that demonstrate the power of Tensorflow on this platform. By the end of this course, students will have a solid understanding of Tensorflow and the ability to build AI applications on Raspberry Pi.

Prerequisites: Grade 7+. Finish course 2420.

Programming Language: Python

2470 - Python AI

Description: This course empowers Raspberry Pi with the ability to see and understand its surroundings. It provides students with hands-on experience in creating image processing applications using Python and OpenCV. They will develop a deep understanding of how to make the Raspberry Pi recognize faces, text, and objects within images, and use this knowledge to build real-world image processing projects. Additionally, students will learn to integrate speech recognition technology, such as Google's API, into their projects, adding a new dimension to their Raspberry Pi's capabilities in areas such as home automation and artificial intelligence.

Prerequisites: Grade 8+. Finish course 2460.

Programming Language: Python

Middle School Courses
Middle School Courses

3200 - Python USACO Bronze

Description: The USACO is a highly-regarded computer science competition for pre-college students in the United States. This course is specifically designed for those aiming for Bronze-level recognition and success. Over the course of 12 lessons, students will develop a comprehensive understanding of the algorithms and data structures necessary to excel at the competition. With our proprietary class materials and hands-on practice with 50+ real USACO problems, students will be fully equipped to earn a promotion to the Silver division and beyond.

Prerequisites: Grade 6+. Finish course 2750.

Programming Language: Python

3400 - Python USACO Silver

Description: This advanced course is designed for students who are capable of consistently solving at least 50% of medium-level problems. The classes will focus on challenging problems, and there will be no lectures. Topics covered include BitSet, Binary operations & Exhaustive Search, Sorting (Array sort, Class array sort), Binary Search, Silver Level techniques (FloodFill, RMQ, Prefix Sums), Data Structures (Stack, Queue, Vector, Set, Map, Priority Queue), String Algorithms, Greedy Methods, Simulation, Ad-hoc Problems, Recursion, Depth First Search (DFS), Breath First Search (BFS), and an introduction to Graph Theory, Representations, DFS and BFS Traversals on Graphs.

Prerequisites: Grade 8+. Finish course 3100.

Programming Language: Python

3600 - Python USACO Gold

Description: This advanced course is designed for students who have already achieved mastery in solving basic to medium level problems in computer science. It focuses on challenging problems and does not include introductory lectures. Students are expected to consistently solve at least one problem of this level in contests. Topics covered in this course include: Binary operations and bitsets, data structures such as stacks, queues, vectors, sets, maps and priority queues, graph theory including DFS and BFS on graphs, minimum spanning trees and shortest path algorithms, dynamic programming, including Longest Increasing Subsequence, Knapsack, Coin Change and Edit Distance, and introductory geometric algorithms and greedy methods.

Prerequisites: Grade 9+. Finish course 3400.

Programming Language: Python

2900 - Innovation Competition for Beginners

Description: This course will equip students with the skills to build innovative projects using the Arduino platform and C programming language. From GPS tracking systems and simple RFID control systems to monitoring soil moisture and capturing video and images, students will learn to integrate a wide range of electronic devices and shields with Arduino. The course will also cover data logging, fingerprint scanning, and PH value detection, providing students with a comprehensive foundation for participating in top STEM competitions.

Prerequisites: Grade 7+. Finish course 2700.

Programming Language: C Language

College Interview Courses

4200 - Leetcode In Python

Description: This comprehensive course will equip students with the necessary skills to tackle coding problems of varying difficulties. The curriculum covers a range of algorithms and data structures and teaches a systematic approach to problem solving. Students will strengthen their problem-solving and programming abilities, and learn about popular problem patterns through hands-on practice. The 10 lessons cover topics such as Big O Notation, arrays and strings, binary search, stacks and queues, linked lists, sliding windows, backtracking, graphs, trees, and dynamic programming. Additionally, the course will prepare students for common interview questions in the field.

Prerequisites: College Student. Finish course 2400 or other Python course.

Programming Language: Python