Search results for: programming languages
Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 1636

Search results for: programming languages

1636 Attitudes toward Programming Languages Based on Characteristics

Authors: Mohammad Shokoohi-Yekta, Hamid Mirebrahim

Abstract:

A body of research has been devoted to investigating the preferences of computer programmers. These researches used various questionnaires to find out what programming language is most popular among programmers. The problem with such research is that the programmers are usually familiar with only a few languages; therefore, disregarding a number of other languages which might have characteristics that match their preferences more closely. To overcome such a problem, we decided to investigate the preferences of programmers in regards to the characteristics of languages, which help us to discover the languages that include the most characteristics preferred by the users. We conducted a user study to measure the preferences of programmers on different characteristics of programming languages and then tried to compare existing languages in the areas of application, Web and system programming. Overall, the results of our study indicated that the Ruby programming language has the highest preference score in the two areas of application and Web, and C++ has the highest score in the system area. The results of our study can also help programming language designers know the characteristics they should consider when developing new programming languages in order to attract more programmers.

Keywords: object orientation, programming language design, programmers' preferences, characteristic

Procedia PDF Downloads 450
1635 Implementation of a Serializer to Represent PHP Objects in the Extensible Markup Language

Authors: Lidia N. Hernández-Piña, Carlos R. Jaimez-González

Abstract:

Interoperability in distributed systems is an important feature that refers to the communication of two applications written in different programming languages. This paper presents a serializer and a de-serializer of PHP objects to and from XML, which is an independent library written in the PHP programming language. The XML generated by this serializer is independent of the programming language, and can be used by other existing Web Objects in XML (WOX) serializers and de-serializers, which allow interoperability with other object-oriented programming languages.

Keywords: interoperability, PHP object serialization, PHP to XML, web objects in XML, WOX

Procedia PDF Downloads 200
1634 Creation of an Integrated Development Environment to Assist and Optimize the Learning the Languages C and C++

Authors: Francimar Alves, Marcos Castro, Marllus Lustosa

Abstract:

In the context of the teaching of computer programming, the choice of tool to use is very important in the initiation and continuity of learning a programming language. The literature tools do not always provide usability and pedagogical dynamism clearly and accurately for effective learning. This hypothesis implies fall in productivity and difficulty of learning a particular programming language by students. The integrated development environments (IDEs) Dev-C ++ and Code :: Blocks are widely used in introductory courses for undergraduate courses in Computer Science for learning C and C ++ languages. However, after several years of discontinuity maintaining the source code of Dev-C ++ tool, the continued use of the same in the teaching and learning process of the students of these institutions has led to difficulties, mainly due to the lack of update by the official developers, which resulted in a sequence of problems in using it on educational settings. Much of the users, dissatisfied with the IDE Dev-C ++, migrated to Code :: Blocks platform targeting the more dynamic range in the learning process of the C and C ++ languages. Nevertheless, there is still the need to create a tool that can provide the resources of most IDE's software development literature, however, more interactive, simple, accurate and efficient. This motivation led to the creation of Falcon C ++ tool, IDE that brings with features that turn it into an educational platform, which focuses primarily on increasing student learning index in the early disciplines of programming and algorithms that use the languages ​​C and C ++ . As a working methodology, a field research to prove the truth of the proposed tool was used. The test results and interviews with entry-level students and intermediate in a postsecondary institution gave basis for the composition of this work, demonstrating a positive impact on the use of the tool in teaching programming, showing that the use of Falcon C ++ software is beneficial in the teaching process of the C and C ++ programming languages.

Keywords: ide, education, learning, development, language

Procedia PDF Downloads 411
1633 The Interplay of Factors Affecting Learning of Introductory Programming: A Comparative Study of an Australian and an Indian University

Authors: Ritu Sharma, Haifeng Shen

Abstract:

