SlideShare a Scribd company logo
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 10 Issue: 09 | Sep 2023 www.irjet.net p-ISSN: 2395-0072
© 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 238
POLYLAB: A CUSTOMIZED MULTI-LANGUAGE DEVELOPMENT
ENVIRONMENT FOR COMPUTER SCIENCE STUDENTS IN NIGERIAN
POLYTECHNICS
, Onuora, Augustine Chidiebere1, Madubuike, Chibuike Ezeocha2. & Ezeorah, Ezekiel Uchechi3
1,2,3 Computer Science Department, Akanu Ibiam Federal Polytechnic Unwana Afikpo, Ebonyi State, Nigeria
---------------------------------------------------------------------***---------------------------------------------------------------------
Abstract - In this paper, a customized multi-language
development environment (MLDE), PolyLAB, is developed for
students in Nigerian Polytechnics. The online programming
laboratory supports the entire Nine (9) programming
languages offered by computer science students in Nigeria
Polytechnic at both National Diploma (ND) and Higher
National Diploma (HND); namely Java, Python, C, C++,
MATLAB, PASCAL, HTML, CSS and JavaScript. Using the
content management system of PolyLAB, Lecturers and
Technologist in Nigeria Polytechnics canpostlessonmaterials
on programming courses taught by them for their students to
study while the integrated multi-language code editor will
allow the student try program codes on the fly. Successful
implementation of PolyLAB will removetheburdenof boththe
technicalities and the cost of both setting up and maintaining
different development environment used by ComputerScience
student in Nigerian Polytechnics, as well as facilitate
independent studies from individual comfort locations.
Key Words: Computer Science (CS), Multi-language
development environment (MLDE), Nigerian Polytechnics,
Online Programming Laboratory (PL).
1. INTRODUCTION
A Multi-language development environment(MLDE)isan
integrated development environment (IDE) that is designed
to support multiple programming languages allowing
developers to work with a variety of languages in a single
environment [2]. Some of these MLDE can be in mobile,
desktop or cloud/web version. Presently the cloud version
of MLDE enjoys more preferences from developers globally
because of its support for remote access, automatic backup
and collaborative coding.
The National Board for Technical Education (NBTE)
established in 1977, is the principal organ of the Nigerian
Federal Ministry of Education which saddledwiththetask of
supervising, regulating and overseeing educational
programmes offered in Nigeria Polytechnics, monotechnics,
and technical colleges/secondary schools. As part of its
regulatory role, NBTE reviews their curriculum every five
(5) with the latest curriculum which was reviewed in 2019.
Students studying computer science are expected tolearn at
least eight (8) different programming language at both ND
and HND level before graduation [7].
Though the reasons for multi-language training as could
be seen in the case of a Computer Science programme in
NigerianPolytechnicsareenormous;rangingprimarilyfrom:
the need to expose the young programmer to different
programming paradigms, practices and theories; to the
concepts of polyglot programming and micro-services
adoption [8]. While polyglot programming allows a
programmer to learn as many programming languages as
possible in other to position him/herself for betterjob,more
money and flexible choice of tools in software career;micro-
services concept allows different independent applications
to be coupled into one project so that the project can enjoy
the benefits each programminglanguageused.Anexampleis
the case of combining Java and C applications into one
project in other to enjoy both the portability of Java and the
resource management of C language. According to [9] some
of the contemporary application developers use more than
one programming language to develop their applications.
Examples Magento and X-cost were developedwithoverten
(10) programming language.
However, the financial and technical burden of setting up
and maintaining both the hardware and the software
dependencies of suchmulti-languagetraininglaboratoriesof
Nigerian Polytechnics and individual systemsofthestudents
involved cannot be denied. Also, while some existing online
multi-language development environment (MLDEs) like
CodingHere and SoloLearn, are generic in the choice of
programming language they support others like GitHub and
Google Colab will still subject the developers to setup the
environment by themselves [5]. There is need to deploy a
customized multi-language development environment
(MLDE) that will specifically handletheidentifiedchallenges
of a multi-language training systems of the Nigeria
Polytechnics.
In this work, a multi-language development environment
was developed to remove the burden of both the
technicalities and the cost of bothsettingupandmaintaining
different development environment associated with
studying Computer Science in Nigerian Polytechnics. The
new system, PolyLAB, allows students in Nigeria
polytechnics to write and run programsinanyofthenine (9)
programming language from a single interface as well as
allow lecturers and technologist to provide study materials
to their students using its content management system.
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 10 Issue: 09 | Sep 2023 www.irjet.net p-ISSN: 2395-0072
© 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 239
2. RELATED WORKS
[3]developedamulti-languageexecutionplatformusinga
flexible virtual virtual machine (VVM). Unlike the rigid
traditional virtual machines (VM) whichisbytecode-specific,
VVM can execute programs written in different bytecode
language depending on its configuration. To achieve its
flexibility, VVM creates separate virtual machines for each
programming language called (VMlet). Each VMlets contains
a virtual machine model, a memory model and an
environment model configured for a particular bytecode
language. So whenever a particular bytecode language is to
be executed, the VVM will load the appropriate VMlet for it.
The transparency in loading and offloading of the VMlets
makes VVM unique.
Similarly, [6] proposes the implementationofasinglelive
programming environment (LPE) that will support different
programming code editors or different integrated
development environments (IDEs). The Poly2Kanon project
is an extension of Kanon, a live data structure programming
environment for JavaScript. Using their proposed system, a
programmer will not need to separately configure live
servers for each development environment used for
developing multi-language systems. For each adopted
language, Poly2Kanon separates the language code editor
from the language runtime; then uses a live server to
join/bridge the two. Communications between the
components are done using APIs.
As a solution to the existing paid, legacy language source
code analyzers and visualization tools, [10] developed
Analizo. Analizo was developed as a free multi-language and
extensible source code analyzer and visualization tool.
Analizo supports C, C++, and Java. Unlike someof theexisting
legacy code analyzers like CScope, LDXC and CTAGX with
outdated libraries, due to the absenceofdevelopers’support,
Analizo provides interfaces for adding new featuressothatit
will continue to enjoy both developers and researchers
support. With Analizo, developers and researchers can both
identify and fix potential code problems as well as optimize
their codes using the result of the analysis.
Using PHP, [1] developed a cloud-based multi-language
development environment. Cloud MLDE is deployed on a
cloud provider, Windows Azure, and supports four (4)
programming language namely: Python, Java, C and C++.
However, the system does not integrate web API, mobile
version and collaborative editing.
Due to the absence of the integration of cross-language
relations, mostexistingintegrateddevelopmentenvironment
(IDE)are not designedtodirectlysupportthedevelopmentof
multi-language system (MLS). [9] developed two different
multi-language development environment prototypes,
TexMo, and Coral.Thetwosystemswillprovidevisualization,
navigating, static checking, and refactoring as its cross-
language relation integration.
3. DESIGN METHODOLOGY
Agile methodology is the software development
methodology adopted in this project. As one of the most
common software development approaches today, agile
methodology adopts a different strategy than the traditional
linear approach by focusing on how to satisfy the consumers
instead of emphasizing on documentation and strict
procedures. In agile, jobs aredividedintomanageablesprints
that take one to four weeks to finish. Agile software
development's main advantage is that it enables iterative
software releases. Iterative releases increaseproductivityby
enabling teams to identify and correct flaws and set
expectations early on. With regular incremental
enhancements, they also enable consumers to enjoy the
benefits of software earlier.
With agile, the user requirements and system
requirements were extracted and elucidated as functional
requirements and non-functional requirements. These
functional requirementsassist one in capturing the intended
behavior of the proposed system. Such behavior may be
represented in terms of actions, processes, or tasks that a
system must carry out. The identifiedfunctionalrequirement
for the proposed system are:
1. The software authenticated users (Staff and Students)
with their staff ID or student Matric Number.
2. Only users duly approved can use the system.
3. The background color forthe CodeEditor windows inthe
application will be black and have a hexadecimal RGB
color value of 0x000000. This will help reduce the effect
of light emission to the eye of students or staff using the
editor.
4. Only Managerial level employees have the right to view
and inspect other staff and students.
5. The software system should be integrated with VSCode
API
6. A Verification email is sent to user whenever he/she
registers for the first time and is approved to use the
software system.
While the non-functional requirements include:
1. Emails should be sent with a latency of no greaterthan12
hours from such an activity.
2. The processing of each request should be done within 10
– 20 seconds
3. The Code IDE should load in 5 seconds when the number
of simultaneous users are > 1000
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 10 Issue: 09 | Sep 2023 www.irjet.net p-ISSN: 2395-0072
© 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 240
4. The Code IDE can be used on any portable devices like
mobile phones (Android or IPhone), IPad, tablets.
5. The software should be portable. So moving from one OS
to other OS does not create any problem.
6. Users must change the initially assigned login password
immediately after the first successful login.Moreover,the
initial should never be reused.
Some selectedtechnologieswereusedinthedevelopment
of a system in other tomeetthefunctionalandnon-functional
requirements. HTML and CSS helped in the designed forms
for user inputs while PHPwasusedtoaccesstheseinputsand
send them to the database. PHP was also used to retrieve
users’ login details during authentication and the display of
profile from data stored on the MYSQL DBMS. For the non-
functional requirements, the use of CSS in the form of
POSTCSS and TailwindCSS made the application to be
responsive and thereby portable. This made it to be able to
render perfectly on various computing devices. The use of
HTML, CSS and JavaScript made it be a cross-platform
application, running on the browser of any OS such as
windows, Mac or Linux efficiently.
More so, many factors that were considered while
designing the proposed system. Some of these design
considerations include the ability of the end-user to easily
interact with the user interface (usability); the ability to add
new capabilities to the software system without making
significant changes to the architecture (extensibility); the
ability to co-exist and cooperate with existing software
systems (compatibility); the ability to exist as a collection of
testable and maintainable components(modularity);andthe
ability to easily apply bug fixes and modifications
(maintainability)..
4. RESULT AND DISCUSSION
The result of the design and the implementation of the
new system are presented as data flow diagram, user-case
diagram, and snapshots of the user interface.
The data flow diagram shows the different procedures the
system data undergoes in other to be processed starting
from the point of initial input to final output/storage.
a
l
Fig.1: The dataflow diagram of the new system (source:
author)
The use case diagram presents the high level diagram of
the new system. Showing its users and the different action
they can perform. From Fig. 2, one can identify that the new
system has four (4) users (actors) who can perform six (6)
different activities based on their roles.
Fig. 2: The use-case diagram of the new system (source:
author)
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 10 Issue: 09 | Sep 2023 www.irjet.net p-ISSN: 2395-0072
© 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 241
The entire system is divided into two main modules with
severalsub-modulesandcomponents.Thetwomainmodules
are: (a) The Web Portals: Thishandlestheregistration,Login,
Lost Password, Tutorial publishing, Task / Assignment
publishing. The technology employed here is a Content
Management System (CMS). The essence of using a CMSbuilt
with HTML, CSS, JavaScript for frontend and PHP/MySQL for
backend anddatabasemanagement.(b)TheCodeEditor:This
handles the compilation of programming languages. The
editor was built with React, a JavaScript framework and
connected with API from RapidAPI. THE tech stack here
includes, HTML, TailwindCSS, PostCSS, JavaScript and
Firebase. The user interface of PolyLAB is presented in Fig. 3
Successful implementation of PolyLAB will remove the
burden of both the technicalities and the cost of both setting
up and maintaining differentdevelopmentenvironmentused
by Computer Science student in Nigerian Polytechnics, as
well as facilitateindependentstudiesfromindividualcomfort
locations through the use of internet [11].
Fig. 3: The user interface of the new system (source: author)
5. CONCLUSIONS
In this study, a customized multi-language development
environment (MLDE), PolyLAB, is developed for students in
Nigerian Polytechnics in order to eliminate the financial and
technical burden faced by both students and the
Departments in bothsettingupandmaintainingthedifferent
programming languages studied by Computer Science
Students in Nigeria Polytechnics. To enable a better
understanding of the new system, artifacts like the use case
diagram, dataflow diagram and systemsnapshotshave been
included alongside with the design details. The online
programing laboratory is equipped with both a content
management system and a code editor to facilitate both
publication and the on the fly coding and running of source
codes. Further studies will concentrate on provision of web
API, mobile version, and integration of code assessment,
code version tracking and code plagiarism test.
ACKNOWLEDGEMENT (Optional)
The authors wish to acknowledge Tertiary Education Trust
Fund (TETFUND) IBR for their grant toward the
actualization and Success of this research.
REFERENCES
[1] Abdulla, S., Iyer, S. & Kutty, S. (2013). Cloud Based
Compiler, International Journal of Students Research in
Technology and Management, 1(3): 308-322.
[2] Azumo (2023). Integrated Development Environment,
accessed from https://azumo.com/insights/integrated-
development-environment on March 11, 2013
[3] Folliot, B., Piumarta, I. & Riccardi, F. (1998). A
Dynamically Configured Multi-Language Execution
platform, In Proc. ACM SIGOPS European Workshop
1998: 175 -181.
[4] Kurniawan, A, Kurniawan, A. Saesanto, C. & Wijaya
(2015). CodeR: Real-time Code Editor Application For
Collaboative Programming, International Conferenceon
ComputerScienceandComputational Intelligence(ICCSI
2015), 59(2015), 510-519.
[5] Madubuike, C. E., Onuora, A.C., Ezeorah, E. U. (2023). A
Review of Virtual Programming Laboratory: Design
Issues, International Research Journal of Engineering
and Technology (IRJET), 10(2), 1-6.
[6] Masuthara, H., Takahashi, S., Izawa, Y & Cong, Y. (2020).
Toward a Multi-Language and Multi-Environment
Framework for Live Programming, Proceedings of Live
Programming Workshop 2020 (Live’20) on November,
2020.
[7] NBTE (2019). National Board for Technical Education:
Curriculum and Course Specifications, Kaduna, April
2019
[8] Neale, D. (2023). Why You Should Become a Polyglot
Developer, accessed from
https://cult.honeypot.io/reeds/become-a-polyglot-
developer on March 11, 2023.
[9] Pfeiffer, R. & Wasowski, A. (2015). The Design Space of
Multi-language Development Environment, Softw. Syst.
Model, 14: 383-411.
[10] Terceiro, A., Costa, J., Miranda, J., Meirelles, P., Rios, L. R.,
Almeida, L., Chavez, C. & Kon, F. (2010). Analizo: An
Extensible Multi-language, Source Code Analysis and
Visualization Toolkit, In Proceedings of Brazilian Conf.
Softw, Theory Practice, Tools Session, Jan. 2010: 107.
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 10 Issue: 09 | Sep 2023 www.irjet.net p-ISSN: 2395-0072
© 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 242
[11] Ezeano, A. N.; Idemudia, O. J.; Madubuike, C. E.;
Omoregbee, E. U. and Onuora, A. C. (2017). Web Based
Programming: A VeritableTool forsecurityandNational
Development. International Journal of Computer
Applications Technology and Research, Vol. 6, Issue 8,
September, 2017, ISSN:2319-8556.

