Skip to main content
Log in

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

  • Regular Paper
  • Published:
CCF Transactions on Pervasive Computing and Interaction Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Source code (in the right) and the equivalent Steps Tree (left)

Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

source size between PWCT and Visual Studio

Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

  • Ponce-Cruz, P, Ramírez-Figueroa, F. D.: Intelligent control systems with LabVIEWTM. Springer Science & Business Media, Germany (2009)

  • Garrett, J., Walker, T.: Student attitudes towards the use of graphical programming languages in an introductory engineering course. Comput. Educ. J. 19(01), 60–69 (2009)

    Google Scholar 

  • Bresson, J., Agon, C., Assayag, G.: Visual lisp/clos programming in openmusic. Higher Order Symb. Comput. 22(1), 81–111 (2009)

    Article  Google Scholar 

  • Kafai, Y.B., Quinn B.: Computational participation: teaching kids to create and connect through code. In: Emerging research, practice, and policy on computational thinking. pp. 393–405. Springer, Cham (2017)

  • Resnick, M., John, M., Monroy-Hernández, A., Natalie, R., Evelyn, E., Karen, B., Amon, M., et al.: Scratch: programming for all. Commun. ACM 52(11), 60–67 (2009)

    Article  Google Scholar 

  • Pala, F.K., Pınar, M.T.: The effects of different programming trainings on the computational thinking skills. Interact. Learn. Environ. 5, 1–11 (2019)

    Article  Google Scholar 

  • Coronado, E., Fulvio, M., Bipin, I., Gentiane, V.: Visual programming environments for end-user development of intelligent and social robots, a systematic review. J. Comput. Lang. 58, 100970 (2020)

    Article  Google Scholar 

  • Corral, J.M.R., Iván, R.R., Antón, C.B., José, M.M.M., Arturo, M.E., Juan, M.D.: A study on the suitability of visual languages for non-expert robot programmers. IEEE Access 7, 17535–17550 (2019)

    Article  Google Scholar 

  • Shim, H., Paul A.: A customizable approach to visual programming using dynamic multimodeling. In: enabling technologies for simulation science VIII, vol. 5423, pp. 447–456. International Society for Optics and Photonics (2004)

  • Schulze, C.: Text in diagrams: challenges to and opportunities of automatic layout. PhD diss. (2019)

  • Johnsgard, K., James M.: Using Alice in overview courses to improve success rates in programming I. In: 2008 21st Conference on Software Engineering Education and Training. pp. 129–136. IEEE (2008)

  • Kalelioğlu, F.: A new way of teaching programming skills to K-12 students: Code. org. Comput. Hum. Behav. 52, 200–210 (2015)

    Article  Google Scholar 

  • Wang, T.C., Wen-Hui M., Shu-Ling L., Sheng-Kuang C., Janet Mei-Chuen L.: Teaching programming concepts to high school students with alice. In: 2009 39th IEEE Frontiers in Education Conference. pp. 1–6. IEEE (2009)

  • Tangney, B., Oldham, E., Conneely, C., Barrett, S., Lawlor, J.: Pedagogy and processes for a computer programming outreach workshop—the bridge to college model. IEEE Trans. Educ. 53(1), 53–60 (2009)

    Article  Google Scholar 

  • Garner, S.: Learning to program from Scratch. In: 2009 Ninth IEEE International Conference on Advanced Learning Technologies. pp. 451–452. IEEE (2009)

  • Kaučič, B., Asič T.: Improving introductory programming with Scratch? In: 2011 Proceedings of the 34th International Convention MIPRO. pp. 1095–1100. IEEE (2011)

  • MacLaurin, M.B.: The design of Kodu: a tiny visual programming language for children on the Xbox 360. In: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages. pp. 241–246 (2011)

  • Stolee, K.T.: Kodu language and grammar specification. Microsoft Research whitepaper, Retrieved September 1, 4–6 (2010)

  • Longflow, Limnor Tutorial https://www.limnor.com/. Longflow Enterprises Ltd. (2003)

  • Japikse, P., Kevin G., Ben D.: Complete the web application with ASP. NET Core. In: Building web applications with. NET Core 2.1 and JavaScript. pp. 317–374. Apress, Berkeley, CA (2020)

  • Cebeci, Z., Erdogan, Y.: Tree view editing learning object metadata. Interdiscip. J. E-Learn. Learn. Obj. 1(1), 99–108 (2005)

    Google Scholar 

  • Szyperski, C., Dominik, G., Stephan, M.: Component software: beyond object-oriented programming. Pearson Education, UK (2002)

    Google Scholar 

  • Vitharana, P.: Risks and challenges of component-based software development. Commun. ACM 46(8), 67–72 (2003)

    Article  Google Scholar 

  • Crnkovic, I., Larsson, M.: Challenges of component-based development. J. Syst. Softw. 61(3), 201–212 (2002)

    Article  Google Scholar 

  • Wikipedia https://en.wikipedia.org/wiki/Middleware. Accessed 24 May 2020

  • Proebsting, T.A., Gregg M.T., Patrick G.B., John H.H., Tim N., Scott A.W.: Toba: Java for applications—a way ahead of time (WAT) compiler. In: COOTS. pp. 41–54 (1997)

  • Marat B., Michael D.: Visual programming languages: a survery, Report No. UCB/CSD-04-1368 Computer Science Division, EECS University of California, Berkeley Berkeley, CA 94720-1776 USA, December (2014)

  • Maragaret M.B.: Visual programming, encyclopedia of electrical and electronics engineering (1999)

  • Begel, A.: LogoBlocks: a graphical programming language for interacting with the world. MIT Media Lab, Cambridge (1996)

    Google Scholar 

  • https://en.wikipedia.org/wiki/Deutsch_limit. Last Accessed 26 Mar 2016

  • Imran, M., Alnuem, M.A., Fayed, M.S., Alamri, A.: Localized algorithm for segregation of critical/non-critical nodes in mobile ad hoc and sensor networks. Procedia. Comput. Sci. 19, 1167–1172 (2013)

    Article  Google Scholar 

  • Alnuem, M., Nazir, A.Z., Muhammad, I., Sana, U., Mahmoud, F.: Formal specification and validation of a localized algorithm for segregation of critical/noncritical nodes in MAHSNs. Intern. J. Distribut. Sensor Netw. 10(6), 140973 (2014)

    Article  Google Scholar 

  • Goumopoulos, C., Mavrommati, I.: A framework for pervasive computing applications based on smart objects and end user development. J. Syst. Softw. 162, 110496 (2020)

    Article  Google Scholar 

  • Gollagi, S.G., Math, M.M., Daptardar, A.A.: A survey on pervasive computing over context-aware system. CCF Trans. Pervasive Comp. Interact. (2020). https://doi.org/10.1007/s42486-020-00030-6

    Article  Google Scholar 

  • Fayed, M.S., Muhammad A.Q., Atif A., Ahmad A.A.D.: PWCT: visual language for IoT and cloud computing applications and systems. In: Proceedings of the Second International Conference on Internet of things, Data and Cloud Computing, pp. 1–5 (2017)

Download references

Acknowledgements

The authors thank members of PWCT project teams for the time devoted for this study.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M. Anwar Hossain.

Ethics declarations

Conflict of interest

The authors declare no conflict of interest in this manuscript.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary file1 (DOCX 1058 kb)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Fayed, M.S., Al-Qurishi, M., Alamri, A. et al. PWCT: a novel general-purpose visual programming language in support of pervasive application development. CCF Trans. Pervasive Comp. Interact. 2, 164–177 (2020). https://doi.org/10.1007/s42486-020-00038-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s42486-020-00038-y

Keywords

Navigation