Final Master Project: CUBI a tangible programming tool for children
Through literature studies, user tests, and design probes, there is examined how to fit a tangible programming tool into the educational environment. The first two tests explore how concepts of programming can be taught. The final test explores Cubi’s usefulness for a group setting of 8 and 9 year olds. Furthermore, literature about existing tangible programming tools has been explored in this study, to support design decisions and to present a vision of the future of programming in education.
We can see a growing awareness in the media of the importance of programming education. But though many educators understand the importance of teaching programming at young age, they do not know how to teach this subject. Using Cubi that was created in this final master project, it can be concluded that programming can be taught, in a playful manner, to young girls and boys. However, the results of these tests are only an early indication of how Cubi can be used. Further testing and research is recommended to improve Cubi, and the way we teach children how to code.
When I had to learn programming in the beginning of my study it was a completely new concept, and there was not really a good tool for me to learn it except patience and a lot of reading on forums and blogs. A world of new possibilities opened for me when I learned how to program and I learned that the basics of coding are not that hard. I started questioning why I did not learn to program earlier, and why it is not a mandatory subject in schools. Why is the image of programming as if it is something for nerds only? Answers on my path to these answers can be found in my report.
You can find the feedback for this project here
I think you learned to deal with your inclination to “work analytical and gather as much information as possible to get a thorough understanding before I start designing”: you started to do explorations already at an earlier stage, which I think is good, as exploring is a way of thinking, of making choices and making things concrete, and provides opportunity for reflection. Concerning the reflection, overall the level of reflection is good, but I still believe you could be more explicit on what programming actually involves and how a curriculum could be organized to guide your thinking and exploration: it would help you to decide what (partial) skills to focus upon first. On the other hand, I liked the analysis connecting tangible, visible and textual programming very much.
This project had its ups and downs like any other project. Here I will discuss in more detail what I learned from my final master project, and the opportunities for improvements.
In this design project the idea for a product was formed rather quickly by inspiration I found in existing tangible tools. My analytical approach is most often the only approach I take and thereby I miss to take little tests with my end user to find valuable information. My ambition for an idea can lead to a tunnel vision and therefore I need reflection on a daily basis with teammates, which can feed me new ideas so that I keep a fresh perspective. This is something I missed a lot during my final master project, although I am very well capable of working on my own, I perform better in teams. I also see my shortcomings as strong points, as my drive to fulfill my ambition also motivates me and makes me not settle for less.
The little tests with children that I have done this project were extremely valuable. Looking back I could have had more information that is valuable for future Tangible tools if I had done more tests but my goal was to fully develop a product myself. Most of the work was done behind the computer in making the software and hardware work. Now it is finally finished and development wherein iterative testing is possible can start. I see this as an opportunity for me to continue this project, that said I only see it possible to continue this project either par-time, or with an investor.
During the project one of the most difficult questions my coach had for me were what do you want to add with this product, what knowledge will you create with the research you are doing? What are the most important questions to investigate further? There was so much information about tangible user interfaces that I have not even incorporated half of the literature in this report. I am someone who wants to work at the one end analytical and at the other end intuitive. And doing both the things simultaneously did not work. I had to choose for either the creative process where multitasking between soldering, programming, drawing, 3D modeling worked perfectly, or I had to work analytically read write, network, formulate questions, make test plans etc. I have difficulty narrowing down the questions so that they actually can be answered. If possible I want to answer the question if a tangible programming tool would be a good introduction to a visual programming language but in order to create a test case for something like that I simply needed a lot more time.
Due to my ambition, perfectionism, and sometimes tunnel vision my planning had to be adjusted a lot of times. I miscalculated the amount of time something would take, simply because I knew I could do it but did not know I would encounter so many problems. Therefore my time management has changed this project over the months, where in the beginning my ambitions gave a lot of stress, later I learned to scale down the ambition and calculate time in for when things go wrong.
In the future I would always want to work in a team setting where reflection can occur on a daily basis. After this project I have developed my conceptual, analytical and programming skills to higher level but there is still room for improvement.
Process and analysis
I started this semester with an idea in my head that I just could not let go. The concept was to work with the existing Sifteo cubes and build a tangible programming tool with it. In my head it seemed to work, but while making a short animation movie I already noticed that it would become quite complex. My enthusiasm dropped and I had to rethink where I would go to. The research from articles, and crawling the web was thoroughly done and resulted in a clearer picture on the educational market on programming tools. This helped me to position my concept better and state clearer research and design goals. The real design cycle still has to be done but all the bits and pieces are there.
The used tools from the module animatic mashup are a good tool to explore a first concept. It was time consuming though because It was the first time that I did blue screening and I did not have any professional video capturing equipment. It looks quite convincing but just to explore and test an idea a low-fi version would have worked just as well. I used cardboard modelling to make the cubes, looking back it would have been much better to just use foam because the preciseness of cardboard was not needed.
Once I wanted to start programming for the Sifteo Cubes I learned that I had overestimated the technology, on video it looked very promising but once I had it in my hand the screens felt small, and with the newer version of the Sifteo Cubes it was impossible to communicate back to something else than its base station, meaning that hooking up an animation or robot to the cubes would be impossible.
My planning and focus had to be readjusted and that is where my second iteration started.
It was time for me to start exploring other possibilities. I talked with teachers on LinkedIn and they gave me more insights in the changes in education. I learned that some schools in the Netherlands are already teaching programming with a tool called Scratch. I planned to go to a class to experience how a teacher is handling the children, and how they understand the programming, but in the end the only date that was possible was during my module. Next semester I will most definitely visit more schools and children to talk about my concept. Although I don’t have any input from the teachers or children I have a lot of input from previous work done in the tangible programming world. For more info about this check my report.
The analysis was valuable but there needs to be done a lot. My result is a better understanding in the subject, and a well defined plan for the development of a tangible programming tool. The research done is mainly literature research, or an exploration to the context, not hard results have been met as the real research through design still needs to be done. With the set-up of the research and execution I need guidance of my coach as this is still quite new for me.
The motivation, goal and concept is there, but to be able to make it real there is a lot to be done in the future.
Now that Cubi is realized there are still several things I want to do to continue this project
- Visual design and promotional material: Now that this project has come to an end, it is time to do an other iteration of concept development. For possible clients it is important to know where I want to go to with my concept. This will be done through several 3D renders and illustrator iterations. This can be done relatively quick and can be conceptually strong.
- Functional design: The designing part as almost done, there are some minor improvements to be made on Cubi, but a next design cycle wherein new possibilities with the existing technologies are explored would be recommended.
- Interaction design: With the design of new front pannels of the blocks new functions can be tried out.
- User research: The initial tests showed promising results for group dynamics with tangible programming tools. A decent test setup should be made wherein several groups are tested over multiple times to learn how they collaborate and learn with Cubi. For more detailed steps read the conclusion part in my report.
- Electronic design: The electronics work good, there is only a problem with the wireless connection to the robot this should be fixed.
- Software design: All the interactions worked, the led’s still give room for improvements. And some debugging needs to be done.