More Related Content

Similar to POLYLAB: A CUSTOMIZED MULTI-LANGUAGE DEVELOPMENT ENVIRONMENT FOR COMPUTER SCIENCE STUDENTS IN NIGERIAN POLYTECHNICS (20)

PPTX
CSC201_8374838384848838e8e8r88r8r88r8.pptx
isahmajiisah02
 
PDF
Introduction
baran19901990
 
PDF
Social networks, microblogging, virtual worlds, and Web 2.0 in the teaching o...
Gonçalo Cruz Matos
 
KEY
Polyglot and functional (Devoxx Nov/2011)
Martijn Verburg
 
PPTX
Java Starting
Raja Sekhar
 
PDF
M256 Unit 1 - Software Development with Java
Yaseen
 
DOC
Grade 8: Introduction To Java
nandanrocker
 
PPTX
Polyglot
Rory Preddy
 
PPTX
Modelling and Programming: Isn’t it all the same?
CHOOSE
 
DOC
6010 java programming version 6
bestip
 
PDF
Java Fundamentals Of Computer Science Using Java
Prabhu vip
 
PDF
Modern Compiler Implementation In Java Second Edition 2nd Andrew W Appel
danilclone54
 
PPTX
Programming languages
Simon Mui
 
PDF
Class 1 blog
Narcisa Velez
 
