PWCT: a novel general-purpose visual programming language in support of pervasive application development

Visual programming languages (VPLs) are inevitable tools to attract more people to the programming world. In this article, a novel VPL—programming without coding technology (PWCT)—is introduced. The main objective behind developing this tool was to create a general-purpose VPL that also possesses textual languages’ capabilities. PWCT is a language that can be used to develop similar programs to the ones developed in C++ or Java for example. As the name indicates, PWCT requires no coding at all. A person only needs to know the basic programming concepts to be able to use the tool. PWCT has many attractive features and can be used to develop applications of different domain including pervasive computing. PWCT has been launched as a Sourceforge project, which currently has more than 240 K downloads for the tool and over 22 M downloads for the samples and tutorials. A staggering number of programs were developed in PWCT all over the world. This article focuses on the core aspect of the tool. In addition, a number of studies are carried out to evaluate the usability and productivity of the tool. Feedback from developers and results from the studies indicate that PWCT is a very appealing, competitive, and powerful language that can be used in developing pervasive and mobile computing applications.

[1]  Yasmin B. Kafai,et al.  Computational Participation: Teaching Kids to Create and Connect Through Code , 2017, Emerging Research, Practice, and Policy on Computational Thinking.

[2]  Philip Japikse,et al.  Complete the Web Application with ASP.NET Core , 2020 .

[3]  Ivica Crnkovic,et al.  Challenges of component-based development , 2002, J. Syst. Softw..

[4]  Janet Mei-Chuen Lin,et al.  Teaching programming concepts to high school students with Alice , 2009, 2009 39th IEEE Frontiers in Education Conference.

[5]  B MacLaurinMatthew The design of kodu , 2011 .

[6]  Branko Kaucic,et al.  Improving introductory programming with Scratch? , 2011, 2011 Proceedings of the 34th International Convention MIPRO.

[7]  Bert Bredeweg,et al.  Qualitative Models in Interactive Learning Environments: An Introduction , 1998, Interact. Learn. Environ..

[8]  Sana Ullah,et al.  Formal Specification and Validation of a Localized Algorithm for Segregation of Critical/Noncritical Nodes in MAHSNs , 2014, Int. J. Distributed Sens. Networks.

[9]  Zeynel Cebeci,et al.  Tree View Editing Learning Object Metadata , 2005 .

[10]  James McDonald,et al.  Using Alice in Overview Courses to Improve Success Rates in Programming I , 2008, 2008 21st Conference on Software Engineering Education and Training.

[11]  Muhammad Al-Qurishi,et al.  PWCT: visual language for IoT and cloud computing applications and systems , 2017, ICC.

[12]  Mitchel Resnick,et al.  LogoBlocks: A Graphical Programming Language for Interacting with the World , 2000 .

[13]  Stuart Garner Learning to Program from Scratch , 2009, 2009 Ninth IEEE International Conference on Advanced Learning Technologies.

[14]  Juan Manuel Dodero,et al.  A Study on the Suitability of Visual Languages for Non-Expert Robot Programmers , 2019, IEEE Access.

[15]  Muhammad Imran,et al.  Localized Algorithm for Segregation of Critical/Non-critical Nodes in Mobile Ad Hoc and Sensor Networks , 2013, ANT/SEIT.

[16]  Matthew MacLaurin,et al.  The design of kodu: a tiny visual programming language for children on the Xbox 360 , 2011, POPL '11.

[17]  Stephen Barrett,et al.  Pedagogy and Processes for a Computer Programming Outreach Workshop—The Bridge to College Model , 2010, IEEE Transactions on Education.

[18]  Paul A. Fishwick,et al.  A customizable approach to visual programming using dynamic multimodeling , 2004, SPIE Defense + Commercial Sensing.

[19]  Enrique Coronado,et al.  Visual Programming Environments for End-User Development of intelligent and social robots, a systematic review , 2020, J. Comput. Lang..

[20]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[21]  Gérard Assayag,et al.  Visual Lisp/CLOS programming in OpenMusic , 2009, High. Order Symb. Comput..

[22]  Padmal Vitharana Risks and challenges of component-based software development , 2003, CACM.

[23]  Filiz Kalelioglu,et al.  A new way of teaching programming skills to K-12 students: Code.org , 2015, Comput. Hum. Behav..

[24]  Jeremy Garrett,et al.  Student Attitudes towards the Use of Graphical Programming Languages In an Introductory Engineering Course , 2008 .

[25]  Ferhat Kadir Pala,et al.  The effects of different programming trainings on the computational thinking skills , 2019, Interact. Learn. Environ..

[26]  S. G. Gollagi,et al.  A survey on pervasive computing over context-aware system , 2020, CCF Trans. Pervasive Comput. Interact..

[27]  Pedro Ponce-Cruz,et al.  Intelligent Control Systems with LabVIEW , 2009 .

[28]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[29]  Christoph Daniel Schulze Text in Diagrams: Challenges to and Opportunities of Automatic Layout , 2019 .

[30]  Irene Mavrommati,et al.  A framework for pervasive computing applications based on smart objects and end user development , 2020, J. Syst. Softw..