Nowadays, computer programming is considered an important skill in this technology driven world. Currently, some high schools offer a computer science programming course. But why not start at an earlier stage in your life? Hedy offers this possibility: Hedy is a gradual programming language designed for young children. Users will start with a remarkably simple programming set and gradually they will be able to program in a language similar to Python. Additionally, Hedy is available in a wide variety of languages, for example Dutch, Arabic, Vietnamese and many more. Hedy is an open-source project with a git repository. There are already a lot of unit tests written to test the back-end. However, there are no front-end tests at all, which may lead to bugs in the system. An example of a front-end test would be testing if the save button is visible and if it saves the code the user has just written. Our aim for this project was to implement front-end tests for features on the Hedy website and design a system to run them in an automated manner. If a contributor then issues a pull request to the git repository, not only will the code be tested by the back-end tests, but also by our front-end tests to prevent bugs on the website.
We created our product for the team behind Hedy. The founder of Hedy is Felienne Hermans, who is an associate professor at Leiden University. She does a lot of research on teaching programming to kids, and this is one of the practical outcomes of that research. While Felienne is the founder and main contributor, there are a lot of contributors in the Hedy team that have taken on a lot of the actual programming work for the Hedy product. We’ve had great contacts with our customer during this course. We had meetings quite often in which we discussed our progress, potential blockers and wishes from the client for the project. The customer was also the one to check our pull requests, so they could provide immediate feedback on our code.
During the last couple of months, we’ve had a great time with our team. We communicated very openly via WhatsApp and our meetings twice a week on campus. This ensured we were all on the same page and that the planning was still correct. We talked about the open pull requests and the project board, while also helping each other with difficult tests. We’ve all experienced working in a team as a pleasure, we really felt that we did not have to take on our project on our own, but that we could share all difficult problems and moments with each other. Some of us knew each other beforehand, but most of us did not know each other. During this project we have gotten to know each other way better, this also improved our team dynamics a lot.