Mahmoud Samir Fayed

Last updated
Mahmoud Samir Fayed
محمود سمير فايد
Mahmoud Samir Fayed the creator of PWCT.jpg
Born (1986-12-29) December 29, 1986 (age 37)
Nationality Egyptian
Alma mater Menoufia University
(B.Eng., 2008)
King Saud University
(M.Sc., 2017)
Occupation Computer Programmer
Years active2005-present
Known for PWCT, Ring

Mahmoud Samir Fayed (born December 29, 1986) is a computer programmer, known as the creator of the PWCT programming language. PWCT is a free open source visual programming language for software development. He also created or designed Ring. He is a researcher at King Saud University. Prior to that, he worked at the Riyadh Techno Valley in the Information and Communication Technology Incubator. [1] [2] [3] [4] [5] [6] [7]

Contents

Background

Fayed started to learn computer programming at 10 years old under the supervision of his father who works as a computer programmer. He started using the Clipper programming language under MS-DOS. In 2006 he wrote free Arabic programming books. He studied computer science at the Faculty of Electronic Engineering, Menoufia University, Egypt, graduating in 2008. [8] [9] [10] [11]

Fayed received a Master's degree in 2017, from the College of Computer and Information Sciences, King Saud University, Saudi Arabia. [12]

Career

PWCT language

In 2005 Fayed began work on a new visual programming language called PWCT and distributed it as a free-open source project in 2008. [13] [14] [15]

Supernova language

In 2009 Fayed began work on a new programming language called Supernova and distributed it as a free-open source project in 2010. The language support writing the source code in Arabic/English keywords at the same time and it's a Domain-specific language for GUI development using natural code. Supernova is developed using PWCT. [16] [17] [18]

JVLC Journal

In 2013 Fayed worked with other researchers as a reviewer for the Journal of Visual Languages and Computing. [19] The journal is published by Elsevier. [20]

LASCNN algorithm

In 2013–2014 Fayed worked with other researchers on designing the LASCNN algorithm. In graph theory, LASCNN is a Localized Algorithm for Segregation of Critical/Non-critical Nodes. The LASCNN algorithm establishes k-hop neighbor list and a duplicate free pair wise connection list based on k-hop information. If the neighbors are stay connected then the node is non critical. [21] [22]

Ring language

In 2013 Fayed began work on a new programming language called Ring and distributed it as a free-open source project in 2016. [23] Ring aims to offer a language focused on helping the developer with building natural interfaces and declarative DSLs. [24] [25] [26]

Machine Learning

In 2022-2023 Fayed worked with other researchers on developing different machine learning models and solutions. One of these models uses natural language processing to predict the citations count of research papers in Otology field using the paper title, abstract and authors. the results indicate that using neural networks provides the best results compared to other algorithms like linear regression and random forest. The paper abstract has more influence on the citations number compared to the paper title or authors names. [27]

Also, they developed a model to predict the post-operative electrode impedances after cochlear implantation surgery. These models are developed using Ring and Microsoft Azure Machine Learning. [28]

Papers

Related Research Articles

Computer programming or coding is the composition of sequences of instructions, called programs, that computers can follow to perform tasks. It involves designing and implementing algorithms, step-by-step specifications of procedures, by writing code in one or more programming languages. Programmers typically use high-level programming languages that are more easily intelligible to humans than machine code, which is directly executed by the central processing unit. Proficient programming usually requires expertise in several different subjects, including knowledge of the application domain, details of programming languages and generic code libraries, specialized algorithms, and formal logic.

<span class="mw-page-title-main">Programming language</span> Language for communicating instructions to a machine

A programming language is a system of notation for writing computer programs.

Pascal is an imperative and procedural programming language, designed by Niklaus Wirth as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named after French mathematician, philosopher and physicist Blaise Pascal.

In computer science, pseudocode is a description of the steps in an algorithm using a mix of conventions of programming languages with informal, usually self-explanatory, notation of actions and conditions. Although pseudocode shares features with regular programming languages, it is intended for human reading rather than machine control. Pseudocode typically omits details that are essential for machine implementation of the algorithm, meaning that pseudocode can only be verified by hand. The programming language is augmented with natural language description details, where convenient, or with compact mathematical notation. The purpose of using pseudocode is that it is easier for people to understand than conventional programming language code, and that it is an efficient and environment-independent description of the key principles of an algorithm. It is commonly used in textbooks and scientific publications to document algorithms and in planning of software and other algorithms.

