An ever-growing landscape of programming technologies (tools, languages, libraries and frameworks) has rapidly become the norm in many domains of computer programming— Web Development being the most noticeable example. The concurrent use of many compartmentalised technologies has advantages: it allows for flexibility in implementation, while also improving reusability. On the other hand, this proliferation tend...
The teaching-learning process is complex in nature, requiring many tasks and skills to achieve success in the construction of knowledge. As per any particular kind of cognitive development, teaching and learning Computer Programming is no different in this regard: tasks must be executed, sometimes repeatedly, and skills must be developed. Despite different approaches and methodologies, exercising what has been ...
This paper presents the outcomes of a research project focused on the training of Computational Thinking, resorting to a block-based visual programming language created to program an Arduino Uno based robot. To support the design and implementation of the visual programming environment Robi, we start discussing the relevance of Educational Robotics to motivate and engage children in programming activities. Stud...
Students face several challenges when learning computer programming languages, a central topic to acquire programming skills. While those challenges that present a predominantly technical nature have been intensely studied by researchers along the years, the ones that are concerned with qualitative, and personal aspects have not. Affinity to a programming language is one of the many personal factors that may co...