Mahmoud Samir Fayed | |
---|---|
محمود سمير فايد | |
Born | December 29, 1986 |
Nationality | Egyptian |
Alma mater | Menoufia University (B.Eng., 2008) King Saud University (M.Sc., 2017) |
Occupation | Computer Programmer |
Years active | 2005-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]
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]
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]
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]
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]
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]
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]
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]
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both hardware and software. Computing has scientific, engineering, mathematical, technological, and social aspects. Major computing disciplines include computer engineering, computer science, cybersecurity, data science, information systems, information technology, and software engineering.
A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their syntax (form) and semantics (meaning), usually defined by a formal language. Languages usually provide features such as a type system, variables, and mechanisms for error handling. An implementation of a programming language is required in order to execute programs, namely an interpreter or a compiler. An interpreter directly executes the source code, while a compiler produces an executable program.
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.
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Originally, the word computing was synonymous with counting and calculating, and the science and technology of mathematical calculations. Today, "computing" means using computers and other computing machines. It includes their operation and usage, the electrical processes carried out within the computing hardware itself, and the theoretical concepts governing them.
Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. One well known subject classification system for computer science is the ACM Computing Classification System devised by the Association for Computing Machinery.
A computer scientist is a scientist who specializes in the academic study of computer science.
SuperCollider is an environment and programming language originally released in 1996 by James McCartney for real-time audio synthesis and algorithmic composition.
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.
The following outline is provided as an overview of and topical guide to computer programming:
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.
This glossary of computer science is a list of definitions of terms and concepts used in computer science, its sub-disciplines, and related fields, including terms relevant to software, data science, and computer programming.
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.
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.