scholarly journals Evaluating Python, C++, JavaScript and Java Programming Languages Based on Software Complexity Calculator (Halstead Metrics)

2021 ◽  
Vol 1076 (1) ◽  
pp. 012046
Author(s):  
Sabah A. Abdulkareem ◽  
Ali J. Abboud
Author(s):  
Bello Muriana ◽  
Ogba Paul Onuh

Measures of software complexity are essential part of software engineering. Complexity metrics can be used to forecast key information regarding the testability, reliability, and manageability of software systems from study of the source code. This paper presents the results of three distinct software complexity metrics that were applied to two searching algorithms (Linear and Binary search algorithm). The goal is to compare the complexity of linear and binary search algorithms implemented in (Python, Java, and C++ languages) and measure the sample algorithms using line of code, McCabe and Halstead metrics. The findings indicate that the program difficulty of Halstead metrics has minimal value for both linear and binary search when implemented in python. Analysis of Variance (ANOVA) was adopted to determine whether there is any statistically significant differences between the search algorithms when implemented in the three programming languages and it was revealed that the three (3) programming languages do not vary considerably for both linear and binary search techniques which implies that any of the (3) programming languages is suitable for coding linear and binary search algorithms.


Author(s):  
Nikolina Stanić Loknar ◽  
◽  
Diana Bratić ◽  
Ana Agić ◽  
◽  
...  

Kinetic typography - text in motion is an animation method of characters that has a video form instead of some "static" form such as picture, poster or book. The most important element for figuration of kinetic typography is the choice of font. Furthermore, one should think about the letter cut, the size and color of the characters, and the background color on which the animation takes place. It can be created in various ways, most often using software that applies a multitude of effects to the text or letter character, creating dynamic solutions. The effects vary from the simplest such as "fade-in" and "fade-out" (entering and exiting text in and out of the frame). Static characters can expand, narrow, move slowly or rapidly, grow and change in a variety of ways to very complex ones in which the author builds an entire story or promotional video by carefully combining software capabilities. However, each software has its limitations and for this reason the kinetic typography presented in this paper is programmed using codes. In a wide range of available programming languages due to the simple interface that does not require advanced programming concepts and gives exceptional results in the field of kinetic typography, Processing was chosen. The Processing programming language is intended for generating and modifying graphics and is based on the Java programming language. The most important difference between Processing and Java is that Processing offers a simple programming interface that does not require advanced levels of programming such as classes, objects, or animations. It also allows advanced users to use them. Processing uses a variety of typography rendering approaches such as raster and vector solutions and allows typography to be programmed and displayed on the Web independently of the user's Web browser and font database. Processing enables the use of visual elements in animation, including typographic ones, by introducing interaction to the user. The user is no longer a passive observer but actively participates in the performance of the application whose final appearance is not predefined but arises from the actions of each individual user. For the purposes of this paper, individual letters were created in a font-making program. The letters made are of various written classifications and cuts, which with their variety contribute to the attractiveness of the animation. In the creating of motion typography in this paper, the programming language Processing was used. Written program codes that manipulate words, letters, or parts of characters to create interesting visual effects for the viewer that aim to hold the viewer's attention and convey the desired message or emotion. There are no strict rules and patterns when making kinetic typography. In kinetic typography, each author determines his own rules, method of production, and there are no same solutions.


2017 ◽  
Vol 25 (03) ◽  
pp. 95 ◽  
Author(s):  
Eliana Pantaleão ◽  
Laurence Rodrigues Amaral ◽  
Gláucia Braga e Silva

This paper describes a methodology for teaching algorithms and programming languages teaching in high school with the aid of the Robocode plattform. The experience was developed since 2012 with the help of undergraduate students that had already concluded courses on computer programming and acted as tutors and co-advisors of the younger students. Robocode environment was used as a support tool, using a playful learning strategy, providing an early contact of the high-school students with Java programming language. The obtained results show the interest of high school students to learn computer programming. Furthermore, the Robocode plataform proved to be a playful tool to support the teaching of Java. Finally, with the realization of the Robocode Tournaments, it was possible to observe how the competitiveness influenced the motivation of students to learn and overcome challenges.


Author(s):  
Stelios Sotiriadis ◽  
Oladotun Omosebi ◽  
Assem Ayapbergenova ◽  
Nurbek P. Saparkhojayev

This article describes how the java native interface (JNI) is a powerful feature of the java platform that started to draw attention in the latter years as an efficient programming framework for building and delivering innovative technological applications based on disruptive technologies such as mobile, Internet of Things and embedded systems. Developers use it to incorporate native code written in programming languages such as C, C++, python etc., into java. JNI is particularly useful when java applications need to access existing native libraries or code blocks written in other languages to increase performance, avoid recoding and expand interoperability between programming languages for processes that reside in the same process. This article aims to explore JNI features and to discover fundamental operations of the Java programming language, such as arrays, objects, classes, threads and exception handling, and to illustrate these by using various algorithms and code samples.


Author(s):  
Mamluatul Hani'ah ◽  
◽  
Yogi Kurniawan ◽  
Imam Fahrur Rozi ◽  
◽  
...  