Teaching introductory programming is a challenging task in tertiary education and various factors are believed to have influence on students’ learning of programming. However, these factors were largely studied independently in a chosen context. This paper aims to investigate whether interrelationships exist among the factors and whether the interrelationships are context-dependent. In this empirical study, two universities were chosen from two continents, which represent different cultures, teaching methodologies, assessment criteria and languages used to teach programming in west and east worlds respectively. The results reveal that some interrelationships are common across the two different contexts, while others appear context-dependent.

Keywords: introductory programming, tertiary education, factors, interrelationships, context, empirical study

Procedia PDF Downloads 325
1632 Using ε Value in Describe Regular Languages by Using Finite Automata, Operation on Languages and the Changing Algorithm Implementation

Authors: Abdulmajid Mukhtar Afat

Abstract:

This paper aims at introducing nondeterministic finite automata with ε value which is used to perform some operations on languages. a program is created to implement the algorithm that converts nondeterministic finite automata with ε value (ε-NFA) to deterministic finite automata (DFA).The program is written in c++ programming language. The program inputs are FA 5-tuples from text file and then classifies it into either DFA/NFA or ε -NFA. For DFA, the program will get the string w and decide whether it is accepted or rejected. The tracking path for an accepted string is saved by the program. In case of NFA or ε-NFA automation, the program changes the automation to DFA to enable tracking and to decide if the string w exists in the regular language or not.

Keywords: DFA, NFA, ε-NFA, eclose, finite automata, operations on languages

Procedia PDF Downloads 454
1631 Multilingualism and the Question of National Language in Nigeria

Authors: Salome Labeh

Abstract:

Diverse Languages that exist in Nigeria, gave rise to the need to choose among these languages, which one or ones to be used as the National Language(s) in Nigeria. The Multilingual Nature of Nigeria has been examined, in relation to the provisional result of 1991 census conducted in Nigeria and the status of language policy in the country, which eventually led to the discovery of the fact that Hausa, Igbo, Yoruba languages have the highest speaker in terms of population, and are already made co-official languages in Nigeria, alongside with English language. Then, these languages should be considered as the National Languages, if eventually a language policy emerges in Nigeria.

Keywords: multilingual, languages, culture, Nigeria

Procedia PDF Downloads 329
1630 Refining Scheme Using Amphibious Epistemologies

Authors: David Blaine, George Raschbaum

Abstract:

The evaluation of DHCP has synthesized SCSI disks, and current trends suggest that the exploration of e-business that would allow for further study into robots will soon emerge. Given the current status of embedded algorithms, hackers worldwide obviously desire the exploration of replication, which embodies the confusing principles of programming languages. In our research we concentrate our efforts on arguing that erasure coding can be made "fuzzy", encrypted, and game-theoretic.

Keywords: SCHI disks, robot, algorithm, hacking, programming language

Procedia PDF Downloads 383
1629 A Common Automated Programming Platform for Knowledge Based Software Engineering

Authors: Ivan Stanev, Maria Koleva

Abstract:

A common platform for automated programming (CPAP) is defined in details. Two versions of CPAP are described: Cloud-based (including the set of components for classic programming, and the set of components for combined programming) and KBASE based (including the set of components for automated programming, and the set of components for ontology programming). Four KBASE products (module for automated programming of robots, intelligent product manual, intelligent document display, and intelligent form generator) are analyzed and CPAP contributions to automated programming are presented.

Keywords: automated programming, cloud computing, knowledge based software engineering, service oriented architecture

Procedia PDF Downloads 304
1628 An Investigation of Migrants' Attitudes towards Their Ethnic Languages: A Study of Angolan Migrants in Namibia

Authors: Julia Indongo - Haiduwa

Abstract:

The study looks at the attitudes of Angolan migrants in the informal sectors towards their ethnic languages. The assumption is most Angolan migrants speak Portuguese instead of their ethnic languages as they lack interest in their ethnic languages. The study was qualitative in nature, and 20 Angolan migrants who are operating in the informal sector where purposively selected for the semistructured interviews. The study revealed that many Angolan has negative attitudes towards their ethnic language because even prior to their migration to Namibia, they use Portuguese to communicate as opposed to their ethnic languages. The ethnic languages are associated with old people and the ethnic languages do not offer the migrants any economic benefits. The study recommends that there is a need for the revitalization of Angolan ethnic languages in Namibia in order to maintain the language and prevent them from dying.

Keywords: ethnic languages language attitude, language, choice, language maintenance, multilingualism

Procedia PDF Downloads 154
1627 A Survey of Grammar-Based Genetic Programming and Applications

Authors: Matthew T. Wilson

Abstract:

This paper covers a selection of research utilizing grammar-based genetic programming, and illustrates how context-free grammar can be used to constrain genetic programming. It focuses heavily on grammatical evolution, one of the most popular variants of grammar-based genetic programming, and the way its operators and terminals are specialized and modified from those in genetic programming. A variety of implementations of grammatical evolution for general use are covered, as well as research each focused on using grammatical evolution or grammar-based genetic programming on a single application, or to solve a specific problem, including some of the classically considered genetic programming problems, such as the Santa Fe Trail.

Keywords: context-free grammar, genetic algorithms, genetic programming, grammatical evolution

Procedia PDF Downloads 145
1626 Review of Currently Adopted Intelligent Programming Tutors

Authors: Rita Garcia

Abstract:

Intelligent Programming Tutors, IPTs, are supplemental educational devices that assist in teaching software development. These systems provide customized learning allowing the user to select the presentation pace, pedagogical strategy, and to recall previous and additional teaching materials reinforcing learning objectives. In addition, IPTs automatically records individual’s progress, providing feedback to the instructor and student. These tutoring systems have an advantage over Tutoring Systems because Intelligent Programming Tutors are not limited to one teaching strategy and can adjust when it detects the user struggling with a concept. The Intelligent Programming Tutor is a category of Intelligent Tutoring Systems, ITS. ITS are available for many fields in education, supporting different learning objectives and integrate into other learning tools, improving the student's learning experience. This study provides a comparison of the IPTs currently adopted by the educational community and will focus on the different teaching methodologies and programming languages. The study also includes the ability to integrate the IPT into other educational technologies, such as massive open online courses, MOOCs. The intention of this evaluation is to determine one system that would best serve in a larger ongoing research project and provide findings for other institutions looking to adopt an Intelligent Programming Tutor.

Keywords: computer education tools, integrated software development assistance, intelligent programming tutors, tutoring systems

Procedia PDF Downloads 280
1625 Cutting Plane Methods for Integer Programming: NAZ Cut and Its Variations

Authors: A. Bari

Abstract:

Integer programming is a branch of mathematical programming techniques in operations research in which some or all of the variables are required to be integer valued. Various cuts have been used to solve these problems. We have also developed cuts known as NAZ cut & A-T cut to solve the integer programming problems. These cuts are used to reduce the feasible region and then reaching the optimal solution in minimum number of steps.

Keywords: Integer Programming, NAZ cut, A-T cut, Cutting plane method

Procedia PDF Downloads 325
1624 Software Transactional Memory in a Dynamic Programming Language at Virtual Machine Level

Authors: Szu-Kai Hsu, Po-Ching Lin

Abstract:

As more and more multi-core processors emerge, traditional sequential programming paradigm no longer suffice. Yet only few modern dynamic programming languages can leverage such advantage. Ruby, for example, despite its wide adoption, only includes threads as a simple parallel primitive. The global virtual machine lock of official Ruby runtime makes it impossible to exploit full parallelism. Though various alternative Ruby implementations do eliminate the global virtual machine lock, they only provide developers dated locking mechanism for data synchronization. However, traditional locking mechanism error-prone by nature. Software Transactional Memory is one of the promising alternatives among others. This paper introduces a new virtual machine: GobiesVM to provide a native software transactional memory based solution for dynamic programming languages to exploit parallelism. We also proposed a simplified variation of Transactional Locking II algorithm. The empirical results of our experiments show that support of STM at virtual machine level enables developers to write straightforward code without compromising parallelism or sacrificing thread safety. Existing source code only requires minimal or even none modi cation, which allows developers to easily switch their legacy codebase to a parallel environment. The performance evaluations of GobiesVM also indicate the difference between sequential and parallel execution is significant.

