The process of teaching and learning computer programming has always been a challenge for students and teachers. Throughout time, the challenge has become tougher because now the concepts related to concurrent programming must be added to the traditional concepts of programming. The tools that show the performance of algorithms have been of great help, although they must be used carefully. This article describes the development and use of an update of the Visual Da Vinci (an environment used in different institutions to introduce computer programming) and discusses the reasons why programming (and software design in general) usually arises issues. It also justifies the current importance of concurrent programming and the difficulties it adds to traditional programming. Further on in the text, the Concurrent Da Vinci is analysed and commented on, showing an example of how it is used to solve a classical problem of concurrency.