1. Computer science education in ChatGPT Era: experiences from an experiment in a programming course for novice programmersTomaž Kosar, Dragana Ostojić, Yu David Liu, Marjan Mernik, 2024, izvirni znanstveni članek Opis: The use of large language models with chatbots like ChatGPT has become increasingly popular among students, especially in Computer Science education. However, significant debates exist in the education community on the role of ChatGPT in learning. Therefore, it is critical to understand the potential impact of ChatGPT on the learning, engagement, and overall success of students in classrooms. In this empirical study, we report on a controlled experiment with 182 participants in a first-year undergraduate course on object-oriented programming. Our differential study divided students into two groups, one using ChatGPT and the other not using it for practical programming assignments. The study results showed that the students’ performance is not influenced by ChatGPT usage (no statistical significance between groups with a p-value of 0.730), nor are the grading results of practical assignments (p-value 0.760) and midterm exams (p-value 0.856). Our findings from the controlled experiment suggest that it is safe for novice programmers to use ChatGPT if specific measures and adjustments are adopted in the education process. Ključne besede: large language models, ChatGPT, artificial intelligence, controlled experiment, object-oriented programming, software engineering education Objavljeno v DKUM: 12.08.2024; Ogledov: 59; Prenosov: 3 Celotno besedilo (492,37 KB) |
2. Identifying key activities, artifacts and roles in agile engineering of secure software with hierarchical clusteringAnže Mihelič, Tomaž Hovelja, Simon Vrhovec, 2023, izvirni znanstveni članek Opis: Different activities, artifacts, and roles can be found in the literature on the agile engineering of secure software (AESS). The purpose of this paper is to consolidate them and thus identify key activities, artifacts, and roles that can be employed in AESS. To gain initial sets of activities, artifacts, and roles, the literature was first extensively reviewed. Activities, artifacts, and roles were then cross-evaluated with similarity matrices. Finally, similarity matrices were converted into distance matrices, enabling the use of Ward’s hierarchical clustering method for consolidating activities, artifacts, and roles into clusters. Clusters of activities, artifacts, and roles were then named as key activities, artifacts, and roles. We identified seven key activities (i.e., security auditing, security analysis and testing, security training, security prioritization and monitoring, risk management, security planning and threat modeling; and security requirements engineering), five key artifacts (i.e., security requirement artifacts, security repositories, security reports, security tags, and security policies), and four key roles (i.e., security guru, security developer, penetration tester, and security team) in AESS. The identified key activities, artifacts, and roles can be used by software development teams to improve their software engineering processes in terms of software security. Ključne besede: secure software development, security engineering, agile methods, agile development, software development, software engineering, software security, application security, cybersecurity, cyber resilience Objavljeno v DKUM: 29.11.2023; Ogledov: 417; Prenosov: 10 Celotno besedilo (557,17 KB) Gradivo ima več datotek! Več... |
3. Agile development of secure software for small and medium-sized enterprisesAnže Mihelič, Simon Vrhovec, Tomaž Hovelja, 2023, izvirni znanstveni članek Opis: Although agile methods gained popularity and became globally widespread, developing secure software with agile methods remains a challenge. Method elements (i.e., roles, activities, and artifacts) that aim to increase software security on one hand can reduce the characteristic agility of agile methods on the other. The overall aim of this paper is to provide small- and medium-sized enterprises (SMEs) with the means to improve the sustainability of their software development process in terms of software security despite their limitations, such as low capacity and/or financial resources. Although software engineering literature offers various security elements, there is one key research gap that hinders the ability to provide such means. It remains unclear not only how much individual security elements contribute to software security but also how they impact the agility and costs of software development. To address the gap, we identified security elements found in the literature and evaluated them for their impact on software security, agility, and costs in an international study among practitioners. Finally, we developed a novel lightweight approach for evaluating agile methods from a security perspective. The developed approach can help SMEs to adapt their software development to their needs. Ključne besede: secure software development, security engineering, agile, small and medium sized enterprises, software development management, security Objavljeno v DKUM: 29.11.2023; Ogledov: 494; Prenosov: 7 Celotno besedilo (2,58 MB) Gradivo ima več datotek! Več... |
4. Teaching Scrum in cooperation with a software development companyViljan Mahnič, Strahil Georgiev, Tomo Jarc, 2010, izvirni znanstveni članek Opis: The increasing use of agile methods for software development creates the need for these methods to become part of the education of future computer and information science engineers. On the other hand, teaching these methods gives us an opportunity to verify individual agile concepts and their effectiveness. For that reason, project work is an appropriate and frequently used form of teaching that enables students to get acquainted with agile methods and, at the same time, provides case studies for evaluating individual agile concepts. We describe our approach to teaching the Scrum agile method, within the software technology course, in cooperation with a software development company. Students were taught through work on a real project for which a list of requirements was submitted by the company. A co-worker of this company participated throughout the teaching period playing the role of customer's representative. During their work, students consistently used the Scrum method and at the end of each iteration they evaluated their experience by means of a questionnaire. In the article, the Scrum method is presented first, then a description of work on the project is given and finally the results of the survey are described. Ključne besede: agile methods, Scrum, software development, computer engineering education, university industry cooperation Objavljeno v DKUM: 22.01.2018; Ogledov: 1245; Prenosov: 391 Celotno besedilo (974,55 KB) Gradivo ima več datotek! Več... |
5. On automata and language based grammar metricsMatej Črepinšek, Tomaž Kosar, Marjan Mernik, Julien Cervelle, Rémi Forax, Gilles Roussel, 2010, izvirni znanstveni članek Opis: Grammar metrics have been introduced to measure the quality and the complexity of the formal grammars. The aim of this paper is to explore the meaning of these notions and to experiment, on several grammars of domain specific languages and of general-purpose languages, existing grammar metrics together with the new metrics that are based on grammar LR automaton and on the language recognized. We discuss the results of this experiment and focus on the comparison between grammars of domain specific languages as well as of general-purpose languages and on the evolution of the metrics between several versions of the same language. Ključne besede: grammar metrics, software language engineering, grammar engineering, grammarware Objavljeno v DKUM: 06.07.2017; Ogledov: 1543; Prenosov: 417 Celotno besedilo (282,41 KB) Gradivo ima več datotek! Več... |
6. METRICS-BASED RECOMMENDATION SYSTEM FOR SOFTWARE ENGINEERINGMarko Gašparič, 2013, magistrsko delo Opis: This thesis presents the state-of-the-art of recommendation systems for software engineering. The systematic literature review and the survey of authors of analyzed publications showed that the most successful characteristics of the systems are a modular architecture, that is not distributed, and a reactive behavior. Existing RSSEs are mostly standalone solutions or Eclipse plugins.
When developers study their own activities they improve their estimating and planning skills and reduce the number of defects in their work. We developed a prototype that is an Eclipse plugin and visualizes an overall team effort spent per source code artifact, source code metrics, and recommendations for source code improvements.
To evaluate the prototype we conducted nine interviews. Interviews showed that users find the functionalities of our system useful and would also like to get more information, particularly about an effort per developer. Additionally, interviews revealed that developers are willing to execute a non-repetitive task to use the system, while they are not willing to leave the development environment to obtain the same information and recommendations. Ključne besede: recommendation system, software engineering, metrics Objavljeno v DKUM: 05.09.2013; Ogledov: 2102; Prenosov: 180 Celotno besedilo (3,54 MB) |
7. An efficient approximation of arbitrary curves and surfaces using intersecting polylines and meshesYong Kui Liu, Jian Yun, Xiao Niu Li, Borut Žalik, 2008, izvirni znanstveni članek Opis: This paper presents an efficient method for approximating curves and surfaces. An idea is introduced using a circle, where an arc-intersecting polyline is used instead of the traditional inner-arc polyline. The approach is then generalized to arbitrary 2D curves. The method is extended into 3D, where the approximation of spherical surface is developed based on surface-intersecting facets. Finally, a method is described for approximating the general curved surface. Theoretical analysis and the experimental results showed that the new algorithm requires considerably less geometric data at the same approximation error than the traditional one. Ključne besede: curve, surface, approximation, engineering software Objavljeno v DKUM: 01.06.2012; Ogledov: 1643; Prenosov: 92 Povezava na celotno besedilo |