Keywords: global interpreter lock, ruby, software transactional memory, virtual machine

Procedia PDF Downloads 241
1623 Examining Relationship between Programming Performance, Programming Self Efficacy and Math Success

Authors: Mustafa Ekici, Sacide Güzin Mazman

Abstract:

Programming is the one of ability in computer science fields which is generally perceived difficult by students and various individual differences have been implicated in that ability success. Although several factors that affect programming ability have been identified over the years, there is not still a full understanding of why some students learn to program easily and quickly while others find it complex and difficult. Programming self-efficacy and mathematic success are two of those essential individual differences which are handled as having important effect on the programming success. This study aimed to identify the relationship between programming performance, programming self efficacy and mathematics success. The study group is consisted of 96 undergraduates from Department of Econometrics of Uşak University. 38 (39,58%) of the participants are female while 58 (60,41%) of them are male. Study was conducted in the programming-I course during 2014-2015 fall term. Data collection tools are comprised of programming course final grades, programming self efficacy scale and a mathematics achievement test. Data was analyzed through correlation analysis. The result of study will be reported in the full text of the study.

Keywords: programming performance, self efficacy, mathematic success, computer science

Procedia PDF Downloads 464
1622 Attitudes towards Bilingualism: The Case of Cameroon

Authors: Patricia W. Ngassa

Abstract:

Language attitude is an area arousing the interest of linguists who are continuously discovering new methods of detecting attitudes. This paper problematizes Cameroonians’ alleged tendency of neglecting home languages and considering Bilingualism in borrowed languages as more important. 30 questionnaires were used to know attitudes of parents towards bilingualism and our home languages. Results revealed that our borrowed official languages are considered more important than home languages.

Keywords: bilingualism, mother tongue, Cameroon, official language

Procedia PDF Downloads 577
1621 Performance Comparison and Visualization of COMSOL Multiphysics, Matlab, and Fortran for Predicting the Reservoir Pressure on Oil Production in a Multiple Leases Reservoir with Boundary Element Method

Authors: N. Alias, W. Z. W. Muhammad, M. N. M. Ibrahim, M. Mohamed, H. F. S. Saipol, U. N. Z. Ariffin, N. A. Zakaria, M. S. Z. Suardi

Abstract:

This paper presents the performance comparison of some computation software for solving the boundary element method (BEM). BEM formulation is the numerical technique and high potential for solving the advance mathematical modeling to predict the production of oil well in arbitrarily shaped based on multiple leases reservoir. The limitation of data validation for ensuring that a program meets the accuracy of the mathematical modeling is considered as the research motivation of this paper. Thus, based on this limitation, there are three steps involved to validate the accuracy of the oil production simulation process. In the first step, identify the mathematical modeling based on partial differential equation (PDE) with Poisson-elliptic type to perform the BEM discretization. In the second step, implement the simulation of the 2D BEM discretization using COMSOL Multiphysic and MATLAB programming languages. In the last step, analyze the numerical performance indicators for both programming languages by using the validation of Fortran programming. The performance comparisons of numerical analysis are investigated in terms of percentage error, comparison graph and 2D visualization of pressure on oil production of multiple leases reservoir. According to the performance comparison, the structured programming in Fortran programming is the alternative software for implementing the accurate numerical simulation of BEM. As a conclusion, high-level language for numerical computation and numerical performance evaluation are satisfied to prove that Fortran is well suited for capturing the visualization of the production of oil well in arbitrarily shaped.