DOCX
Training report anish
Anish Yadav
 
PPTX
Discovering Computers: Chapter 13
Anna Stirling
 
PPTX
Trend of Visual Programming Language
Teddy Marcus
 
PPT
Indic threads pune12-polyglot & functional programming on jvm
IndicThreads
 
PPTX
CH13-Computer Programs and Programming Languages
Sukanya Ben
 
CSC201_8374838384848838e8e8r88r8r88r8.pptx
isahmajiisah02
 
Introduction
baran19901990
 
Social networks, microblogging, virtual worlds, and Web 2.0 in the teaching o...
Gonçalo Cruz Matos
 
Polyglot and functional (Devoxx Nov/2011)
Martijn Verburg
 
Java Starting
Raja Sekhar
 
M256 Unit 1 - Software Development with Java
Yaseen
 
Grade 8: Introduction To Java
nandanrocker
 
Polyglot
Rory Preddy
 
Modelling and Programming: Isn’t it all the same?
CHOOSE
 
6010 java programming version 6
bestip
 
Java Fundamentals Of Computer Science Using Java
Prabhu vip
 
Modern Compiler Implementation In Java Second Edition 2nd Andrew W Appel
danilclone54
 
Programming languages
Simon Mui
 
Class 1 blog
Narcisa Velez
 
