The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Context: Conducting a Grounded Theory study is rigorous, demanding, and challenging. Misperceptions exist within the software engineering community. Objective: The purpose of this paper is to describe one extended participant observation Grounded Theory study for aiding new empirical researchers wanting to run similar research studies. Method: Following Constructivist Grounded Theory, we conducted...
Questions and Answers (Q&A) websites maintain a long history of needs, problems, and challenges that software developers face. In contrast to Q&A websites, which are strongly tied to practitioners' needs, there are systematic reviews (SRs), which, according to recent studies, lack a connection with software engineering practice. In this paper, we investigate this claim by assessing to what...
The chance to influence the lives of a million children does not come often. Through a partnership between the BBC and several technology companies, a small instructional computing device called the BBC micro:bit will be given to a million children in the UK in 2016. Moreover, using the micro:bit will be part of the CS curriculum. We describe how Microsoft's Touch Develop programming platform works...
Due to their complexity, currently available bounded model checking techniques based on Boolean Satisfiability and Satisfiability Modulo Theories inadequately handle non-linear floating-point and integer arithmetic. Using a numerical approach, we reduce a bounded model checking problem to a constraint satisfaction problem. Currently available techniques attempt to solve the constraint problem but...
We describe the design and a trial run of an integrated course of instruction in reading, writing, and computer programming, in order to assess potential synergies of learning them together. Twelve pre-teen students diagnosed with dyslexia each took a sequence of lessons of approximately 90 minutes each over a 3-month period. In addition to computer learning activities in handwriting, word reading,...
We present TACCLE3 — Coding European Project (Ref. 2015-1-BE02-KA201-012307) in the XVIII International Symposium on Computers and Education — SIIE 2016, held within the V Congreso Nacional de Informática — CEDI 2016 in the University of Salamanca, Spain, September 14th–16th, 2016. One of the sessions was devoted to Computational Thinking topic and TACCLE3 was selected to open this session. Taccle3...
Historically, software security has approached the development of cryptographic software merely as a feature to be added. This stance did not have a positive influence on the design of advanced security functionalities into modern software. Thus, this work proposes a methodology for development of secure cryptographic software, providing a structured way to approach cryptography into secure development...
Recently, Java has been educated in many universities and professional schools due to reliability, portability, and scalability. However, because of its limited time in Java programming courses, coding rules are rarely educated. As a result, codes made by students become far from readable codes. In this paper, we propose a coding rule learning function using static code analyzers in Java Programming...
Gamification and in particular game-based learning is significantly gaining ground during the latest decades. It expresses a different approach to education that is mixing education with gaming, aiming to enhance the learning experience with game mechanics and rules and to provide stronger motivations for lifelong learning. Many works have illustrated the benefits of learning while playing. This work...
In this paper, we investigate if a computer-supported collaborative brainstorming environment for programming design can promote students' creativity. We developed a web-based learning environment to foster the competence of innovation, one of the essential competencies required for today's software development. The proposed system includes the modules of creative thinking skills and instructional...
This paper describes an implementation of a Secure Coding learning package for Undergraduate students in the Kulliyyah of Information and Communication Technology (KICT) at the International Islamic University Malaysia. The learning package consists of three components which are SCALT, WebGoat and notes on several vulnerabilities in programming languages. This work aims to create awareness among the...
We often see block-based coding environments as toy environments that let novice programmers have fun as they learn the basics of programming. While these environments do have an engaging low floor, they are missing out on other aspects of introductory programming that could further engage students and better replicate the real work of software developers. In this paper, I describe real world non-coding...
This paper focuses on the local variable names and comments that are major artifacts reflecting the programmer's preference. It conducts an empirical analysis on the usefulness of those artifacts in assessing the software quality from the perspective of change-proneness in Java methods developed in six popular open source software products. The empirical results show: (1) a method having a longer...
This paper introduces an optimization template library (OTL), a cross-platform C++ template library for multiobjective optimization. OTL has an object-oriented architecture, which allows that different modules can be arbitrarily combined with each other. Moreover, the C++ template technique is used to increase the flexibility of OTL. Meanwhile, generic programming is widely used in OTL, and the generic...
Interdependent functionalities such as access authorizing, routing, traffic observing, and load adjusting are offered by today's networks. Inconveniently, the existing languages for programming software defined networks do not provide parallelism to simulate the natural interdependence between common network functionalities. These languages are also not successful in providing a rudimentary solution...
Agile methodologists have claimed that a key value proposition for the adoption of agile methods is that the methods' practices, processes, and philosophy make people more motivated and satisfied with their jobs. However, while several studies have found evidence for this impact, there has not been extensive theoretical support to explain why. In this study, we use the lens of Hack man & Oldham's...
Code smells are a well-known metaphor to describe symptoms of code decay or other issues with code quality which can lead to a variety of maintenance problems. Even though code smell detection and removal has been well-researched over the last decade, it remains open to debate whether or not code smells should be considered meaningful conceptualizations of code quality issues from the developer's...
Complex software is becoming an important component of modern safety-critical systems. To assure the correct function of such software, the development processes are heavily regulated by international standards, often making the process very rigid, unable to accommodate changes, causing late integration and increasing the cost of development. Agile methods have been introduced to address these issues...
This paper presents the definition of a process for performing rework, and a tool that executes the process in order to support humans seeking help in being sure that they are carrying out rework completely and correctly. The process definition treats rework as the reinstantiation of previously-performed activities in new contexts, which requires the careful specification and management of the values...
When we learn how to program, we often do that by trial and error. We struggle with the syntax and with our own understanding of how the idea of the program should look like in the specific programming language. Today there is a huge amount of tools available, which automatically check your code and recommend alterations to the code for the sake of maintainability or correctness. The question, that...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.