Guide for students about learning programming

(ZT) 对编程的一些概述。看看不同年龄段应该上什么Level 的编程。

Programming is very beneficial for students to learn early on. Coding helps develop problem-solving, logic, and perseverance. It also opens up many careers and allows you to develop creativity and computational thinking. Most importantly though, it is fun easy to

learn. Here is the guide how to choose the right class for students.

1. Scratch Beginner/Intermediate

Scratch is perfect for elementary students with time on their hands. Scratch is much easier to understand and can be as powerful as Java or Python. Elementary-age students are recommended to take Scratch beginner and advanced courses instead of Python or Java. Scratch is an easy to learn, block based programming language. It uses simple blocks of code which can be put together to create complex functions. Even though all these blocks are incredibly simple, together they allow you to create almost anything. Scratch lets you create your own characters and games art and interactive videos. Although it is very simple, it will give students the knowledge to quickly and easily learn other programming languages.

Scratch, while easy, can be very complex. It takes time and effort to learn the ins and outs of it.

2. Python Beginner/Intermediate

Python is great for middle and high-school students. Python is easy to learn and is very powerful. It’s designed to be easy to read and interpret, so it is quick to pick up and program with. It is much more powerful and can go much farther than Scratch.

3. Python Advanced (Python Data Structures and Algorithms)

After taking Python Beginner/Intermediate, students can take Python Advanced, where they will learn about data structures and algorithms. Middle school students and over. The way of programming has evolved, in recent years, along with the requirements from diverse users, multiple functions, and latest methodology in addition to dramatically increase of computation power, sizable memory, multiple processing in parallels and computation through clouds and edges. Modern programming algorithms has created a spiral of complexity through which future successful researchers and engineers must navigate. Throughout the course, students will be exposed with a number of advanced data structures and complicated algorithms, which help lay down solid foundation and allow students to further harness the power of the Python programming language.

4. Java beginner / intermediate level

Suitable for middle students who have studied python or other programming languages, or high school students who want to prepare for AP Computer Science in advance。 Java is faster than Python and more suitable for creating games and applications. As an Object Oriented Programming Language, programmers in Java create classes and objects which allow for very complex programming applications. Java has been used to program games like Minecraft, and Java applets are found on websites everywhere.

5. AI/Machine learning

Students who have finished the Python Advanced course are able to start the AI/Machine learning. AI requires a very strong foundation of programming and mathematics (at least pre-Calculus). Students will learn the concepts behind Machine Learning and will be able to harness state-of-the-art algorithms to solve modern-day problems. Artificial Intelligence has countless applications, including data point classification, self-driving cars, object detection, image classification, original poem composition, and much more. Students will learn about many different Machine Learning algorithms, including KNN, random forest, SVM, and deep neural networks.


USACO bronze level is equivalent to math competition AMC12. The requirement for middle school and high school students is to get started with python, familiar with array (array list), function (function), can write some basic small programs independently (list all prime numbers within 200, give an array list of 10 numbers, can use Own logic code to sort).

USACO is the biggest and most important coding competition in US. There are 4 online open programming contests each year for all levels. Any student can take the online contests anywhere. The minimum requirement is a computer, internet, and register a free

account. The contest is also very similar to software company job interview focusing on logic / algorithm / data structure.