SuperCollider is an environment and programming language originally released in 1996 by James McCartney for real-time audio synthesis and algorithmic composition.

Axiom is a free, general-purpose computer algebra system. It consists of an interpreter environment, a compiler and a library, which defines a strongly typed hierarchy.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.

<span class="mw-page-title-main">Recursion (computer science)</span> Use of functions that call themselves

In computer science, recursion is a method of solving a computational problem where the solution depends on solutions to smaller instances of the same problem. Recursion solves such recursive problems by using functions that call themselves from within their own code. The approach can be applied to many types of problems, and recursion is one of the central ideas of computer science.

The power of recursion evidently lies in the possibility of defining an infinite set of objects by a finite statement. In the same manner, an infinite number of computations can be described by a finite recursive program, even if this program contains no explicit repetitions.

The following outline is provided as an overview of and topical guide to computer programming:

<span class="mw-page-title-main">Chapel (programming language)</span> Parallel programming language

Chapel, the Cascade High Productivity Language, is a parallel programming language that was developed by Cray, and later by Hewlett Packard Enterprise which acquired Cray. It was being developed as part of the Cray Cascade project, a participant in DARPA's High Productivity Computing Systems (HPCS) program, which had the goal of increasing supercomputer productivity by 2010. It is being developed as an open source project, under version 2 of the Apache license.

<span class="mw-page-title-main">DRAKON</span> Algorithm mapping tool

DRAKON is a free and open source algorithmic visual programming and modeling language developed as part of the defunct Soviet Union Buran space program in 1986 following the need in increase of software development productivity. The visual language provides a uniform way to represent processes in flowcharts.

Automata-based programming is a programming technology. Its defining characteristic is the use of finite state machines to describe program behavior. The transition graphs of state machines are used in all stages of software development. Automata-based programming technology was introduced by Anatoly Shalyto in 1991. Switch-technology was developed to support automata-based programming. Automata-based programming is considered to be rather general purpose program development methodology than just another one finite state machine implementation.

<span class="mw-page-title-main">Computer cluster</span> Set of computers configured in a distributed computing system

A computer cluster is a set of computers that work together so that they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software. The newest manifestation of cluster computing is cloud computing.

Data-intensive computing is a class of parallel computing applications which use a data parallel approach to process large volumes of data typically terabytes or petabytes in size and typically referred to as big data. Computing applications that devote most of their execution time to computational requirements are deemed compute-intensive, whereas applications are deemed data-intensive require large volumes of data and devote most of their processing time to I/O and manipulation of data.

<span class="mw-page-title-main">Rigetti Computing</span> American quantum computing company

Rigetti Computing, Inc. is a Berkeley, California-based developer of quantum integrated circuits used for quantum computers. The company also develops a cloud platform called Forest that enables programmers to write quantum algorithms.

<span class="mw-page-title-main">PWCT</span> Visual programming language

PWCT is a free open source visual programming language for software development. The project was founded in December 2005 as a free open-source project that supports designing applications through visual programming then generating the source code. The software supports code generation in many textual programming languages.

<span class="mw-page-title-main">Ring (programming language)</span> Dynamically typed, general-purpose programming language

Ring is a dynamically typed, general-purpose programming language. It can be embedded in C/C++ projects, extended using C/C++ code or used as a standalone language. The supported programming paradigms are imperative, procedural, object-oriented, functional, meta, declarative using nested structures, and natural programming. The language is portable and can be used to create console, GUI, web, game and mobile applications.

In graph theory, LASCNN is a Localized Algorithm for Segregation of Critical/Non-critical Nodes The algorithm works on the principle of distinguishing between critical and non-critical nodes for network connectivity based on limited topology information. The algorithm finds the critical nodes with partial information within a few hops.

VoTT is a free and open source Electron app for image annotation and labeling developed by Microsoft. The software is written in the TypeScript programming language and used for building end-to-end object detection models from image and videos assets for computer vision algorithms.

<span class="mw-page-title-main">Turtlestitch</span> Embroidery platform

Turtlestitch is a free and open source platform for generating and sharing patterns for embroidery machines. Turtlestitch is derived from educational programming languages such as Logo, Scratch and Snap! using the same jigsaw style programming paradigm which offers simplicity suitable for novices but has powerful features, described as ‘low threshold, high ceiling’ by Seymour Papert. Its microworld is a turtle representing the needle of a programmable embroidery machine. Turtlestitch can be used for creating novel patterns for embroidery, combining the abstract logic of computing and the physical materiality of textiles. Its primary use is educational, as it offers a way of introducing programming to audiences with diverse interests. A growing gallery of open source embroidery designs enables community-based collaboration and shared learning. In 2017, Turtlestitch received the award for the best Open Educational Resource in the German-speaking countries.