Keywords: performance comparison, 2D visualization, COMSOL multiphysic, MATLAB, Fortran, modelling and simulation, boundary element method, reservoir pressure

Procedia PDF Downloads 453
1620 Application of De Novo Programming Approach for Optimizing the Business Process

Authors: Z. Babic, I. Veza, A. Balic, M. Crnjac

Abstract:

The linear programming model is sometimes difficult to apply in real business situations due to its assumption of proportionality. This paper shows an example of how to use De Novo programming approach instead of linear programming. In the De Novo programming, resources are not fixed like in linear programming but resource quantities depend only on available budget. Budget is a new, important element of the De Novo approach. Two different production situations are presented: increasing costs and quantity discounts of raw materials. The focus of this paper is on advantages of the De Novo approach in the optimization of production plan for production company which produces souvenirs made from famous stone from the island of Brac, one of the greatest islands from Croatia.

Keywords: business process, De Novo programming, optimizing, production

Procedia PDF Downloads 178
1619 A Fuzzy Programming Approach for Solving Intuitionistic Fuzzy Linear Fractional Programming Problem

Authors: Sujeet Kumar Singh, Shiv Prasad Yadav

Abstract:

This paper develops an approach for solving intuitionistic fuzzy linear fractional programming (IFLFP) problem where the cost of the objective function, the resources, and the technological coefficients are triangular intuitionistic fuzzy numbers. Here, the IFLFP problem is transformed into an equivalent crisp multi-objective linear fractional programming (MOLFP) problem. By using fuzzy mathematical programming approach the transformed MOLFP problem is reduced into a single objective linear programming (LP) problem. The proposed procedure is illustrated through a numerical example.

Keywords: triangular intuitionistic fuzzy number, linear programming problem, multi objective linear programming problem, fuzzy mathematical programming, membership function

Procedia PDF Downloads 523
1618 The Analysis of Language Shift, Accommodation, Attrition and Effects On Minority Languages In Pakistan

Authors: Afsheen Kashifa, Muhammad Saad Khan

Abstract:

The present study examines the linguistic use of English as a permanent part of the regional languages of Pakistan. This research has delimited its investigation to the language used by the students of English language who speak different regional languages. It deals with the attitudes, causes, and effects of the language shift from regional and minority languages to English. It further gets insights from the feedback provided by the students as respondents that English is replacing the minority languages for being the language of prestige, convenience, and rich vocabulary. These concepts have been achieved through the use of questionnaires and semi-structured interviews. The findings of this research exhibit that the respondents speak English because of its vocabulary and easy way of communication; therefore, they enjoy a high place in society. This research also shows that the speakers of the regional languages are encouraged by their parents to speak English. Eventually, the words and expressions of English, the dominant language, have become a permanent part of the minority languages. Therefore, the minority languages are becoming endangered languages.

Keywords: language shift, language accommodation, language attrition, effects on minority languages

Procedia PDF Downloads 160
1617 Comparative Study of Urdu and Hindko Language

Authors: Tahseen Bibi

Abstract:

Language is a source of communicating the ideas, emotions and feelings to others. Languages are different from one another on the basis of symbols and articulation. Regional languages play a role of unification in any country. National language of any country gives strength to its masses as it evaporates the mutual indifferences. There are various regional languages in Pakistan like Sindhi, Pushto, Hindko and Balochi. Hindko language dates back to the ancient times and the Hindko speakers can also easily understand and speak Urdu language. Urdu language is an amalgam of various languages. These languages are interconnected. Thus we can draw an analogy between the two languages under discussion on the basis of the pronunciation. The research will show that there are so many words in both the languages which have the similar pronunciation. It will further tell that the roots of Urdu language lie in Hindko. The reason behind this resemblance is that Urdu has got extracted from Hindko and other languages. Hindko language has played a prominent role in the development of Urdu language. Thus the role of Hindko language in the emergence and development of Urdu cannot be denied. This article will use the qualitative and comparative study as methodology. The research will highlight that there is close resemblance in both the languages on the basis of pronunciation, signifying that Urdu language has been extracted from Hindkon language.

