Catalogue Search | MBRL
Search Results Heading
Explore the vast range of titles available.
MBRLSearchResults
-
DisciplineDiscipline
-
Is Peer ReviewedIs Peer Reviewed
-
Item TypeItem Type
-
SubjectSubject
-
YearFrom:-To:
-
More FiltersMore FiltersSourceLanguage
Done
Filters
Reset
9
result(s) for
"Fayed, Mahmoud Samir"
Sort by:
PWCT2: A Self-Hosting Visual Programming Language Based on Ring with Interactive Textual-to-Visual Code Conversion
2025
Visual programming languages (VPLs) play a significant role in simplifying the process of learning to program and reducing development time. Most VPLs are developed for use in education or specific domains. Recently, some projects have aimed to provide general-purpose VPLs. Among these projects is the Programming Without Coding Technology (PWCT) project, which has been used for several years to develop and maintain the compiler and virtual machine for the Ring programming language. However, PWCT faces several issues related to code generation performance and the operating systems it supports. Additionally, its visual editor lacks many features, such as rich comments, auto-run, and the ability to import textual code, which are highly important in the era of using large language models for generating textual code. In this research, we present the PWCT2 visual programming language, which is distributed on the Steam platform. On Steam, 1772 users have launched the software, and the total usage time recorded exceeds 17,000 h. This generation provides approximately 36 times faster code generation and 20 times lower storage requirements for visual source files. It also allows for the conversion of Ring code into visual code, enabling the creation of a self-hosting VPL. It consists of approximately 92,000 lines of Ring code and comes with 394 visual components. Moreover, using Ring in this project demonstrates the feasibility of utilizing the language for projects of this scale. Ring compiles PWCT2 in less than one second, and the generated bytecode consists of approximately 724,000 instructions.
Journal Article
Prompt-Driven Development with Claude Code: Developing a TUI Framework for the Ring Programming Language
2026
Large language models (LLMs) are increasingly used in software development, yet their ability to generate and maintain large, multi-module systems through natural language interaction remains insufficiently characterized. This study presents an empirical analysis of developing a 7420-line Terminal User Interface (TUI) framework for the Ring programming language using a prompt-driven workflow with Claude Code (Opus 4.5), employing an iterative testing and corrective feedback. The system was produced through 107 prompts: 21 feature requests, 72 bug fix prompts, 9 prompts sharing information from Ring documentation, 4 prompts providing architectural guidance, and 1 prompt dedicated to generating documentation. Development progressed across five phases, with the Window Manager phase requiring the most interaction (35 prompts), followed by complex UI systems (25 prompts) and control expansion (20 prompts). Bug-related prompts covered redraw issues, event-handling faults, runtime errors, and layout inconsistencies, while feature requests focused primarily on new widgets, window-manager capabilities, and advanced UI components. Most prompts were brief (mean ≈ 258 characters; median = 207 characters), reflecting a highly iterative workflow in which the human role was limited to specifying requirements, validating behavior, and issuing corrective prompts—without writing any code manually. The resulting framework contains 28 classes, 334 methods and includes a windowing subsystem, event-driven architecture, interactive widgets, hierarchical menus, grid and tree components, tab controls, and a multi-window desktop environment. By combining quantitative prompt analysis with qualitative assessment of model behavior, this study provides empirical evidence that modern LLMs can preserve architectural coherence across iterations and support the construction of new libraries and tools for emerging programming languages, highlighting prompt-driven development as a viable methodology within software-engineering practice.
Journal Article
Ring: A Lightweight and Versatile Cross-Platform Dynamic Programming Language Developed Using Visual Programming
2024
New programming languages are often designed to keep up with technological advancements and project requirements while also learning from previous attempts and introducing more powerful expression mechanisms. However, most existing dynamic programming languages rely on English keywords and lack features that facilitate easy translation of language syntax. Additionally, maintaining multiple implementations of the same language for different platforms, such as desktops and microcontrollers, can lead to inconsistencies and fragmented features. Furthermore, they usually do not use visual programming to fully implement the compiler and virtual machine. In this research paper, we introduce Ring—a dynamically-typed language with a lightweight implementation. However, it boasts several advantages, including a rich and versatile standard library and direct support for classes and object-oriented programming. The Ring language offers customization features. For instance, it allows easy modification of the language syntax multiple times, enabling programming by writing code using Arabic, English, or other keywords. Additionally, the language permits the creation of domain-specific languages through new features that extend object-oriented programming, allowing for specialized languages resembling CSS or Supernova. In the era of the Internet of Things, instead of creating another language implementation to support microcontrollers, the same Ring implementation allows us to create projects and applications for desktops, the web, WebAssembly, Android, or Raspberry Pi Pico. The Ring Compiler and Virtual Machine are designed using the PWCT Visual Programming language based on ANSI C. The visual implementation is composed of 18,945 components that generate 24,743 lines of code, which increases the abstraction level by approximately 23.5% and hides unnecessary details.
Journal Article
Machine Learning and Cochlear Implantation: Predicting the Post-Operative Electrode Impedances
2023
Cochlear implantation is the common treatment for severe to profound sensorineural hearing loss if there is no benefit from hearing aids. Measuring the electrode impedance along the electrode array at different time points after surgery is crucial in verifying the electrodes’ status, determining the compliance levels, and helping to identify the electric dynamic range. Increased impedance values without proper reprogramming can affect the patient’s performance. The prediction of acceptable levels of electrode impedance at different time points after the surgery could help clinicians during the fitting sessions through a comparison of the predicted with the measured levels. Accordingly, clinicians can decide if the measured levels are within the predicted normal range or not. In this work, we used a dataset of 80 pediatric patients who had received cochlear implants with the MED-EL FLEX 28 electrode array. We predicted the impedance of the electrode arrays in each channel at different time points: at one month, three months, six months, and one year after the date of surgery. We used different machine learning algorithms such as linear regression, Bayesian linear regression, decision forest regression, boosted decision tree regression, and neural networks. The used features include the patient’s age and the intra-operative electrode impedance at different electrodes. Our results indicated that the best algorithm varies depending on the channel, while the Bayesian linear regression and neural networks provide the best results for 75% of the channels. Furthermore, the accuracy level ranges between 83% and 100% in half of the channels one year after the surgery, when an error range between 0 and 3 KΩ is defined as an acceptable threshold. Moreover, the use of the patient’s age alone can provide the best prediction results for 50% of the channels at six months or one year after surgery. This reflects that the patient’s age could be a predictor of the electrode impedance after the surgery.
Journal Article
Dual-Language General-Purpose Self-Hosted Visual Language and new Textual Programming Language for Applications
by
Fayed, Mahmoud Samir
in
Domain specific languages
,
Object oriented programming
,
Object-oriented languages
2025
Most visual programming languages (VPLs) are domain-specific, with few general-purpose VPLs like Programming Without Coding Technology (PWCT). These general-purpose VPLs are developed using textual programming languages and improving them requires textual programming. In this thesis, we designed and developed PWCT2, a dual-language (Arabic/English), general-purpose, self-hosting visual programming language. Before doing so, we specifically designed a textual programming language called Ring for its development. Ring is a dynamically typed language with a lightweight implementation, offering syntax customization features. It permits the creation of domain-specific languages through new features that extend object-oriented programming, allowing for specialized languages resembling Cascading Style Sheets (CSS) or Supernova language. The Ring Compiler and Virtual Machine are designed using the PWCT visual programming language where the visual implementation is composed of 18,945 components that generate 24,743 lines of C code, which increases the abstraction level and hides unnecessary details. Using PWCT to develop Ring allowed us to realize several issues in PWCT, which led to the development of the PWCT2 visual programming language using the Ring textual programming language. PWCT2 provides approximately 36 times faster code generation and requires 20 times less storage for visual source files. It also allows for the conversion of Ring code into visual code, enabling the creation of a self-hosting VPL that can be developed using itself. PWCT2 consists of approximately 92,000 lines of Ring code and comes with 394 visual components. PWCT2 is distributed to many users through the Steam platform and has received positive feedback, On Steam, 1772 users have launched the software, and the total recorded usage time exceeds 17,000 hours, encouraging further research and development.
Prompt Driven Development with Claude Code: Building a Complete TUI Framework for the Ring Programming Language
2026
Large language models are increasingly used in software development, yet their ability to generate and maintain large, multi module systems through natural language interaction remains insufficiently characterized. This study presents an empirical analysis of developing a 7420 line Terminal User Interface framework for the Ring programming language, completed in roughly ten hours of active work spread across three days using a purely prompt driven workflow with Claude Code, Opus 4.5. The system was produced through 107 prompts: 21 feature requests, 72 bug fix prompts, 9 prompts sharing information from Ring documentation, 4 prompts providing architectural guidance, and 1 prompt dedicated to generating documentation. Development progressed across five phases, with the Window Manager phase requiring the most interaction, followed by complex UI systems and controls expansion. Bug related prompts covered redraw issues, event handling faults, runtime errors, and layout inconsistencies, while feature requests focused primarily on new widgets, window manager capabilities, and advanced UI components. Most prompts were short, reflecting a highly iterative workflow in which the human role was limited to specifying requirements, validating behaviour, and issuing corrective prompts without writing any code manually. The resulting framework includes a complete windowing subsystem, event driven architecture, interactive widgets, hierarchical menus, grid and tree components, tab controls, and a multi window desktop environment. By combining quantitative prompt analysis with qualitative assessment of model behaviour, this study provides empirical evidence that modern LLMs can sustain architectural coherence and support the construction of production grade tooling for emerging programming languages, highlighting prompt driven development as a viable methodology within software engineering practice.
General-Purpose Visual Language and Information System with Case-Studies in Developing Business Applications
by
Fayed, Mahmoud Samir
in
Computer programming
,
Programming languages
,
Visual programming languages
2020
Learning computer programming has been always challenging. Since the sixties of the last century, many researchers developed Visual Programming Languages (VPLs) to help in this regard. In this thesis, ten VPLs were specifically selected, studied, experimented with, and evaluated. A total of fifteen metrics were used to evaluate the tools. Comparisons, classification, and gap analysis were then presented. A list of requirements for a general-purpose VPL and a guide to help the novice programmer choose the right tool were generated and finally the PWCT (Programming Without Coding Technology, a novel general-purpose visual programming language) is developed and presented. PWCT has been launched as a Sourceforge project, which currently has more than 230,000 downloads for the language and more than 19,500,000 downloads for samples, tutorials and movies. Many business applications and projects are developed using PWCT, Also we developed the Supernova programming language and the Ring programming language using PWCT to prove that it can be used for advanced and large projects. Feedback from developers and results from the studies indicate that PWCT is a very appealing, competitive, and powerful language.
SNKnock: A free security tool for Facebook users
2017
The Facebook Social network is very famous and widely used by millions of users all over the world. Facebook comes with high level of usability so users can easily find their friends and connect to them, but there are security issues related to this process where the attacker can make same-site or cross-site profile cloning attacks to get other users data. In this paper we will identify advanced same-site or cross-site profile cloning attacks then we will propose a security solution to these attacks where the user must record a voice message and answer some questions when he sends a friend request to another user, and then the other user will listen to this message before deciding to accept or reject the request. We implemented this solution by developing new web application called SNKnock which is available as free service.
Super Event Driven System OOP GUI Design
This article presents a new proposal design of GUI and new technology in programming Namely \"Super Technology\" which can be applied for supporting the proposal design of GUI