References

  1. M. Ayouni (29 July 2020). "A Dialogue with Mahmoud Fayed" (PDF). Springer.
  2. Beginning Ring Programming - From Novice to Professional | Mansour Ayouni | Apress.
  3. Mones Hawas (29 May 2018). "Progress in developing PWCT 2.0". youm7.com. youm7.
  4. Rich (14 December 2011). "The Anvil Podcast: Programming Without Coding Technology". GitHub.
  5. Ahmed Tartour (January 2020). "Your way to programming (Arabic Book, Pages 56-57)" (PDF). Kotobna.
  6. Ahmed Mohammed Hassan. "Ring: A programming language developed by Arab". muslims-res.com. Retrieved 2020-09-28.
  7. Zayed. "Programming Without Coding Project". itwadi.com. Retrieved 2020-09-28.
  8. Hend Al-Khalifa (29 February 2008). "Free Open Source Visual Programming Language". Al Riyadh.
  9. Naglaa Elsayed (2009). "Programming Without Coding Technology - Innovative Project (offline source)" (PDF). Al Gomhuria. Archived from the original (PDF) on 2019-06-18.
  10. Samar Shaker (2008). "Learn Programming with Mahmoud Fayed (offline source)" (PDF). Rose_al-Yūsuf. Archived from the original (PDF) on 2020-10-11.
  11. Omar Selim (2019). "Ring programming language" (PDF). bimarabia.com.
  12. Fayed, Mahmoud Samir. "General-Purpose Visual Language and Information System with Case-Studies in Developing Business Applications." arXiv preprint arXiv:1712.10281 (2017).
  13. Computer Total Magazine (7 October 2018). "Free software: the best freeware from October 2018 - Includes (You can make almost anything with PWCT)". Computer!Totaal.
  14. AL-AALEM Magazine (November 2008). "Programming Without Coding Technology Review" (PDF). Al-ʻĀlim = Al-Aalem (Scientist) Magazine. AL-AALEM the Scientists Magazine, Issue No. 116, Pages 26-27 Deposit number 18/0157. ISSN   1319-6545.
  15. Andrei Fercalo (11 March 2014). "Programming without coding technology review". Softpedia.
  16. Omnia (24 December 2011). "An Egyptian young man invents the Supernova programming language". youm7.com. youm7.
  17. Zayed. "Supernova (Arabic programming language)". itwadi.com. Retrieved 2020-10-09.
  18. "السوبرنوفا.. لغة برمجة تستخدم اللغة العربية". 18 April 2010. Archived from the original on 2017-07-17.
  19. "Thanks to Reviewers". Journal of Visual Languages & Computing. 24: 68–69. 2013. doi:10.1016/j.jvlc.2012.12.001 . Retrieved 2020-09-29.
  20. "Journal of Visual Languages and Computing". elsevier.com. Retrieved 2020-09-29.
  21. G. Sugithaetal., International Journal of Advanced Engineering Technology E-ISSN 0976-3945
  22. Alnuem, Zafar, Imran, Sana, and Fayed. "Formal specification and validation of a localized algorithm for segregation of critical/noncritical nodes in MAHSNs." International Journal of Distributed Sensor Networks 10, no. 6 (2014): 140973
  23. https://toolchain-projects.eu/ring
  24. Hany Salah (11 January 2016). "Ring: A New programming language". youm7.com. youm7.
  25. Bernhard Lauer (14 August 2018). "Ring: flexible, simple, fast". Dotnetpro.
  26. Softpedia Team (20 May 2020). "Ring 1.12 review". Softpedia.
  27. Alohali, Y.A., Fayed, M.S., Mesallam, T., Abdelsamad, Y., Almuhawas, F. and Hagr, A., 2022. A machine learning model to predict citation counts of scientific papers in otology field. BioMed Research International, 2022.
  28. Alohali, Y.A., Fayed, M.S., Abdelsamad, Y., Almuhawas, F., Alahmadi, A., Mesallam, T. and Hagr, A., 2023. Machine learning and cochlear implantation: predicting the post-operative electrode impedances. Electronics, 12(12), p.2720.

Further reading