Training report anish
Anish Yadav
 
Discovering Computers: Chapter 13
Anna Stirling
 
Trend of Visual Programming Language
Teddy Marcus
 
Indic threads pune12-polyglot & functional programming on jvm
IndicThreads
 
CH13-Computer Programs and Programming Languages
Sukanya Ben
 

More from IRJET Journal (20)

PDF
Enhanced heart disease prediction using SKNDGR ensemble Machine Learning Model
IRJET Journal
 
PDF
Utilizing Biomedical Waste for Sustainable Brick Manufacturing: A Novel Appro...
IRJET Journal
 
PDF
Kiona – A Smart Society Automation Project
IRJET Journal
 
PDF
DESIGN AND DEVELOPMENT OF BATTERY THERMAL MANAGEMENT SYSTEM USING PHASE CHANG...
IRJET Journal
 
PDF
Invest in Innovation: Empowering Ideas through Blockchain Based Crowdfunding
IRJET Journal
 
PDF
SPACE WATCH YOUR REAL-TIME SPACE INFORMATION HUB
IRJET Journal
 
PDF
A Review on Influence of Fluid Viscous Damper on The Behaviour of Multi-store...
IRJET Journal
 
PDF
Wireless Arduino Control via Mobile: Eliminating the Need for a Dedicated Wir...
IRJET Journal
 
