Jeux H.urna Blocks
Introduction à la programmation avec des blocs : aidez Globo à sortir des labyrinthes !
Algorithmes de tris
Agrégation (En-Place)
Tri à Bulles
Tri Cocktail
Tri à Peignes - Comb sort
Tri Fusion (En Place) - Merge sort (In Place)
Partitionnement
Tri Rapide (Quick Sort)
A bientôt pour de nouveaux modules et jeux éducatifs.
PS: Un lexique pour les caractéristique des algorithmes de tris ainsi qu’un cours sur la complexité algorithmique sera bientôt disponible pour les non-initiés.
H.urna - Rendre accessible la science
]]>While professional programmers create softwares by writing lines of code for a computer to interpret, you get started here with a visual programming tool you can freely play with. And don’t worry, this game is progressive so you can learn programming concepts step-by-step.
Go to H.urna Explorer and try to solve those first 10 mazes:
Note: the difficulty is still interesting even for those who do programming ; )
You may go to H.urna Wiki to learn more about mazes, the game as well as a solution for each level. If you want to discuss about the game and/or request for the next ones, do not hesitate to get in touch with H.urna Community.
Note: With this update we also improved the general user experience flow : you now have quick launch and no more interaction necessary to change any model/level within block, fractal and graphing calculator modules.
Note bis: This first game is inspired from Blockly; new original games development are on the pipe : )
Hurna - Play with sciences.
]]>“Your mind is a walled garden. Even death cannot touch the flowers blooming there.”
(Ford - Westworld)
For thousands of years, humans have been fascinated by mazes and labyrinths : they built them, told stories about them, created games and puzzles around them, and even studied animal comportments within them.
Please note that maze and labyrinth does not have the same meaning. Compared to mazes there are no tricks or dead ends on labyrinths : they have a single circuitous path instead (they are unicursal) and are most often used for relaxation, meditation or spirituality.
Itoi Labyrinth - Man in the maze (described within spiritual section below)
According to ancient Greek legend, the original maze was built by the architect Daedalus and his son Icarusto to house the Minotaur : a creature with the body of a man and the head of a bull. The legend further tell that Daedalus had so cunningly made the maze, he could barely escape it after the construction.
From the mythological mazes of Ancient Greece to the massive vegetation / ice / stage / corn mazes of the 21st century, here is 3 of the main reasons why we think mazes are so attracting.
Entertaining
Maze are confusing and comforting at the same time : we are lost, but heading toward an existing exit. It makes it very entertainable and addictive.
Since the 16th century, mazes were meant to entertain, as well as to provide private, out-of-the-way places for secret meetings. Nowadays, they are in all forms and you may find them everywhere : on almost all of the cereal boxes, at amusement parks (e.g. Alice in Wonderland, Mirror labyrinth at the fair), in board games (e.g. the game that’s literally named “Labyrinth”), in video games (almost in all of them), in movies (e.g. the film that’s literally named “Labyrinth”) etc.
Educative
Children seem to have an almost immediate and deep natural connection with mazes. They will take on the challenge of almost any maze. Maze provides the experience of problem solving while kiddos see it as a game. Instead of hurt feelings or embarrassment a classical problem may have, mazes assist anyone to calm down, make transitions, and focus.
Mazes particularly help children to develop skills such as:
Spiritual
There is love in the labyrinth
There is darkness in the labyrinth
The exit may not be where you think it is
We all are on a path. The labyrinth is a metaphor for life’s journey; a symbol that creates a sacred space and place that takes us out of our ego to that which is within. Ancient labyrinths were designed to be serene and introspective. In some lands, young men would walk through a labyrinth as part of their initiation into adulthood.
Unicursal labyrinth patterns like the “Itoi” (“Man in the Maze”) above may represents life’s cycles, eternal motion, and the choices we are confronted with. The right choices lead us to a point of harmony with all things, no matter how hard or long the road taken. At the center of the maze is a circle, which stands for death. Death is not the exit, but the beginning of a new journey and, thus, to a new cycle.
Jump in Hurna Explorer to play and solve yourself the 10 mazes Globo is stuck in.
]]>The main changes:
Bug Fix on moving the mouse to the edge of a maze (negative index)
Bug Fix when memory was handling too much objects (now packing)
New API for labyrinth generation and interpretation
Significant improvement in memory and computation performances
Disabling the default grid display when creating Labyrinths
Home Screen
Accompanying this:
Web pages loading of our sites have been greatly optimized.
Source code for labyrinth generations will be made available in H.urna Core C ++ this week.
The H.urna Lib C ++ library will soon be available in Beta version to be used in H.urna Explorer to visualize your own algorithms.
Then, we are already working on the next major evolution: Introduction to block-by-block programming in the Explorer.
]]>Here are the new ones introduced:
Scaling Transformation: a . f(x / b)
Derivative: d f(x) / dx
Integral: ∫f(x) dx
More are about to come soon!
Follow us on facebook: https://www.facebook.com/Hybesis.Urna
Get involved within our community: https://community.hurna.io
H.urna - Play with sciences
]]>Générateurs de labyrinthes :
Les algorithmes de tris et de recherches arrivent très bientôt !
Pour avoir les prochaines news
Suivez-nous sur Facebook : https://www.facebook.com/Hybesis.Urna
Rejoignez la communauté : https://community.hurna.io
H.urna - Jouer avec les sciences.
]]>Déjà traduit :
Mathématiques :
Documentation H.urna Explorer
Algorithmes :
La suite très bientôt !
Pour les prochaines news :
Suivez-nous sur Facebook : https://www.facebook.com/Hybesis.Urna
Rejoignez la communauté : https://community.hurna.io
H.urna - Comprendre, Apprendre, Créer, Partager.
]]>https://demo.hurna.io/#path=equation_solver/graphical
There is currently some interactive models to play with:
Linear lines : ax + b
Quadratic Parabolas : ax² + bx + c
Translation Transformation of functions : f (x - h) + k
Derivative and Tangent line : f’(a) * (x - a) + f(a)
Inverse Function and symetrie
More are about to come!
Follow us on facebook: https://www.facebook.com/Hybesis.Urna
Get involved within our community: https://community.hurna.io
H.urna - Keep Learning, Keep Sharing
]]>Suivez nous sur facebook : https://www.facebook.com/Hybesis.Urna
Rejoignez la communauté : https://community.hurna.io
Les cours et articles( https://wiki.hurna.io ) sont actuellement en cours de traduction et arrivent très prochainement.
H.urna - Continuer à comprendre, continuer à apprendre, continuer à créer, continuer à partager.
]]>Use Globo our virtual teacher to help you on your Quadratic (polynomials of degree two, or Second Order) equation homework’s.
Get access to the full lesson on solving quadratic equation and handle trajectories (cf. Newton - Kinematic) https://wiki.hurna.io/mathematics/quadratic_equation.html
Jump in Hurna Explorer to practice and visualize yourself any quadratic equations.
https://demo.hurna.io/#path=equation_solver/quadratic
Why understanding quadratic equations?
Follow us on facebook: https://www.facebook.com/Hybesis.Urna
Hurna Play with sciences
]]>Hurna propose you here a mathematical equation solver and visualizer with step-by-step explanation. It can help in learning concepts. It can help giving you graphical visualization of algebraic operation. It can be used as a simple day-to-day calculator or for double-checking the solution. In short, it makes learning and teaching math very easy.
Indeed, it solves your math equations step-by-step like a teacher would.
Whether you are a teacher, a parent or a student, you may found this tool very useful.
Jump in Hurna Explorer to practice and visualize yourself any equations.
https://demo.hurna.io/#path=equation_solver/linear
Follow us on facebook: https://www.facebook.com/Hybesis.Urna
Get involved within our community: https://community.hurna.io
Get the article on solving linear equation here: https://wiki.hurna.io/mathematics/linear_equation.html
Hurna Use vision to think
]]>Online Demo - Automatic step-by-step equation solver and visualizer like a teacher would explain.
Many people think that equations and algebra are obscure and use some esoteric languages. Truth is that equations are actually relatively simple concepts; knowing the base rules of the game and a bit of practice, you can learn to manipulate and solve them in a snap.
Linear equation are the simplest form of equation you may deal with; it restrict the problem to a unique unknown variable (usually called ‘x’) and no exponent e.g.:
x − 30 = 15
We all have solve this kind of equation every day even without even notifying it. Let’s say I am currently getting a training, I just know it’s been 30 minutes I am running and the coach told us that we still remain 15 minutes running. How much are we gonna run in total? This problem can be written as the following:
?TotalTime? − TimeAlreadyRun = TimeLeftx − 30 = 15
The result may already be solved, but let’s play the equation game:
TotalTime= TimeAlreadyRun + TimeLeft = 30 + 15 = 45Minutes
We know for sure we are gonna made a total 45 minutes run (except if the coach is playing on us). Now let’s have a peek to the rules of the game, you’ll see: there is quite few (even with the most complex problems)!
An equation is like a statement saying "this equals that”. The previous equation, x - 30 = 15 asks: what x will make makes this equation true?
The goal is thus to find that x; in the algebraic world, meaning to end up with:
x = something without x.
Next part present you the unique rule and useful tools dedicated to reach this goal. Keep in mind that solving an equation is just like solving a puzzle: there are things we can do and some others that are forbidden.
There is only two rules to satisfy:
Whatever you do to one side of the equation, you must do to the other side.
You are forbidden to divide anything by 0.
Get there for the list of tools:
https://wiki.hurna.io/mathematics/index.html#rules
You should always check that your “solution” is really a solution, there is nothing more easy: Replace ‘x’ by the solution value within the equation and verify that the equality is true.
Be careful to check that your solution never divide by 0!
In the previous example we found x = 45. If we place it within the equation, we get: 45 − 30 = 15
Which is true: the solution has been verified.
It’s not the optimal way, but the always winning robot always reach the goal using this method! Here is how he proceeds:
Does the equation have fractions?
Yes → Multiply every term (on both sides) by the denominator.
Does the equation involve parenthesis?
Yes → Expand the equation using the tools.
On either side, does it have like terms?
Yes → Combine like terms. (Don’t forget the sign in front of each term!)
Does it have variables on both sides of the equation?
Yes → Add or subtract the terms to get all the variables on the left side and all the constants on the right side.
At this point, the robot has a basic two-step equation (If not, he would be bugged).
Add or Subtract to remove any constants from the left side of the equation.
Multiply or Divide to remove any coefficients form the left side of the equation.
!SOLUTION FOUND!
At the end, the robot does not forget to check its answer to detect any eventual problem :). See the robot in action step-by-step:
Any linear expression (the left or right part of an equation) can be drawn as a line in a 2D graphic. The graph drawing is very simple. For each part of the equation, we have x on the horizontal axis and for a range of y values (vertical abscisse) we compute and plot the points (x, y).
The easiest line, a constant: y=-3 (for all x, y = -3).
The other basic line to know: y=x (for all x, y as the same value).
Drawing here y = 2x
Multiplying x by a constant is making a rotation on the line
Drawing here all together y = 2x - 3
Adding or substracting the expression by a constant value is just adding an offset
A linear equation can be then drawn as two lines crossing each other. The intersection point of those two lines is the equation solution (if the lines are parallel, it means that the equation does not have any solution). Indeed the question answer the same one from the algebraic world: What x will make makes this equation true, when are those lines equal?
With our previous example:
The advantage of drawing a graph of an equation is that you can then use it to visualize out the value of y for any given value of x, or indeed x for any given value of y.
We have illustrated here the relationship between an algebraic equation and its graph plots giving you an alternative way to understand equations.
Jump in Hurna Explorer to practice and visualize yourself any equations.
]]>In fact, computer programs (even the most advanced IA) are only a bunch of algorithms slapped together with some fancy structured data. That’s it:
Algorithms + Data Structures = Programs
Algorithms
Algorithms define how to operate, what to do exactly to solve a problem. Learning algorithms does not require you to know any programming language; it only requires you to have an understanding of the steps that are involved. Algorithm means finding the solution for any problem step by step. So, if we relate it to mathematics or physic, then it means solving an equation step by step with a recipe.
For instance, we want to get the number of seconds within some minutes. The algorithm (receipt) will simply be:
#minutes x 60 --> #seconds
Algorithms are independent of the programming languages used (algorithms remain the same, only the syntax may change); it is however highly recommended to know one if you want implement your own algorithms and see them running.
Why are algorithms so important?
Different kinds of algorithms solve different kinds of problems, it is important to understand how the algorithm solves the problem; without understanding them, it’s almost impossible to see things from higher perspective. Similarly, one can’t build a bridge by just placing brick after another; there has to be deeper understanding of what one is doing, what problem are solving and why is it done this way. In context of computing, programming or just to see what is going on inside all your electronical devices, understanding algorithms gives you a deep vision.
Understanding the details of the algorithms involved gives you the ability to predict if there are special cases in which it won’t work quickly or produce unacceptable results. Understanding algorithms is a requirement to handle program accuracy and speed.
Learning Algorithms
Of course, you will also run across problems that has not been resolved yet. In these cases, you have to come up with a new algorithm, or apply an old algorithm in a new way. The more you know about algorithms in this case, the better your chances are of finding a good way to solve the problem. In many cases, a new problem can be reduced to an old problem without too much effort, but you still need to have a fundamental understanding of the old problems.
By developing a good understanding of a large range of algorithms, you will be able to choose the right one for a problem and apply it properly. Furthermore, solving problems like those will help you to hone your skills in this respect. Many of the problems, though they may not seem realistic, require the same set of algorithmic knowledge that comes up every day in the real world.
Don’t spend any time memorizing algorithms
That’s not the point; instead, try to understand how different algorithms approach different problems. Learn about techniques such as recursion, divide-and-conquer, dynamic programming, graph-theory, complexity… See what makes one approach slow while the other is fast and learn what the tradeoffs are.
The key is to get insight in how we can make computers do things.
Algorithms are way easier to understand than you can imagine
Algorithms are almost always associated to mathematics and all the obscurantisme it inspires. The math is useful but you won’t need it most of the time. You won’t need to handle mathematics or master programming to understand all these fancy algorithms and data structures.
Using the Hurna Explorer will give you a fun highway to visualize and understand the algorithms listed below.
Fractal Generator
Lindenmayer System
Maze Generator
Binary Tree
Depth First Seach (DFS)
Kruskal’s
Prim’s
Recursive Division
Sidewinder
Search
Binary
K’th order statistic (QuickSelect)
Sort
Aggregate (In Place)
Bubble
Cocktail
Comb
Merge (In Place)
Partition-Exchange
Quick (Simple)
Mixing different communities, crossing fields and ages is for us a way to exponentially grow knowledge. Hurna provides thus an environment where inexperienced users are able to pose questions while engaging advanced users who are likely to assist them. Our Community engagement leads to improved sharing whether it is knowledge, joy, point of vues or anything else.
The community features member stories, live chat, keyword tags, search tool, social sharing, real time updates and much more… It is also easily accessible and perfectly functional on every device and screen including the mobile ones.
Hurna Community - Get together, Get involved, Open sciences!
]]>Hurna is proud to announce we’ve become a part of the movement the web’s push forward toward HTTPS (HyperText Transfer Protocol Secure). That extra “S” we’re now sporting in our URLs is a subtle change with serious impact that protects your privacy even if Hurna does not take any information from you.
What is SSL and HTTPS?
SSL stands for Secure Sockets Layer and, in short, it’s the standard technology for keeping an internet connection secure and safeguarding any sensitive data that is being sent between two systems.
It does this by making sure that any data transferred between users and sites, or between two systems remain impossible to read. It uses encryption algorithms to scramble data in transit, preventing hackers from reading it as it is sent over the connection.
HTTPS (Hyper Text Transfer Protocol Secure) appears in the URL when a website is secured by an SSL certificate. The details of the certificate, including the issuing authority, can be viewed by clicking on the lock symbol on the browser bar.
Certificate
H.urna uses Verisign as CA (Certificate Authority) instead of self-signing. Even there is no sensitive information requested, Hurna is secure as it is certified by a trusted source. Verisign verify the ownership of the domain and even check the trustworthiness of Hurna before issuing an SSL security certificate.
Does not hesitate to get in touch for any question or issue report.
Hurna - Learn at your own pace.
]]>Furthermore, precision and information of the cursors (pointer / iterator) have been greatly improved on the array visualizer.
Getting a direct visual picture of all the pointers of the current process, knowing whether they are parameters, knowing whether they are constant, knowing how scoped variables may affect the others etc. are often huge clues of what is going on and what could goes wrong.
New algorithms and advanced visualizers are about to come soon
Hurna - Ease To Learn.
]]>En bref:
- Une plateforme gratuite en ligne pour apprendre, debugger et transmettre le savoir
- Pas d’abonnement, Pas de contraintes, Aucune Installation nécessaire et Facile à utiliser!
L’idéologie du projet:
Nous croyons que tout le monde peut comprendre toutes choses et que tout peut être appris ou ressenti. En révélant les mécanismes derrière les processus “complexes”, nous mettons à dispositions des outils pour comprendre soit même, à son propre rythme et pouvoir découvrir pleins d’autres choses sur le chemin.
Notre objectif est de “réveiller la joie dans la créativité et le savoir”* (Albert Einstein - *traduction)
La plateforme:
H.urna s’articule autour d’animations interactives et de visualiseurs permettant de voir les algorithmes, les structures de données, les équations etc. En théorie, partout ou il y a des lignes de code ou des symbols demandant un travail de compréhension.
Vue générale de la plateforme. Ici un algorithm de tri “Comb Sort” en pause avec deux visualiseurs synchronisés.
Celle-ci représente la génération d’un labyrinthe avec l’algorithme de Division Récursive. Nous pouvons facilement y comprendre la structure et voir la dualité qu’il existe entre la grille et son arbre de possibles chemins.
Pour les utilisateurs plus avancés, H.urna est utile pour débugger graphiquement et expérimenter différentes analyses.
Une génération de labyrinthe avec un “Depth First Search”. Il est possible de conduire une analyse plus poussée durant le processus: Dans le coin haut gauche, nous pouvons voir l’état actuelle d’un noeud dans la grille (celui en dessous du curseur de la souris).
En pratique qu’est ce que je peux en faire?
Voici quelques exemples:
Hurna (https://hurna.io) : Site principale d’information générale.
Hurna Explorer (https://demo.hurna.io) : La plateforme de visualisation
→ Révéler ce qui se trouve derrière la boite noire d’un algorithme
→ Créer des labyrinthes, des fractales, des animations etc.
→ Transmettre la connaissance en utilisant des animations et des visualisations statiques comme support.
→ …
Hurna Wiki (https://wiki.hurna.io) : Wiki contenant des articles, des cours et les documentations
→ Y accéder a travers notre portail.
→ Apprendre comment gérer les visualiseurs et comment analyser un algorithm en un coup d’oeil.
→ Comprendre comment sont calculées les complexités algorithmiques.
→ …
Hurna Core (https://github.com/Hurna/Hurna-Core) : Projet template open source contenant quelques algorithmes et intégrant des outils de bonnes pratiques de développement
→ Accéder à tout le code modern C++.
→ Tester les algorithmes utilisant vos propres données.
→ Apprendre les meilleurs pratiques de développement
→ …
N’hésitez pas à nous partager vos expériences, suggestions ou simplement entrer en contact; H.urna continue à grandir pour vous offrir toujours plus à explorer.
Pour nous contacter: https://hurna.io/contact.html
Suivez-nous sur facebook: https://www.facebook.com/Hybesis.Urna/
Prenez les commandes de l‘H.urna Explorer!
Hurna - Comprendre, Apprendre, Créer, Partager
]]>In short Hurna is:
- A Free Platform for Learning, Debugging and Teaching sciences
- No Subscription, No Constraints, Nothing To Install, Easy to Use!
The core belief behind the project:
At Hurna, we believe that everyone can understand anything and that everything may be learnt. By revealing the mechanics behind ‘complex’ computation, it helps to understand oneself, at its own pace and discover many other things.
Our goal is to: “awaken joy in creative expression and knowledge” (Albert Einstein)
The Platform:
H.urna is articulated around interactives animations and visualizers allowing to see algorithms, data structures, maths, physics… Basically, anywhere there is code or symbols that need understanding.
General view of the platform. Here seeing a Comb sort animation in pause using 2 synchronized visualizers.
Here, a maze generation showing the ‘Recursive Divison’ algorithm enhancing structure and duality between tree and grid representations (including flooding).
For more advanced users, H.urna is useful as an online tool for debugging and experimenting with various modules.
A Depth First Search Maze generation where you may conduct further analysis during computation: on the top-left corner is retrieved the current state of a cell (the one below the mouse cursor).
In Practice, what can I do with?
Some examples you could use H.urna for:
Hurna (https://hurna.io) : Main Website giving you global information
Hurna Explorer (https://demo.hurna.io) : The Visualization Platform
→ Reveal what’s inside the black box of an algorithm.
→ Create mazes, fractals, animations etc.
→ Teach using animations and static visualizations as a support.
→ …
Hurna Wiki (https://wiki.hurna.io) : Wiki containing articles, documentations and lessons
→ Access to lessons with our Wiki.
→ Learn to handle properly the visualizers and how to analyse an algorithm in a snap
→ …
Hurna Core (https://github.com/Hurna/Hurna-Core) : Open Source Template project containing few algorithms with standard quality development tools integrated
→ Access to the open source C++ code libraries implementing common algorithms.
→ Test processes using your own data.
→ Learn best practices software development
→ …
Let us know your experience, suggestions or just get in touch; H.urna will continue growing to offer you always more to explore.
To Contact us: https://hurna.io/contact.html
Enough talk, let’s jump in the H.urna Explorer.
Hurna - Keep Understanding, Keep Learning, Keep Creating, Keep Sharing.
]]>Have you ever wanted to whether:
H.urna Core is what you have been looking for !
H.urna Core is a relatively small open source template project that uses modern C++. It is implemented as a cross-platform, easy to build, full headed library containing some of the most known Algorithms and Data Structures.
It uses best practices software development (cross-building, unit testing, automated documentation…); giving you a great caveat to start developing with the promise to conserve great quality standards. Please note that all the possible dependencies included are open-source and free to use:
Automated, Customized, Documentation Generation: CMake, Doxygen, Bootstrap-Doxygen
Automated Building, Cross Building, Portability: CMake
Bug Tracking System, Code Reviews: Git
Coding Style, Coding Standard: CppLint
Code Coverage, Code Quality, Dashboarding, Monitoring: CDash, CTest, GTest
Statical analysis: Cppcheck
Proper Folders Structure - Consistency
Testing, Unit Testing (UT), Test-Driven Development (TDD): CMake, GTest
Version Control System: Git
Follow the link:
https://wiki.hurna.io/hurna_core/doc/index.html
H.urna
]]>Fractal has always been part of this project by conception from the very beginning and the first fractal generator has finally came. By editing the seed, rules, angles, and drawing parameters, you will generate your own fractals! You may first learn the concepts and discover some Lindenmayer systems.
You will also see how to build your rules here:
H.urna Wiki - Lindenmayer Systems
You may also directly jump to the explorer to edit and play:
H.urna Explorer - Deterministic 0-context Lindenmayer Fractal Generator
The temptation of “what if I change this one small thing” is really entertaining!
H.urna
]]>