Go back
CertifiedEducation quality


Programming and electronics
Halocode is a single board, programmable computer

Halocode is a small but versatile computer, which can be used for several kinds of projects. It has capabilities for IoT creations, speech recognition and other projects which take advantage of its many sensors and possibilities. Halocode can be programmed using mBlock 5 program by Makeblock, which uses both visual block bases programming language and Python. Makeblock also offers lot of examples for using Halocode.

Age groups 
Middle school
High School
Tertiary Education
Professional education
English US
English UK
Traditional Chinese
Desktop Windows
Desktop Mac
Mobile Android
Mobile iOS
Not required
Offline play 
Playable offline
Educational Quality
Learning Goals

The pedagogical analysis covers how the product supports learning of the identified skills. The student’s role is assessed by four contrary pair parameters, which are selected to cover the most essential aspects on the use of the product.

Halo Code is a small, programmable board computer. It has plenty of sensors and led lights, which enables multiple types of uses and quite complex creations. Currently the product includes a manual with several example projects. Usage is very free, as the user can freely choose what and how to learn, although the manual gives good guidance for the first steps.
All learning is based on doing and creating things. The solution requires utilizing learned in open-ended problem solving - although the manual offers example projects, the user needs to define themselves, what they want to do, and that way choose their own learning path based on their own interests. Progress is always based on mastering new skills. This approach is good for motivated students.
Halo Code materials promote non-linear, progressive, user progression and free exploration of tools and/or content. As mentioned before, this approach is well suited for motivated students, who already have some idea of what they would like to do.
Because Halo Codes are small and works best for projects executed independently by the learners. However, Makeblock offers an open learning community to share information, thoughts, and experiences, which expands the learning process a lot. In a classroom, The solution allows the user to act openly and show their own activity, and when the class has multiple devices, it's easy to compare your solution to those of the other students.

The following are the high educational quality aspects in this product.

Product includes innovative ways to program and supports creativity.
Product is easy to start using but still offers almost endless ways to use it.
It is easy way to switch between programming languages
Halocode offers multiple ways to explore the possibilities of IoT, for example voice control or facial recognition.

The supported learning goals are identified by matching the product with several relevant curricula descriptions on this subject area. The soft skills are definitions of learning goals most relevant for the 21st century. They are formed by taking a reference from different definitions of 21st century skills and Finnish curriculum.

Subject based learning goals

Can analyse problems in computational terms, and have repeated practical experience of writing computer programs in order to solve such problems.
Can evaluate and apply information technology, including new or unfamiliar technologies, analytically to solve problems.
Understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions.
Create and debug simple programs.
Use logical reasoning to predict the behaviour of simple programs.
Design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts.
Use sequence, selection, and repetition in programs; work with variables and various forms of input and output.
Use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs.
Learn to analyse problems in computational terms
Design and develop modular programs that use procedures or functions.
Can understand and apply the fundamental principles and concepts of computer science, including abstraction, logic, algorithms and data representation.
Use two or more programming languages, at least one of which is textual, to solve a variety of computational problems.
Develop and apply their analytic, problem-solving, design, and computational thinking skills.
Harjoitellaan laitteiden, ohjelmistojen ja palveluiden käyttöä ja opetellaan niiden keskeisiä käyttö- ja toimintaperiaatteita.
Oppilaat saavat ja jakavat keskenään kokemuksia digitaalisen median parissa työskentelystä sekä ikäkaudelle sopivasta ohjelmoinnista.
Luodaan oppilaille mahdollisuuksia etsiä, kokeilla ja käyttää omaan oppimiseen ja työskentelyyn parhaiten sopivia työtapoja ja -välineitä.
Tutkitaan tieto- ja viestintäteknologian vaikutusta arkeen ja otetaan selvää sen kestävistä käyttötavoista.
Harjoitellaan systematisoimaan, organisoimaan ja jakamaan tiedostoja sekä valmistamaan erilaisia digitaalisia tuotoksia itsenäisesti ja yhdessä.
Recognise common uses of information technology beyond school.
Understand the hardware and software components that make up computer systems.
Develop the creative, technical and practical expertise needed to perform everyday tasks confidently and to participate successfully in an increasingly technological world.
Select from and use a wide range of materials and components, including construction materials, textiles and ingredients, according to their characteristics.
Investigate new and emerging technologies.
Apply computing and use electronics to embed intelligence in products that respond to inputs [for example, sensors], and control outputs [for example, actuators], using programmable components [for example, microcontrollers].
Make appropriate use of data structures.
Understand and apply the fundamental principles and concepts of computer science, including abstraction, logic, algorithms and data representation.
Understand simple Boolean logic and some of its uses in circuits and programming.
Understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instruction.
Model how computer hardware and software work together as a system to accomplish tasks.
Systematically identify and fix problems with computing devices and their components.

Soft skills learning goals

Practicing to notice causal connections
Encouraging to build new information and visions
Learning to combine information to find new innovations
Understanding technological system operations through making
Using technology as a part of explorative and creative process
Practicing logical reasoning, algorithms and programming through making
Learning to notice causal connections
Learning to find the joy of learning and new challenges
Creating requirements for creative thinking
Practicing creative thinking
Encouraging students to be innovative and express new ideas
Practicing to use imagination and to be innovative
Practicing to use imagination and to be innovative
Developing problem solving skills
Learning to build information on top of previously learned
Practicing to work with others
Learning decision-making, influencing and accountability
Enabling the growth of positive self-image
Practicing decision making
Connecting subjects learned at school to skills needed at worklife
Practicing logical reasoning to understand and interpret information in different forms
Building common knowledge of technological solutions and their meaning in everyday life
Using technology resources for problem solving
Using technology for interaction and collaboration
Using technology as a part of explorative process
Practicing persistent working
Practicing to find ways of working that are best for oneself
Practicing to improvise
Practicing to use arts as a way to express
Practicing strategic thinking
Encouraging positive attitude towards work life
Practicing versatile ways of working
Learning to face failures and disappointments
Practising to understand visual concepts and shapes and observe their qualities
Using technological resources for finding and applying information
Understanding and practicing safe and responsible uses of technology
Practicing to notice links between subjects learned
Practicing fine motor skills
Practicing to observe spoken and written language

The Finnish Educational Quality Certificate

Our Quality Evaluation Method is an academically sound approach to evaluating a product’s pedagogical design from the viewpoint of educational psychology.

The method has been developed with university researchers and all evaluators are carefully selected Finnish teachers with a master's degree in education.

More about the evaluation