The Northern Horizon computer programming class incorporates real-time, real-world projects with industry and government organizations, such as NASA and the United Nations (UN).

We offer a unique – one-of-a-kind experience for summer campers. The program consists of three integrated activities for campers:

  • Coding on the NASA WorldWind Platform
  • Hands-on experimentation with electrical circuits training
  • Hands-on learning of Unmanned Aircraft Systems (drones) with high-definition cameras, and learn how to take aerial photography and mapping

The summer program is taught  by Mr. Anson Zhao.



Q1: Which computer languages are taught?

A1: We teach web programming with JavaScript/CSS/HTML.

Q2: What are the differences between your computer programming class and others?

A2: Our program utilizes advanced real-world, project-based learning methods to accelerate students’ skills development. The traditional form of teaching programming is to have students learn by listening to lectures, taking notes, memorizing knowledge points, and completing programming challenges.

Students experience short lecture times, and extend practice time, to help them achieve more, and quickly build on these achievements. The more performance, the more fun one experiences, and the more confident the student becomes.
(See Q3 below for more detail about our quick achievement teaching approach).

Another difference is in curriculum designs. Typically, the teacher would use a syllabus and modules to teach programming. We tailor our topics/units for an outcome, a curriculum more task-oriented and project-based.

Usually, teaching programming’s key objective is to assist students in mastering a computer language’s concept in theory. Our objective is to assist students in developing practical problem-solving skills by working on real-time, real-world projects in teaching programming.

Q3: What do students do in daily programming class?

A3: There are two different phases to our programming class: Building a foundation and Real-time project application.

In the first phase (building a foundation), we provide short learning tutorials that include working through small challenges and projects to help students establish problem-solving strategies. We use Khan Academy as a learning platform for this.

In the second phase, students are taught how to use a professional programming tool to do coding on the NASA WorldWind 3D platform to complete their final tasks.

Q4: How do you deal with different student levels and experience in one class?

A4: The computer programming curriculum is designed to accommodate students on three different levels, starting with no experience. Each level has dedicated lectures, challenges, projects, and tasks. For those students at similar levels, our learning platform can adjust the pace for each student.

Q5: Who can join this programming class?

A5: Students must be entering Grade 8 or above to be accepted. No previous programming experience is required.

Q6: What can students expect by the end of the class?

A6: As described in Q4, the computer programming curriculum is deigned for three different levels. At each individual level there are final tasks to be completed. By the end of the class, students are expected to:

  •     Have a solid foundation in JavaScript
  •     Be able to develop problem-solving strategies
  •     Be able to complete all final tasks within NASA/UN real-time projects
  •     Develop enthusiasm and a keen interest in programming

Q7: What is the teacher’s background?

A7: Mr. Anson Zhao has more than 25 years of experience in IT and is a trained instructor. He has taught computer programming at Northern Academy for four years.

Q8: What do I need to prepare for this class?

A8: You need to have a computer (Windows/MacOS), a headset (Microphone and Speaker), and an Internet connection. Technical support is available from the instructor.