Date of Award


Degree Type


Degree Name

Bachelor of Computer Science Honours


Faculty of Computing, Health and Science

First Advisor

Dr Justin Brown


The traditional approach to programming using text editors is widely used in many institutions to teach introductory programming. These types of traditional programming environments provide fundamental programming concepts for learning, especially in the context of novice developers. In recent years, teaching institutions have seen a trend towards the introduction of visual "drag-and-drop" rapid application development (RAD) environments for teaching novice programmers. These 'environments capture student interest in programming by allowing the construction of workable programs within a short time frame based on minimal pre-existing coding knowledge. However, some have argued that these visual RAD environments might not be suitable for providing fundamental programming concepts and syntax to novice developers. This research examines student perceptions towards visual RAD environments in comparison to traditional environments for learning programming for novice developers, mainly focusing on the novice developer's "first" programming environment. To gather student reactions towards these programming environments, surveys, interviews and workshops were conducted with novice, intermediate and expert level student programmers. The results indicate that while visual RAD environments managed to capture the majority of the participants' interest, the traditional approach was largely accepted as the most appropriate "first" environment for novice developers. Another finding from this research is the participants' perceptions of the key aspects of learning programming, which also formed part of the deciding factors for the "first" environment. Understanding the underlying concepts, syntax and logic of the program seem to be the most important aspects followed by interest level and the ability to build workable programs quickly. The majority of participants perceived that traditional programming environments could help novice developers with understanding underlying concepts and syntax better than visual RAD environments. Although visual RAD environments do not require a traditional programming environment at the early stage of programming, the latter would become necessary as the program grows and more complex functions are required. Overall, the visual RAD environment was still the preferred environment for development despite the lack of pedagogical benefits compared with traditional environments.