Keywords: Hindko, Urdu, regional languages, vocabulary

Procedia PDF Downloads 354
1616 Sensitivity Analysis in Fuzzy Linear Programming Problems

Authors: S. H. Nasseri, A. Ebrahimnejad

Abstract:

Fuzzy set theory has been applied to many fields, such as operations research, control theory, and management sciences. In this paper, we consider two classes of fuzzy linear programming (FLP) problems: Fuzzy number linear programming and linear programming with trapezoidal fuzzy variables problems. We state our recently established results and develop fuzzy primal simplex algorithms for solving these problems. Finally, we give illustrative examples.

Keywords: fuzzy linear programming, fuzzy numbers, duality, sensitivity analysis

Procedia PDF Downloads 518
1615 An International Curriculum Development for Languages and Technology

Authors: Miguel Nino

Abstract:

When considering the challenges of a changing and demanding globalizing world, it is important to reflect on how university students will be prepared for the realities of internationalization, marketization and intercultural conversation. The present study is an interdisciplinary program designed to respond to the needs of the global community. The proposal bridges the humanities and science through three different fields: Languages, graphic design and computer science, specifically, fundamentals of programming such as python, java script and software animation. Therefore, the goal of the four year program is twofold: First, enable students for intercultural communication between English and other languages such as Spanish, Mandarin, French or German. Second, students will acquire knowledge in practical software and relevant employable skills to collaborate in assisted computer projects that most probable will require essential programing background in interpreted or compiled languages. In order to become inclusive and constructivist, the cognitive linguistics approach is suggested for the three different fields, particularly for languages that rely on the traditional method of repetition. This methodology will help students develop their creativity and encourage them to become independent problem solving individuals, as languages enhance their common ground of interaction for culture and technology. Participants in this course of study will be evaluated in their second language acquisition at the Intermediate-High level. For graphic design and computer science students will apply their creative digital skills, as well as their critical thinking skills learned from the cognitive linguistics approach, to collaborate on a group project design to find solutions for media web design problems or marketing experimentation for a company or the community. It is understood that it will be necessary to apply programming knowledge and skills to deliver the final product. In conclusion, the program equips students with linguistics knowledge and skills to be competent in intercultural communication, where English, the lingua franca, remains the medium for marketing and product delivery. In addition to their employability, students can expand their knowledge and skills in digital humanities, computational linguistics, or increase their portfolio in advertising and marketing. These students will be the global human capital for the competitive globalizing community.

Keywords: curriculum, international, languages, technology

Procedia PDF Downloads 401
1614 English Loanwords in Nigerian Languages: Sociolinguistic Survey

Authors: Surajo Ladan

Abstract:

English has been in existence in Nigeria since colonial period. The advent of English in Nigeria has caused a lot of linguistic changes in Nigerian languages especially among the educated elites and to some extent, even the ordinary people were not spared from this phenomenon. This scenario has generated a linguistic situation which culminated into the creation of Nigerian Pidgin that are conglomeration of English and other Nigerian languages. English has infiltrated the Nigerian languages to a point that a typical Nigerian can hardly talk without code-switching or using one English word or the other. The existence of English loanwords in Nigerian languages has taken another dimension in this scientific and technological age. Most of scientific and technological inventions are products of English language which are virtually adopted into the languages with phonological, morphological, and sometimes semantic variations. This paper is of the view that there should be a re-think and agitation from Nigerians to protect their languages from the linguistic genocide of English which are invariably facing extinction.

Keywords: linguistic change, loanword, phenomenon, pidgin

Procedia PDF Downloads 791
1613 A User-Directed Approach to Optimization via Metaprogramming

Authors: Eashan Hatti

Abstract:

In software development, programmers often must make a choice between high-level programming and high-performance programs. High-level programming encourages the use of complex, pervasive abstractions. However, the use of these abstractions degrades performance-high performance demands that programs be low-level. In a compiler, the optimizer attempts to let the user have both. The optimizer takes high-level, abstract code as an input and produces low-level, performant code as an output. However, there is a problem with having the optimizer be a built-in part of the compiler. Domain-specific abstractions implemented as libraries are common in high-level languages. As a language’s library ecosystem grows, so does the number of abstractions that programmers will use. If these abstractions are to be performant, the optimizer must be extended with new optimizations to target them, or these abstractions must rely on existing general-purpose optimizations. The latter is often not as effective as needed. The former presents too significant of an effort for the compiler developers, as they are the only ones who can extend the language with new optimizations. Thus, the language becomes more high-level, yet the optimizer – and, in turn, program performance – falls behind. Programmers are again confronted with a choice between high-level programming and high-performance programs. To investigate a potential solution to this problem, we developed Peridot, a prototype programming language. Peridot’s main contribution is that it enables library developers to easily extend the language with new optimizations themselves. This allows the optimization workload to be taken off the compiler developers’ hands and given to a much larger set of people who can specialize in each problem domain. Because of this, optimizations can be much more effective while also being much more numerous. To enable this, Peridot supports metaprogramming designed for implementing program transformations. The language is split into two fragments or “levels”, one for metaprogramming, the other for high-level general-purpose programming. The metaprogramming level supports logic programming. Peridot’s key idea is that optimizations are simply implemented as metaprograms. The meta level supports several specific features which make it particularly suited to implementing optimizers. For instance, metaprograms can automatically deduce equalities between the programs they are optimizing via unification, deal with variable binding declaratively via higher-order abstract syntax, and avoid the phase-ordering problem via non-determinism. We have found that this design centered around logic programming makes optimizers concise and easy to write compared to their equivalents in functional or imperative languages. Overall, implementing Peridot has shown that its design is a viable solution to the problem of writing code which is both high-level and performant.

Keywords: optimization, metaprogramming, logic programming, abstraction

Procedia PDF Downloads 46
1612 The Primitive Code-Level Design Patterns for Distributed Programming

Authors: Bing Li

Abstract:

The primitive code-level design patterns (PDP) are the rudimentary programming elements to develop any distributed systems in the generic distributed programming environment, GreatFree. The PDP works with the primitive distributed application programming interfaces (PDA), the distributed modeling, and the distributed concurrency for scaling-up. They not only hide developers from underlying technical details but also support sufficient adaptability to a variety of distributed computing environments. Programming with them, the simplest distributed system, the lightweight messaging two-node client/server (TNCS) system, is constructed rapidly with straightforward and repeatable behaviors, copy-paste-replace (CPR). As any distributed systems are made up of the simplest ones, those PDAs, as well as the PDP, are generic for distributed programming.

Keywords: primitive APIs, primitive code-level design patterns, generic distributed programming, distributed systems, highly patterned development environment, messaging

Procedia PDF Downloads 141
1611 The Different Ways to Describe Regular Languages by Using Finite Automata and the Changing Algorithm Implementation

Authors: Abdulmajid Mukhtar Afat

Abstract:

This paper aims at introducing finite automata theory, the different ways to describe regular languages and create a program to implement the subset construction algorithms to convert nondeterministic finite automata (NFA) to deterministic finite automata (DFA). This program is written in c++ programming language. The program reads FA 5tuples from text file and then classifies it into either DFA or NFA. For DFA, the program will read the string w and decide whether it is acceptable or not. If accepted, the program will save the tracking path and point it out. On the other hand, when the automation is NFA, the program will change the Automation to DFA so that it is easy to track and it can decide whether the w exists in the regular language or not.

Keywords: finite automata, subset construction, DFA, NFA

Procedia PDF Downloads 399
1610 Mathematical Programming Models for Portfolio Optimization Problem: A Review

Authors: Mazura Mokhtar, Adibah Shuib, Daud Mohamad

