I. Introduction
Traditionally, paper tests and practical programming exercises have been used widely to evaluate learners' programming abilities. In recent years, there have been drastic changes in software development, new resources to make programming easier have been created, and an increasing number of people not involved in professional software development have become able to program. An abundance of code samples and tutorials are on the web and are used by copy-pasting. Numerous algorithms are continually being converted into libraries and made widely available, so finding the best-suited function within libraries has become an important task. Moreover, several visual software development tools and languages are being developed, where the programming code is hidden and it can be applied with “just a click”. Considering these circumstances, the main purpose of this research is to propose a method to evaluate programming skills related to programmers who lack formal training in computer science and software development. These persons may not be professional software developers, but instead are professionals in other disciplines. This method involves an alternative understanding of programming. We call this alternative understanding a Panoramic Understanding of Programming (PUP).