September 18, 2017

Algorithmic Thinking: It’s Not Only for “Geeks”

This text was initially published by Profweb under a CC BY-NC-ND 4.0 International licence, before Eductive was launched.

If I told you that this Real Life Story is about programming, would you stop reading right away? Don’t worry, my goal here is simply to show you that there is a simple and user-friendly way to start programming to create projects that are both original and captivating!

As part of a course in Industrial Design Technology, I had the opportunity to pilot a different approach. It required conceptual involvement from students while they learned the foundations of programming.

The Importance of Computing in Industrial Design

The digital age requires newly trained technicians to be multi-talented within their wide range of professional occupations. Not only do they need to be competent with the tasks that they are assigned, they also need to understand the underlying processes of the work they are supervising and be autonomous when they are faced with a new challenge. They need to master the design and the language from their field, like the fields of expertise, aesthetic or functional design, etc. In our program, the students take a course called Trends, shapes and colours (Tendances, formes et couleurs in French) in which they cover the visual aspect of an object.

Today, technicians work extensively with modeling software and digital manufacturing tools, like computer numerical control (CNC) machines or 3D printers. It is becoming very important to understand how these computerized tools work, and not just how to use them. When students arrive in the workforce, we want them to be able to go beyond the standard tools offered by the software. These software packages, which can be customized using scripting, allow you to add new functionality if you know how to program. In addition, many software packages can now be integrated with visual programming environments. This means that they are easier to learn, and students’ interest for using them increases. The objective of the course is to pique the curiosity of students as a way of inciting them to go further in their professional approach.

When the Tools Aren’t Sufficient to Meet my Pedagogical Objectives

I wanted to explore the computing potential of my students without forcing them to take a long intensive training program for real programmers. My objective was to employ a user-friendly programming language that is suitable for young technicians in training.

I started by running 2 trials:

  • The first was with the Processing programming language, which is primarily used for the digital arts. Il turned out to take too much time for the students to master. A syntax error in a line of code is difficult and time-consuming for a beginner to find.
  • The second was with Scratch, which is used in elementary schools to introduce children to computer programming. Its main benefit is that it is similar to building with Lego blocks. This helps to avoid syntax errors that can demotivate students. On the other hand, the visual aspect wasn’t attractive enough to increase their motivation.

NodeBox: A Powerful Tool for Creative and Curious Types!

The solution finally came in the form of a free and open source software called NodeBox, a visual programming environment that was developed in Belgium. In the beginning, it was created to facilitate the work of graphic designers that wanted to showcase data in a visual way (see some examples here).

This type of visual programming resembles concept mapping or a group of nodes that are interconnected with arcs. Programming can be summarized as creating networks of “boxes” that are interconnected and which each serve a different purpose. Think of the relationship between the cells in a spreadsheet: When a cell is modified, all the cells that depend on the content of that cell are instantly updated.

A screen capture from the NodeBox software that illustrates its visual programming.

NodeBox thus allows you to very quickly do what I wanted to develop with my students: Create new shapes or visual projects by ‘conversing’ with a computer tool. {Translation}

NodeBox is a reactive tool. As soon as you ‘construct’ something, you immediately see the result. The students function through trial and error with instant feedback. This allows them to:

  • Avoid integrating a lot of abstract concepts
  • Rapidly produce encouraging results
  • Find their errors more easily and learn from them for future projects
  • Develop their algorithmic thinking
  • Put the machine to work for them, rather than the other way around

Thanks to NodeBox, I succeeded in piquing their curiosity with fewer concepts. The students want to understand how their visual project works. They therefore gently dive into the beginning foundations of algorithmic logic, with them quite often not even realizing that this has happened.

The programming world, which can seem a bit foreign to their discipline, also allows me to help them discover the numerous existing approaches to developing a shape. They see that collaborating with a computer tool is another option that provides a wealth of possibilities.

My Use of NodeBox in the Classroom

After we finish an exercise on Gestalt principles (a theoretical learning and cognition model associated with the perception of shapes), my students design a paper cube with a different pattern on each of its 6 sides. These patterns must stay compatible however, meaning that the pattern on one of the sides has to resemble and continue on the 4 neighbouring sides.

An example of the patterns that cover the paper cube created by a student.

Each student then assembles 9 copies of their cube and puts them in a 3 x 3 cube matrix. This means that different combinations can be explored. This culminating step will remain very important within an industrial design context.

Example of a matrix developed by combining 9 cubes.

Next comes the step where I introduce students to NodeBox. At this time, I tell my students that they are going to try out a new tool while not mentioning programming. Otherwise, I run the risk of losing a few of them right from the get go! I teach them a few concepts related to the functioning of this type of program and they complete an introductory tutorial to get accustomed to NodeBox’s interface.

Then, we create a program together which allows us to effortlessly increase the number of repetitions in the pattern, to change the degree of rotation, etc. The flexibility of the software encourages users to discover different combinations that sometimes lead to producing very surprising results.

Some variations starting with one of the surfaces of a cube.

To start and develop awareness of the potential of this approach, we reflect as a group on concrete applications for our results in product development (fabric printing, tread patterns, privacy screens, ventilation holes, curtain-walls, etc.).

I’ve now been using NodeBox for 2 semesters with my students and am very satisfied for the moment.

When the Strength of the College Network Becomes Truly Significant

NodeBox is a software package that is constantly evolving. NodeBox Live, a new web-based version that doesn’t require any installation on your computer is already in beta testing. It’s going to make the tool even more simple to use and that much more attractive for trying out some new jaw-dropping experiments!

NodeBox doesn’t yet meet all of the training needs for industrial design technicians. One of my educational objectives will be to further integrate it into the teaching of this discipline at the college level.

I am searching for other teachers that are open to using this tool in hopes of collaborating with them on the development of tutorials and exercises to promote the optimal use of NodeBox within our respective courses. If you are interested, feel free to contact me!

About the author

Jean-François Allie

He has taught in the Industrial Design program at the Cégep régional de Lanaudière à Terrebonne for the last 7 years. Upon receiving his Bachelor’s Degree in Environmental Design from the UQAM in 1999, he began working as an industrial designer, was a research assistant in 2 laboratories, project coordinator and finally a researcher and teacher at the college level. His principal interests revolve around the teaching of design, digital manufacturing and eco-design.

Notify of

0 Commentaires
Inline Feedbacks
View all comments