Abstract:

Portfolio optimization problem has received a lot of attention from both researchers and practitioners over the last six decades. This paper provides an overview of the current state of research in portfolio optimization with the support of mathematical programming techniques. On top of that, this paper also surveys the solution algorithms for solving portfolio optimization models classifying them according to their nature in heuristic and exact methods. To serve these purposes, 40 related articles appearing in the international journal from 2003 to 2013 have been gathered and analyzed. Based on the literature review, it has been observed that stochastic programming and goal programming constitute the highest number of mathematical programming techniques employed to tackle the portfolio optimization problem. It is hoped that the paper can meet the needs of researchers and practitioners for easy references of portfolio optimization.

Keywords: portfolio optimization, mathematical programming, multi-objective programming, solution approaches

Procedia PDF Downloads 302
1609 Extending the AOP Joinpoint Model for Memory and Type Safety

Authors: Amjad Nusayr

Abstract:

Software security is a general term used to any type of software architecture or model in which security aspects are incorporated in this architecture. These aspects are not part of the main logic of the underlying program. Software security can be achieved using a combination of approaches, including but not limited to secure software designs, third part component validation, and secure coding practices. Memory safety is one feature in software security where we ensure that any object in memory has a valid pointer or a reference with a valid type. Aspect-Oriented Programming (AOP) is a paradigm that is concerned with capturing the cross-cutting concerns in code development. AOP is generally used for common cross-cutting concerns like logging and DB transaction managing. In this paper, we introduce the concepts that enable AOP to be used for the purpose of memory and type safety. We also present ideas for extending AOP in software security practices.

Keywords: aspect oriented programming, programming languages, software security, memory and type safety

Procedia PDF Downloads 92
1608 Understanding the Programming Techniques Using a Complex Case Study to Teach Advanced Object-Oriented Programming

Authors: M. Al-Jepoori, D. Bennett

Abstract:

Teaching Object-Oriented Programming (OOP) as part of a Computing-related university degree is a very difficult task; the road to ensuring that students are actually learning object oriented concepts is unclear, as students often find it difficult to understand the concept of objects and their behavior. This problem is especially obvious in advanced programming modules where Design Pattern and advanced programming features such as Multi-threading and animated GUI are introduced. Looking at the students’ performance at their final year on a university course, it was obvious that the level of students’ understanding of OOP varies to a high degree from one student to another. Students who aim at the production of Games do very well in the advanced programming module. However, the students’ assessment results of the last few years were relatively low; for example, in 2016-2017, the first quartile of marks were as low as 24.5 and the third quartile was 63.5. It is obvious that many students were not confident or competent enough in their programming skills. In this paper, the reasons behind poor performance in Advanced OOP modules are investigated, and a suggested practice for teaching OOP based on a complex case study is described and evaluated.

Keywords: complex programming case study, design pattern, learning advanced programming, object oriented programming

Procedia PDF Downloads 179
1607 Language Activation Theory: Unlocking Bilingual Language Processing

Authors: Leorisyl D. Siarot

Abstract:

It is conventional to see and hear Filipinos, in general, speak two or more languages. This phenomenon brings us to a closer look on how our minds process the input and produce an output with a specific chosen language. This study aimed to generate a theoretical model which explained the interaction of the first and the second languages in the human mind. After a careful analysis of the gathered data, a theoretical prototype called Language Activation Model was generated. For every string, there are three specialized banks: lexico-semantics, morphono-syntax, and pragmatics. These banks are interrelated to other banks of other language strings. As the bilingual learns more languages, a new string is replicated and is filled up with the information of the new language learned. The principles of the first and second languages' interaction are drawn; these are expressed in laws, namely: law of dominance, law of availability, law of usuality and law of preference. Furthermore, difficulties encountered in the learning of second languages were also determined.

Keywords: bilingualism, psycholinguistics, second language learning, languages

Procedia PDF Downloads 472