Code School Finland

Go back
CertifiedEducation quality
Code School Finland

Code School Finland

Suomen Koodikoulu Oy
Code school Finland provides lesson plans and materials for teaching programming with Scratch and Lego Mindstorms

Code School Finland provides training and teaching materials for programming and robotics in primary education. Code School Finland's material library consists of learning modules and hands-on implementation projects for primary education grades. The library fulfills the objectives set for programming in the Finnish and UK national core curriculums as well as the US CSTA K-12 standards. Projects are integrated with subject studies, such as chemistry, arts and music and can be used for phenomenon-based learning. Programming is done with Scratch. Code School Finland also provides good teacher materials for teachers to learn the required skills themselves.

Age groups 
Middle school
Professional education
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.

Code School Finland provides comprehensive materials for teachers to teach the basics of programming for their students. All the activities are designed so that that the students are in the center of the activity. After a demonstration to the new subject or practicing of the new concepts, there are activating challenges or tasks for the students. Most of the tasks are open-ended so it's up to the students to decide how they want to solve the problem at hand. The activities include using Scratch
The learning is based on coming up with solutions to open-ended problems. Students get to solve broad-based problems that usually combine several subjects from mathematics to arts and physical education. Students get to use their imagination and be creative during the process, so the end-results might differ from student to student. The beginning of a new project is usually quite teacher-led and structured but it is possible for the teacher to modify the approach if needed.
Code School Finland's program follows a linear, predetermined user progression. It doesn't require any previous coding experience neither from the teachers or students. Even though the activities are for a certain age group, it is easily done so that a bit older students without any previous experience start from the easiest activities and continue to the following ones. It is easy for teachers to predict what students will learn throughout the learning process.
Most of the learning activities can be done with another student or in small groups. This way the collaboration and information sharing is in the core of the program. Students are responsible for each other so that they will get the project done in a set timeline and they get to rehearse collaboration skills and communication.

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

Code School Finland provides comprehensive materials to practice programming. Materials give a good foundation for learning more, so they motivate the students to explore further with Scratch.
The multidisciplinary courses are interesting and allow looking at the project from different angles. The projects combine innovatively different subjects from arts to society studies and chemistry.
Materials activate students and provide open-ended projects that require creative thinking.
Materials give a good foundation for learning more, so they motivate the students to explore programming further with Scratch.

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

Understand what algorithms are, how they are implemented as programs on digital devices, and that programs execute by following precise and unambiguous instructions.
Use logical reasoning to predict the behaviour of simple programs.
Create and debug simple programs.
Recognise common uses of information technology beyond school.
Design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts.
Use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs.
Use sequence, selection, and repetition in programs; work with variables and various forms of input and output.
Select, use and combine a variety of software on a range of digital devices to design and create a range of programs, systems and content that accomplish given goals, including collecting, analysing, evaluating and presenting data and information.
Analysing problems in computational terms, and have repeated practical experience of writing computer programs in order to solve such problems
Evaluating and applying information technology, including new or unfamiliar technologies, analytically to solve problems
Practicing to be responsible, competent, confident and creative users of information and communication technology
Understanding and applying the fundamental principles and concepts of computer science, including abstraction, logic, algorithms and data representation
Using information technology to create programs, systems and a range of content
Create, reuse, revise and repurpose digital artefacts for a given audience, with attention to trustworthiness, design and usability.
Design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems.
Understand several key algorithms that reflect computational thinking [for example, ones for sorting and searching]; use logical reasoning to compare the utility of alternative algorithms for the same problem.
Understand simple Boolean logic [for example, AND, OR and NOT] and some of its uses in circuits and programming; understand how numbers can be represented in binary, and be able to carry out simple operations on binary numbers.
Understand the hardware and software components that make up computer systems, and how they communicate with one another and with other systems.
Undertake creative projects that involve selecting, using, and combining multiple applications, preferably across a range of devices, to achieve challenging goals, including collecting and analysing data and meeting the needs of known users.
Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops.
Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions.
Develop plans that describe a program’s sequence of events, goals, and expected outcomes.
Give attribution when using the ideas and creations of others while developing programs.
Develop programs with sequences and simple loops, to express ideas or address a problem.
Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
Create programs that include sequences, events, loops, and conditionals.
Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features.
Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation, and review stages of program development.
Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
Use an iterative process to plan the development of a program by including others' perspectives and considering user preferences.
Create programs that use variables to store and modify data.
Create clearly named variables that represent different data types and perform operations on their values.
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.
Document programs in order to make them easier to follow, test, and debug.
Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
Systematically test and refine programs using a range of test cases.
Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.
Design projects that combine hardware and software components to collect and exchange data.
Model how computer hardware and software work together as a system to accomplish tasks.
Collect data using computational tools and transform the data to make it more useful and reliable.

Soft skills learning goals

Practicing to use arts as a way to express
Understanding technological system operations through making
Using technology as a part of explorative and creative process
Using technological resources for finding and applying information
Practicing logical reasoning, algorithms and programming through making
Experiencing and exploring sounds and music from different sources
Learning to acquire, modify and produce information in different forms
Developing problem solving skills
Practicing to create questions and make justifiable arguments based on observations
Practicing to look things from different perspectives
Practicing to plan and execute studies, make observations and measurements
Practicing strategic thinking
Practicing persistent working
Practicing to evaluate one's own learning
Practicing creative thinking
Encouraging students to be innovative and express new ideas
Practicing to work with others
Learning to listen other people’s opinions
Learning decision-making, influencing and accountability
Practicing to give, get and reflect feedback
Enabling the growth of positive self-image
Practicing time management
Encouraging positive attitude towards work life
Learning to plan and organize work processes
Practicing decision making
Practicing versatile ways of working
Connecting subjects learned at school to skills needed at worklife
Practicing to notice causal connections
Learning to build information on top of previously learned
Encouraging to build new information and visions
Learning to combine information to find new innovations
Practicing to notice links between subjects learned
Building common knowledge of technological solutions and their meaning in everyday life
Using technology resources for problem solving

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