Glossary

View Source

These are some of the terms used in our application. It helps to understand how this application is structured.

Courses

Courses are the main building blocks of Zoonk. They group multiple chapters and they are used to go deeper into a specific subject. For example:

CourseChapters
PhysicsClassical Mechanics, Quantum Mechanics, Thermodynamics
ChemistryOrganic Chemistry, Inorganic Chemistry, Physical Chemistry
BiologyCell Biology, Genetics, Evolution
MathAlgebra, Geometry, Calculus
Computer ScienceAlgorithms, Data Structures, Operating Systems
HistoryAncient History, Medieval History, Modern History

Chapters

Chapters are a group of lessons. For example:

ChapterLessons
Intro to ProgrammingVariables, Data Types, Control Flow, Functions, Arrays, Objects, Loops
Chemistry of LifeAtoms, Molecules, Cells, Tissues, Organs, Organ Systems

Lessons

Lessons are very small units of knowledge. They cover only a single topic for better understanding - and they have a fixed set of exercises:

Exercise KindDescription
:explanationA static exercise that provides an explanation of a topic. It provides text and visual aids to help users understand the topic. It works like swiping through social media posts.
:examplesSame format as explanation, but it provides examples of how to apply the knowledge in practice, showing where and when to use the knowledge.
:storyAn interactive exercise using storytelling to show how that knowledge can be applied in real life. It has an image, a short text, and actions that the user can take to progress through the story.
:quizA quiz with multiple-choice questions to test the user's knowledge. It provides immediate feedback on the user's answers and explanations for the correct answers.

Translations

Zoonk supports multiple languages. This is why we have a _translations table for each content type. For example:

TableTranslations Table
coursescourse_translations
chapterschapter_translations
lessonslesson_translations
exercisesexercise_translations

This allows us to update all translations at once. For example, if we fix an error in the English translation, we can update all other translations at the same time.