PDF
Explainable AI(XAI) using LIME and Disease Detection in Mango Leaf by Transfe...
IRJET Journal
 
PDF
BRAIN TUMOUR DETECTION AND CLASSIFICATION
IRJET Journal
 
PDF
The Project Manager as an ambassador of the contract. The case of NEC4 ECC co...
IRJET Journal
 
PDF
"Enhanced Heat Transfer Performance in Shell and Tube Heat Exchangers: A CFD ...
IRJET Journal
 
PDF
Advancements in CFD Analysis of Shell and Tube Heat Exchangers with Nanofluid...
IRJET Journal
 
PDF
Breast Cancer Detection using Computer Vision
IRJET Journal
 
PDF
Auto-Charging E-Vehicle with its battery Management.
IRJET Journal
 
PDF
Analysis of high energy charge particle in the Heliosphere
IRJET Journal
 
PDF
A Novel System for Recommending Agricultural Crops Using Machine Learning App...
IRJET Journal
 
PDF
Auto-Charging E-Vehicle with its battery Management.
IRJET Journal
 
PDF
Analysis of high energy charge particle in the Heliosphere
IRJET Journal
 
PDF
Wireless Arduino Control via Mobile: Eliminating the Need for a Dedicated Wir...
IRJET Journal
 
Enhanced heart disease prediction using SKNDGR ensemble Machine Learning Model
IRJET Journal
 
Utilizing Biomedical Waste for Sustainable Brick Manufacturing: A Novel Appro...
IRJET Journal
 
Kiona – A Smart Society Automation Project
IRJET Journal
 
DESIGN AND DEVELOPMENT OF BATTERY THERMAL MANAGEMENT SYSTEM USING PHASE CHANG...
IRJET Journal
 
Invest in Innovation: Empowering Ideas through Blockchain Based Crowdfunding
IRJET Journal
 
SPACE WATCH YOUR REAL-TIME SPACE INFORMATION HUB
IRJET Journal
 
A Review on Influence of Fluid Viscous Damper on The Behaviour of Multi-store...
IRJET Journal
 
Wireless Arduino Control via Mobile: Eliminating the Need for a Dedicated Wir...
IRJET Journal
 
Explainable AI(XAI) using LIME and Disease Detection in Mango Leaf by Transfe...
IRJET Journal
 
BRAIN TUMOUR DETECTION AND CLASSIFICATION
IRJET Journal
 
The Project Manager as an ambassador of the contract. The case of NEC4 ECC co...
IRJET Journal
 
"Enhanced Heat Transfer Performance in Shell and Tube Heat Exchangers: A CFD ...
IRJET Journal
 
Advancements in CFD Analysis of Shell and Tube Heat Exchangers with Nanofluid...
IRJET Journal
 
Breast Cancer Detection using Computer Vision
IRJET Journal
 
Auto-Charging E-Vehicle with its battery Management.
IRJET Journal
 
Analysis of high energy charge particle in the Heliosphere
IRJET Journal
 
A Novel System for Recommending Agricultural Crops Using Machine Learning App...
IRJET Journal
 
Auto-Charging E-Vehicle with its battery Management.
IRJET Journal
 
Analysis of high energy charge particle in the Heliosphere
IRJET Journal
 
Wireless Arduino Control via Mobile: Eliminating the Need for a Dedicated Wir...
IRJET Journal
 
Ad

Recently uploaded (20)

PPTX
Evaluation and thermal analysis of shell and tube heat exchanger as per requi...
shahveer210504
 
PPTX
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PPTX
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
PPTX
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
PPTX
Day2 B2 Best.pptx
helenjenefa1
 
PPTX
Thermal runway and thermal stability.pptx
godow93766
 
PPTX
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PPTX
GitOps_Without_K8s_Training simple one without k8s
DanialHabibi2
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PPTX
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
PPTX
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
PDF
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
PPTX
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
PPTX
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
Evaluation and thermal analysis of shell and tube heat exchanger as per requi...
shahveer210504
 
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
Day2 B2 Best.pptx
helenjenefa1
 
Thermal runway and thermal stability.pptx
godow93766
 
MobileComputingMANET2023 MobileComputingMANET2023.pptx
masterfake98765
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
GitOps_Without_K8s_Training simple one without k8s
DanialHabibi2
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
Unified_Cloud_Comm_Presentation anil singh ppt
anilsingh298751
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
Ad

