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.
Veteran software manager Ron Lichty joins Nate Black to share his insights on managing software engineers. Nate and Ron delve into what about this is hard, how to grow as a manager, and what makes highly performing teams.
The significant number of fails and dropouts in computing undergraduate courses, especially in mathematics and programming, remains a challenge. Although the motivation can be directly related to the success of the student, it has only been addressed by a few studies. The purpose in this paper is to assess the impact of factors prior to university on the performance and motivation of undergraduate...
In this paper, we propose the Computational Thinking concept, which is obtained by enhancing by merging the values of Computational Thinking and Agile. We analyze four existing teaching models for training Cooperative Thinkers, supported by experimental data, and propose an educational path that can promote the early development of this complex skill.
We describe the construction and assessment of a plan to foster student success in Computer Science (CS) in response to continued enrollment growth. We examined cross correlations of grades from student transcripts from the past four years to determine what patterns of grades in early classes were indicative of future success. The resulting statistics and visualizations showed that students generally...
A number of research efforts have focused in the area of programming style. However, to the best of our knowledge, there is little sound and solid evidence of how and to what extent can stylistic inconsistency impact the readability and maintainability of the source code. To bridge the research gap, we design an empirical experiment in which eye tracking technology is introduced to quantitatively...
This study explores the learning outcomes of utilizing a hands-on cross-platform mobile programming approach for introducing two important software engineering topics, namely, object-oriented programming (OOP) concepts and design patterns. This approach presents an innovative teaching methodology that aims to help addressing unique needs and expectations of Millennials and their prospective employers...
This paper presents the experience of designing, implementing and evaluating a first semester project-based course for the software engineering bachelors undergraduate curriculum at PUC-MG in Brazil in 2016. We present an overview of the motivation behind the curriculum and the challenges and restrictions considering the generation of students who are going to follow it. The methodology of the course,...
In the last few years, many books, online puzzles, apps and games have been created to teach young children programming. However, most of these do not introduce children to broader concepts from software engineering, such as debugging and code quality issues like smells, duplication, refactoring and naming. To address this, we designed and ran an online introductory Scratch programming course in which...
Building a programme of education that reflects and keeps pace with industrial practice is difficult. We often hear of a skills shortage in the software industry, and the gap between what people are taught in university and the "real world". This paper is a case study showing how we have developed a programme at Imperial College London that bridges this gap, providing students with relevant...
Code smells are program structures that often indicate software design problems. Their efficient identification is required in order to ensure software longevity. However, the identification of code smells often cannot be performed in isolation by a single developer. This task might require the knowledge of various program parts, which are better understood by different developers. However, there...
Context: Empirical investigations regarding using Agile programming methodologies in high schools are scarce in the literature. Objective: This paper evaluates (i) the performance, (ii) the code quality, and (iii) the satisfaction of both students and teachers in using Agile practices in education. Method: this study includes an experiment, administered in a laboratory controlled setting to measure...
Quality of software intensive systems is the priority con- cern and focus in industry and the research community. In practice, the increasing demand for experienced software developers in industry requires developers mature themselves in a timely manner to be able to produce high quality pro- grams. It has become a realistic challenge to both software engineering educators and researchers. To address...
In recent years, online programming and software engineering education via information technology has gained a lot of popularity. Typically, popular courses often have hundreds or thousands of students but only a few course staff members. Tool automation is needed to maintain the quality of education. In this paper, we envision that the capability of quantifying behavioral similarity between programs...
We describe a collaborative software engineering course between sighted college students and high school students with visual impairments. We designed the course as a mentorship experience, in which one college student mentor is connected to one high school student mentee. Each pair of students is responsible for a programming project. The students must learn to communicate programming concepts and...
Mobile programming is one of the fastest growing approaches in many fields, such as marketing or e-commerce. From the educational perspective, this means that students should understand that they can build mobile applications (apps) without being professionals, and at the same time recognize their own potential to use technology in any professional path they choose. This goal is not trivial, even...
Computer programming skills are a critical necessity for today's students, but maintaining student interest in programming and engineering courses is challenging unless the theory is accompanied by engaging, hands-on applications. Additionally, many schools, especially those in underprivileged areas, lack the resources and personnel to develop or implement such applications. The Southwestern Indian...
Nowadays, remote collaborative learning tools for computer science education mostly emphasize providing learning resources and realizing virtual collaborative learning environment for students. Many people in this field tend to have their mind fixed on the process improvement of such a collaboration as a whole, while few notice that individuals may have different roles and impacts on this type of...
This paper proposes a study focused on Automatic Adaptive Support materials for students in the tuition of programming courses. The support materials, based on real-time build and runtime statistics, include suggestions for successful solutions to similar errors and tasks. A methodology and an extension for a selected Integrated Development Environment is proposed and experiments will be run with...
Using spreadsheet software, users may do some forms of programming using formula and function. However, formula definition is often considered correct after tested with only one or few inputs. This may be fine with simple formula, but for more complex ones, more testings should be performed, in order to prevent solution that riddled with errors. However, writing a formula test case in spreadsheet...
In this paper we present accumulated results from two years of experience with a teaching unit on debugging Java programs. With this special teaching unit, we strive to foster the debugging skills of our students. Students were asked to find different defects in given code, to analyze these and finally to fix them. As well, students were requested to document their approach in writing. The achieved...
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.