Kodecoon Academy

Go back
CertifiedEducation quality
Kodecoon Academy

Kodecoon Academy

Kodecoon Academy
Age groups 
Middle school
High School
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.

Kodecoon teaches programming through hands-on tasks, and the creating code gives the students instant feedback. Kodecoon provides excellent pre-curated material for progressive lessnons. The tasks the students are doing are all very relevant, and also introductory content is making the students do things themselves.
Kodecoon courses start from the very basics, like introducing coordinates and negative numbers. Younger students can grasp these through demonstrative introductory tasks. All course participants follow the same lesson goals and content, but if needed, the teacher can take the action and adjust the content according to the students' needs. Kodecoon offers courses for various skill levels.
The Kodecoon lessons follow linear, predetermined user progression, where progress can be predicted and scheduled accurately. The theory or introduction lessons are followed by more creative project lessons, which makes the pacing nice. Some attention is also given to visual presentation and that way using programming as artistic expression.
The students are mainly individually responsible for completing the course tasks. They create code on their own device and work on their own projects. The courses include some activities that are done in pairs or together with the group in class, which makes learning a bit more social and interesting.

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

Kodecoon lessons teach coding very constructively through hands-on projects
Lesson projects are interesting and it is possible to create something impressive with very quickly.
The lessons structure is very clear and the teacher material is very well made.

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

Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions.
Create programs that use variables to store and modify data.
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.
Model the way programs store and manipulate data by using numbers or other symbols to represent information.
Develop programs with sequences and simple loops, to express ideas or address a problem.
Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops.
Using correct terminology, describe steps taken and choices made during the iterative process of program development.
Model daily processes by creating and following algorithms (sets of step-by-step instructions) to complete tasks.
Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
Demonstrate code reuse by creating programming solutions using libraries and APIs.
Plan and develop programs for broad audiences using a software life cycle process.
Develop programs for multiple computing platforms.
Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (code documentation) in a group software project.
Develop and use a series of test cases to verify that a program performs according to its design specifications.
Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality).
Evaluate key qualities of a program through a process such as a code review.
Compare multiple programming languages and discuss how their features make them suitable for solving different types of problems.
Describe how artificial intelligence drives many software and physical systems.
Implement an artificial intelligence algorithm to play a game against a human opponent or solve a problem.
Use and adapt classic algorithms to solve computational problems.
Evaluate algorithms in terms of their efficiency, correctness, and clarity.
Compare and contrast fundamental data structures and their uses.
Illustrate the flow of execution of a recursive algorithm.
Construct solutions to problems using student-created components, such as procedures, modules and/or objects.
Use an iterative process to plan the development of a program by including others' perspectives and considering user preferences.
Analyze a large-scale computational problem and identify generalizable patterns that can be applied to a solution.
Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation, and review stages of program development.
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.
Use flowcharts and/or pseudocode to address complex problems as algorithms.
Create clearly named variables that represent different data types and perform operations on their values.
Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
Create procedures with parameters to organize code and make it easier to reuse.
Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge and personal interests.
Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables.
Justify the selection of specific control structures when tradeoffs involve implementation, readability, and program performance, and explain the benefits and drawbacks of choices made.
Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects.
Create artifacts by using procedures within a program, combinations of data and procedures, or independent but interrelated programs.
Systematically design and develop programs for broad audiences by incorporating feedback from users.
Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs.
Develop plans that describe a program’s sequence of events, goals, and expected outcomes.
Discuss computing technologies that have changed the world, and express how those technologies influence, and are influenced by, cultural practices.
Demonstrate ways a given algorithm applies to problems across disciplines.

Soft skills learning goals

Building common knowledge of technological solutions and their meaning in everyday life
Using technology resources for problem solving
Understanding technological system operations through making
Using technology as a part of explorative and creative process
Practicing logical reasoning, algorithms and programming through making
Using technology as a part of explorative process
Learning to find the joy of learning and new challenges
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
Understanding and practicing safe and responsible uses of technology
Learning to notice causal connections
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
Practicing to use arts as a way to express
Developing problem solving skills
Learning consumer knowledge and smart economics
Learning to plan and organize work processes
Practicing decision making
Practicing versatile ways of working
Connecting subjects learned at school to skills needed at working life
Realizing the connection between subjects learned in free time and their impact to skills needed at worklife
Learning to acquire, modify and produce information in different forms
Practicing to use information independently and interactively
Practicing keyboard skills and touch typing
Using technological resources for finding and applying information
Using technology for interaction and collaboration
Using technology for interaction and collaboration (also internationally)
Practicing memorizing skills
Practicing fine motor skills
Practicing categorization and classification
Practising visual recognition
Practicing persistent working
Practicing to find ways of working that are best for oneself
Practicing to evaluate one's own learning
Practicing to improvise
Practicing to plan and execute studies, make observations and measurements
Practicing strategic thinking
Learning to face failures and disappointments
Encouraging the growth of positive self-image
Practicing to work with others
Learning to listen other people’s opinions
Learning decision-making, influencing and accountability
Practicing communication through different channels
Learning to understand the meaning of rules, contracts and trust
Practicing to give, get and reflect feedback
Enabling the growth of positive self-image
Encouraging positive attitude towards working life
Practicing time management

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