Java programming language is one of the most popular programming languages among IT developers. There are common problems in the beginning learning process such as the installation and configuration process of java software like JDK (Java Development Kit). During the online class session, it takes a lot of time and a large internet data packet to solve this problem. This research proposes a website-based system called livE (online - java Exercise). Students can practice coding and also do exams in real-time, simply by using a web browser and the internet. If lecturers want to make corrections, lecturers do not need to download student answer files. They can directly run the program code from student answers in the livE system. This indicates that the system implementation provides process efficiency in the student's job sheet exercises and lecturer's corrections. The result from the test that has been carried out shows that livE is running as expected. Usability testing shows that users are "totally agree" with system quality.


2021 ◽  
Vol 9 (2) ◽  
pp. 42-49
Author(s):  
Andreo - Yudertha

1048 / 5000   Translation results The introduction of programming languages ​​to students is very rare. As a solution for the introduction of programming languages ​​for students is to hold training and workshops for students. The training module was developed by applying the ARCS (Attention, Relevance, Confidence and Satisfaction) model with the aim of increasing students' motivation to learn programming languages ​​further. The resulting module was applied to the training carried out for students of SMA Negeri 10 Jambi City. There were 30 participants, consisting of grade 10 and grade 11 students. Participants were mentored by 4 instructors who were also observers. The ARCS model can be used as a reference in developing Java programming training modules with the aim of motivating and enthusiastic students. The module has been used in basic java programming training at SMA 10 Jambi City, with observations (scale 100), for an average student attention of 91.25, participation 94, persistence 93.25, task completion 83.25, and activeness 93.5.


2011 ◽  
Vol 7 ◽  
pp. 93-106
Author(s):  
Robert Szczepanek

Hydrologists need simple, yet powerful, open source framework for developing and testing mathematical models. Such framework should ensure long-term interoperability and high scalability. This can be done by implementation of the existing, already tested standards. At the moment two interesting options exist: Open Modelling Interface (OpenMI) and Object Modeling System (OMS). OpenMI was developed within the Fifth European Framework Programme for integrated watershed management, described in the Water Framework Directive. OpenMI interfaces are available for the C# and Java programming languages. OpenMI Association is now in the process of agreement with Open Geospatial Consortium (OGC), so the spatial standards existing in OpenMI 2.0 should be better implemented in the future. The OMS project is pure Java, object-oriented modeling framework coordinated by the U.S. Department of Agriculture. Big advantage of OMS compared to OpenMI is its simplicity of implementation. On the other hand, OpenMI seems to be more powerful and better suited for hydrological models. Finally, OpenMI model was selected as the base interface for the proposed open source hydrological framework.  The existing hydrological libraries and models focus usually on just one GIS package (HydroFOSS – GRASS) or one operating system (HydroDesktop – Microsoft Windows). The new hydrological framework should break those limitations. To make hydrological models’ implementation as easy as possible, the framework should be based on a simple, high-level computer language. Low and mid-level languages, like Java (SEXTANTE) or C (GRASS, SAGA) were excluded, as too complicated for regular hydrologist. From popular, high-level languages, Python seems to be a good choice. Leading GIS desktop applications – GRASS and QGIS – use Python as second native language, providing well documented API. This way, a Python-based hydrological library could be easily integrated with any GIS package supporting this programming language. As the OpenMI 2.0 standard supported interfaces only for Java and C#, the Python interface for OpenMI standard, presented in this paper, is the first step done towards the open and interoperable hydrological framework. GIS-related issues of the OpenMI 2.0 standard are also outlined and discussed.


2017 ◽  
Vol 107 (05) ◽  
pp. 329-333
Author(s):  
O. Gerlach ◽  
A. Csiszar ◽  
A. Lechler ◽  
A. Prof. Verl

Zunehmende Software-Komplexität und parallele Ausführung von Funktionen sind langfristige Trends in der Software-Entwicklung, auch im Bereich numerischer Steuerungen. Dieser Fachbeitrag analysiert, wie funktionale Programmiersprachen dabei helfen können, diese Trends erfolgreich zu handhaben und welche Herausforderungen sich dabei im Speziellen bei numerischen Steuerungen stellen. Es werden Ansätze aufgezeigt, um diesen Herausforderungen zu begegnen.   Increasing software complexity and parallelization of functionality are long-term trends in software development. This also affects the software for numerical controls. This paper analyzes how functional programming languages can help to successfully handle these trends. Challenges that hinder the application of the languages for numerical controls are identified and approaches to meet these challenges are described.


Author(s):  
Htoo Htoo Sandi Kyaw ◽  
◽  
Nobuo Funabiki ◽  
Shune Lae Aung ◽  
Nem Khan Dim ◽  
...  

Nowadays, C programming is essential for university students to study various programming languages, algorithms, and computer architecture. Previously, we have developed Java programming learning assistant system (JPLAS) for studying Java programming. JPLAS provides several types of exercise problems to cover different study stages, including the element fill-in-blank problem (EFP). An EFP instance asks students to fill in the blank elements in the given source code. The correctness of the answer is marked through string matching. In this paper, we study the EFP for C programming learning assistant system (CPLAS), by extending our works for JPLAS. To automatically generate a feasible EFP instance, the graph-based blank element selection algorithm is newly designed and implemented for C programming. For evaluations, we generate 19 EFP instances using C source codes for basic grammar concepts, and fundamental data structures and algorithms, and assign them to 42 students in a Myanmar university. The solving results confirm the effectiveness of EFP in detecting the students who may have difficulty in studying C programming and the hard topics for them.


Sign in / Sign up

Export Citation Format

Share Document