POLYLAB: A CUSTOMIZED MULTI-LANGUAGE DEVELOPMENT ENVIRONMENT FOR COMPUTER SCIENCE STUDENTS IN NIGERIAN POLYTECHNICS

  • 1. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 10 Issue: 09 | Sep 2023 www.irjet.net p-ISSN: 2395-0072 © 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 238 POLYLAB: A CUSTOMIZED MULTI-LANGUAGE DEVELOPMENT ENVIRONMENT FOR COMPUTER SCIENCE STUDENTS IN NIGERIAN POLYTECHNICS , Onuora, Augustine Chidiebere1, Madubuike, Chibuike Ezeocha2. & Ezeorah, Ezekiel Uchechi3 1,2,3 Computer Science Department, Akanu Ibiam Federal Polytechnic Unwana Afikpo, Ebonyi State, Nigeria ---------------------------------------------------------------------***--------------------------------------------------------------------- Abstract - In this paper, a customized multi-language development environment (MLDE), PolyLAB, is developed for students in Nigerian Polytechnics. The online programming laboratory supports the entire Nine (9) programming languages offered by computer science students in Nigeria Polytechnic at both National Diploma (ND) and Higher National Diploma (HND); namely Java, Python, C, C++, MATLAB, PASCAL, HTML, CSS and JavaScript. Using the content management system of PolyLAB, Lecturers and Technologist in Nigeria Polytechnics canpostlessonmaterials on programming courses taught by them for their students to study while the integrated multi-language code editor will allow the student try program codes on the fly. Successful implementation of PolyLAB will removetheburdenof boththe technicalities and the cost of both setting up and maintaining different development environment used by ComputerScience student in Nigerian Polytechnics, as well as facilitate independent studies from individual comfort locations. Key Words: Computer Science (CS), Multi-language development environment (MLDE), Nigerian Polytechnics, Online Programming Laboratory (PL). 1. INTRODUCTION A Multi-language development environment(MLDE)isan integrated development environment (IDE) that is designed to support multiple programming languages allowing developers to work with a variety of languages in a single environment [2]. Some of these MLDE can be in mobile, desktop or cloud/web version. Presently the cloud version of MLDE enjoys more preferences from developers globally because of its support for remote access, automatic backup and collaborative coding. The National Board for Technical Education (NBTE) established in 1977, is the principal organ of the Nigerian Federal Ministry of Education which saddledwiththetask of supervising, regulating and overseeing educational programmes offered in Nigeria Polytechnics, monotechnics, and technical colleges/secondary schools. As part of its regulatory role, NBTE reviews their curriculum every five (5) with the latest curriculum which was reviewed in 2019. Students studying computer science are expected tolearn at least eight (8) different programming language at both ND and HND level before graduation [7]. Though the reasons for multi-language training as could be seen in the case of a Computer Science programme in NigerianPolytechnicsareenormous;rangingprimarilyfrom: the need to expose the young programmer to different programming paradigms, practices and theories; to the concepts of polyglot programming and micro-services adoption [8]. While polyglot programming allows a programmer to learn as many programming languages as possible in other to position him/herself for betterjob,more money and flexible choice of tools in software career;micro- services concept allows different independent applications to be coupled into one project so that the project can enjoy the benefits each programminglanguageused.Anexampleis the case of combining Java and C applications into one project in other to enjoy both the portability of Java and the resource management of C language. According to [9] some of the contemporary application developers use more than one programming language to develop their applications. Examples Magento and X-cost were developedwithoverten (10) programming language. However, the financial and technical burden of setting up and maintaining both the hardware and the software dependencies of suchmulti-languagetraininglaboratoriesof Nigerian Polytechnics and individual systemsofthestudents involved cannot be denied. Also, while some existing online multi-language development environment (MLDEs) like CodingHere and SoloLearn, are generic in the choice of programming language they support others like GitHub and Google Colab will still subject the developers to setup the environment by themselves [5]. There is need to deploy a customized multi-language development environment (MLDE) that will specifically handletheidentifiedchallenges of a multi-language training systems of the Nigeria Polytechnics. In this work, a multi-language development environment was developed to remove the burden of both the technicalities and the cost of bothsettingupandmaintaining different development environment associated with studying Computer Science in Nigerian Polytechnics. The new system, PolyLAB, allows students in Nigeria polytechnics to write and run programsinanyofthenine (9) programming language from a single interface as well as allow lecturers and technologist to provide study materials to their students using its content management system.
  • 2. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 10 Issue: 09 | Sep 2023 www.irjet.net p-ISSN: 2395-0072 © 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 239 2. RELATED WORKS [3]developedamulti-languageexecutionplatformusinga flexible virtual virtual machine (VVM). Unlike the rigid traditional virtual machines (VM) whichisbytecode-specific, VVM can execute programs written in different bytecode language depending on its configuration. To achieve its flexibility, VVM creates separate virtual machines for each programming language called (VMlet). Each VMlets contains a virtual machine model, a memory model and an environment model configured for a particular bytecode language. So whenever a particular bytecode language is to be executed, the VVM will load the appropriate VMlet for it. The transparency in loading and offloading of the VMlets makes VVM unique. Similarly, [6] proposes the implementationofasinglelive programming environment (LPE) that will support different programming code editors or different integrated development environments (IDEs). The Poly2Kanon project is an extension of Kanon, a live data structure programming environment for JavaScript. Using their proposed system, a programmer will not need to separately configure live servers for each development environment used for developing multi-language systems. For each adopted language, Poly2Kanon separates the language code editor from the language runtime; then uses a live server to join/bridge the two. Communications between the components are done using APIs. As a solution to the existing paid, legacy language source code analyzers and visualization tools, [10] developed Analizo. Analizo was developed as a free multi-language and extensible source code analyzer and visualization tool. Analizo supports C, C++, and Java. Unlike someof theexisting legacy code analyzers like CScope, LDXC and CTAGX with outdated libraries, due to the absenceofdevelopers’support, Analizo provides interfaces for adding new featuressothatit will continue to enjoy both developers and researchers support. With Analizo, developers and researchers can both identify and fix potential code problems as well as optimize their codes using the result of the analysis. Using PHP, [1] developed a cloud-based multi-language development environment. Cloud MLDE is deployed on a cloud provider, Windows Azure, and supports four (4) programming language namely: Python, Java, C and C++. However, the system does not integrate web API, mobile version and collaborative editing. Due to the absence of the integration of cross-language relations, mostexistingintegrateddevelopmentenvironment (IDE)are not designedtodirectlysupportthedevelopmentof multi-language system (MLS). [9] developed two different multi-language development environment prototypes, TexMo, and Coral.Thetwosystemswillprovidevisualization, navigating, static checking, and refactoring as its cross- language relation integration. 3. DESIGN METHODOLOGY Agile methodology is the software development methodology adopted in this project. As one of the most common software development approaches today, agile methodology adopts a different strategy than the traditional linear approach by focusing on how to satisfy the consumers instead of emphasizing on documentation and strict procedures. In agile, jobs aredividedintomanageablesprints that take one to four weeks to finish. Agile software development's main advantage is that it enables iterative software releases. Iterative releases increaseproductivityby enabling teams to identify and correct flaws and set expectations early on. With regular incremental enhancements, they also enable consumers to enjoy the benefits of software earlier. With agile, the user requirements and system requirements were extracted and elucidated as functional requirements and non-functional requirements. These functional requirementsassist one in capturing the intended behavior of the proposed system. Such behavior may be represented in terms of actions, processes, or tasks that a system must carry out. The identifiedfunctionalrequirement for the proposed system are: 1. The software authenticated users (Staff and Students) with their staff ID or student Matric Number. 2. Only users duly approved can use the system. 3. The background color forthe CodeEditor windows inthe application will be black and have a hexadecimal RGB color value of 0x000000. This will help reduce the effect of light emission to the eye of students or staff using the editor. 4. Only Managerial level employees have the right to view and inspect other staff and students. 5. The software system should be integrated with VSCode API 6. A Verification email is sent to user whenever he/she registers for the first time and is approved to use the software system. While the non-functional requirements include: 1. Emails should be sent with a latency of no greaterthan12 hours from such an activity. 2. The processing of each request should be done within 10 – 20 seconds 3. The Code IDE should load in 5 seconds when the number of simultaneous users are > 1000
  • 3. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 10 Issue: 09 | Sep 2023 www.irjet.net p-ISSN: 2395-0072 © 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 240 4. The Code IDE can be used on any portable devices like mobile phones (Android or IPhone), IPad, tablets. 5. The software should be portable. So moving from one OS to other OS does not create any problem. 6. Users must change the initially assigned login password immediately after the first successful login.Moreover,the initial should never be reused. Some selectedtechnologieswereusedinthedevelopment of a system in other tomeetthefunctionalandnon-functional requirements. HTML and CSS helped in the designed forms for user inputs while PHPwasusedtoaccesstheseinputsand send them to the database. PHP was also used to retrieve users’ login details during authentication and the display of profile from data stored on the MYSQL DBMS. For the non- functional requirements, the use of CSS in the form of POSTCSS and TailwindCSS made the application to be responsive and thereby portable. This made it to be able to render perfectly on various computing devices. The use of HTML, CSS and JavaScript made it be a cross-platform application, running on the browser of any OS such as windows, Mac or Linux efficiently. More so, many factors that were considered while designing the proposed system. Some of these design considerations include the ability of the end-user to easily interact with the user interface (usability); the ability to add new capabilities to the software system without making significant changes to the architecture (extensibility); the ability to co-exist and cooperate with existing software systems (compatibility); the ability to exist as a collection of testable and maintainable components(modularity);andthe ability to easily apply bug fixes and modifications (maintainability).. 4. RESULT AND DISCUSSION The result of the design and the implementation of the new system are presented as data flow diagram, user-case diagram, and snapshots of the user interface. The data flow diagram shows the different procedures the system data undergoes in other to be processed starting from the point of initial input to final output/storage. a l Fig.1: The dataflow diagram of the new system (source: author) The use case diagram presents the high level diagram of the new system. Showing its users and the different action they can perform. From Fig. 2, one can identify that the new system has four (4) users (actors) who can perform six (6) different activities based on their roles. Fig. 2: The use-case diagram of the new system (source: author)
  • 4. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 10 Issue: 09 | Sep 2023 www.irjet.net p-ISSN: 2395-0072 © 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 241 The entire system is divided into two main modules with severalsub-modulesandcomponents.Thetwomainmodules are: (a) The Web Portals: Thishandlestheregistration,Login, Lost Password, Tutorial publishing, Task / Assignment publishing. The technology employed here is a Content Management System (CMS). The essence of using a CMSbuilt with HTML, CSS, JavaScript for frontend and PHP/MySQL for backend anddatabasemanagement.(b)TheCodeEditor:This handles the compilation of programming languages. The editor was built with React, a JavaScript framework and connected with API from RapidAPI. THE tech stack here includes, HTML, TailwindCSS, PostCSS, JavaScript and Firebase. The user interface of PolyLAB is presented in Fig. 3 Successful implementation of PolyLAB will remove the burden of both the technicalities and the cost of both setting up and maintaining differentdevelopmentenvironmentused by Computer Science student in Nigerian Polytechnics, as well as facilitateindependentstudiesfromindividualcomfort locations through the use of internet [11]. Fig. 3: The user interface of the new system (source: author) 5. CONCLUSIONS In this study, a customized multi-language development environment (MLDE), PolyLAB, is developed for students in Nigerian Polytechnics in order to eliminate the financial and technical burden faced by both students and the Departments in bothsettingupandmaintainingthedifferent programming languages studied by Computer Science Students in Nigeria Polytechnics. To enable a better understanding of the new system, artifacts like the use case diagram, dataflow diagram and systemsnapshotshave been included alongside with the design details. The online programing laboratory is equipped with both a content management system and a code editor to facilitate both publication and the on the fly coding and running of source codes. Further studies will concentrate on provision of web API, mobile version, and integration of code assessment, code version tracking and code plagiarism test. ACKNOWLEDGEMENT (Optional) The authors wish to acknowledge Tertiary Education Trust Fund (TETFUND) IBR for their grant toward the actualization and Success of this research. REFERENCES [1] Abdulla, S., Iyer, S. & Kutty, S. (2013). Cloud Based Compiler, International Journal of Students Research in Technology and Management, 1(3): 308-322. [2] Azumo (2023). Integrated Development Environment, accessed from https://azumo.com/insights/integrated- development-environment on March 11, 2013 [3] Folliot, B., Piumarta, I. & Riccardi, F. (1998). A Dynamically Configured Multi-Language Execution platform, In Proc. ACM SIGOPS European Workshop 1998: 175 -181. [4] Kurniawan, A, Kurniawan, A. Saesanto, C. & Wijaya (2015). CodeR: Real-time Code Editor Application For Collaboative Programming, International Conferenceon ComputerScienceandComputational Intelligence(ICCSI 2015), 59(2015), 510-519. [5] Madubuike, C. E., Onuora, A.C., Ezeorah, E. U. (2023). A Review of Virtual Programming Laboratory: Design Issues, International Research Journal of Engineering and Technology (IRJET), 10(2), 1-6. [6] Masuthara, H., Takahashi, S., Izawa, Y & Cong, Y. (2020). Toward a Multi-Language and Multi-Environment Framework for Live Programming, Proceedings of Live Programming Workshop 2020 (Live’20) on November, 2020. [7] NBTE (2019). National Board for Technical Education: Curriculum and Course Specifications, Kaduna, April 2019 [8] Neale, D. (2023). Why You Should Become a Polyglot Developer, accessed from https://cult.honeypot.io/reeds/become-a-polyglot- developer on March 11, 2023. [9] Pfeiffer, R. & Wasowski, A. (2015). The Design Space of Multi-language Development Environment, Softw. Syst. Model, 14: 383-411. [10] Terceiro, A., Costa, J., Miranda, J., Meirelles, P., Rios, L. R., Almeida, L., Chavez, C. & Kon, F. (2010). Analizo: An Extensible Multi-language, Source Code Analysis and Visualization Toolkit, In Proceedings of Brazilian Conf. Softw, Theory Practice, Tools Session, Jan. 2010: 107.
  • 5. International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 10 Issue: 09 | Sep 2023 www.irjet.net p-ISSN: 2395-0072 © 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 242 [11] Ezeano, A. N.; Idemudia, O. J.; Madubuike, C. E.; Omoregbee, E. U. and Onuora, A. C. (2017). Web Based Programming: A VeritableTool forsecurityandNational Development. International Journal of Computer Applications Technology and Research, Vol. 6, Issue 8, September, 2017, ISSN:2319-8556.