Software Engineering and Knowledge Engineering, 2013
Aspect Mining and Refactoring to Aspects aim to identify crosscutting concerns and encapsulate th... more Aspect Mining and Refactoring to Aspects aim to identify crosscutting concerns and encapsulate them in aspects, respectively. Aspect Mining remains as non-automatic process, i.e., the user needs to analyze and understand the results generated by techniques/tools, and confirm crosscutting concerns to refactor them to aspects. In this paper we propose a visual approach that deals with results generated by two aspect mining techniques proposed in the literature. By coordinating visual mappings, different levels of detail to explore software artifacts support aspect mining facilitating their interpretation for further refactoring to aspects. The proposed visual approach was implemented (SoftV iz4AspectMining tool) and in this paper are presented the obtained visualizations, how to interpret them and lessons learned.
Advances in intelligent systems and computing, Jul 18, 2017
Databases and Distributed Systems have a fundamental relevance in Computer Science; they are usua... more Databases and Distributed Systems have a fundamental relevance in Computer Science; they are usually presented in courses where the high-level of abstraction characterizes the teaching and learning processes. Consequently, the teaching method needs to evolve to fulfill the present requirements. Therefore, grounded in these concepts, the main goal of this paper is to introduce a teaching methodology via benchmark tests. Our methodology was conducted using the Hadoop framework, and it is innovative and proved effective. Our methods allow students to be exposed to complex data, system architecture, network infrastructure, trending technologies and algorithms. During the courses, students analyzed the performance of some computational architectures through benchmark tests on local and on the cloud. Along with this scenario, they evaluate the processing time of each architecture. As a result, our methodology proved to be a support learning method, which allows students to have contact with trending tools.
Universidade Estadual Paulista (UNESP), Faculdade de Ciencias e Tecnologia (FCT), Departamento de... more Universidade Estadual Paulista (UNESP), Faculdade de Ciencias e Tecnologia (FCT), Departamento de Matematica e Computacao, Presidente Prudente, SP, Brasil
This Research Full Paper presents an analysis of the challenges and advantages on applying MOOCs ... more This Research Full Paper presents an analysis of the challenges and advantages on applying MOOCs in software engineering teaching and training contexts. Software engineering is a constantly evolving discipline in which educators are involved with a constant flow of new tools, resources and techniques in software development. This scenario makes the act of teaching and contributing to the students’ academic education more complex. The insertion of educational technologies brings contributions in this context, causing a transformation in the current scenario of teaching. An example of these new technologies are the MOOCs (Massive Open Online Courses) – open and online courses that are available in providers in partnership with reputable universities. Considering this scenario, this paper aims at identifying the challenges and trends of MOOCs application in software engineering domain, by means of a systematic mapping of the literature (SML). During the SML it was performed an analysis of 5100 papers and selection of 96 primary studies. The outcomes indicate that there is a potential in using MOOCs on teaching or training, as they are an alternative to offer courses applying traditional methods of learning. In addition, the challenges of this direction are analyzed and discussed.
The process of data collection involves the organization of a group of questions, where its answe... more The process of data collection involves the organization of a group of questions, where its answers will be analyzed to obtain results. This process is faced with difficulty of standardization and obtaining accurate results, where usually the collect, storage and computation of results are manually realized. Several factors may cause unwanted results, like poorly completed forms, difficulty of interpretation of what was informed and disinterest of who fills it. Not all problems can be simply solved, but HIS (Health Information System) aids the process and data analysis, ensuring consistency and integrity. This work presents WebSISLapam, a web application to collect, organize and analyze data related to medical survey responses, supporting the creation and reuse of forms, questions and quantitative and qualitative variables.
Project management is an essential activity across several areas, including Software Engineering.... more Project management is an essential activity across several areas, including Software Engineering. Through good management it is possible to achieve deadlines, budgets goals and mainly delivering a product that meets customer expectations. Project management activity encompasses: measurement and metrics; estimation; risk analysis; schedules; tracking and control. Considering the importance of managing projects, it is necessary that courses related to Information Technology and Computer Science present to students concepts, techniques and methodology necessary to cover all project management activities. Software project management courses aim at preparing students to apply management techniques required to plan, organize, monitor and control software projects. In a nutshell, software project management focuses on process, problem and people. In this paper we proposed an approach to teaching and learning of software project management using practical activities. The intention of this work is to provide the experience of applying theoretical concepts in practical activities. The teaching and learning approach, applied since 2006 in a Computer Science course, is based on teamwork. Each team is divided into groups assuming different roles of software process development. We have set four groups, each one assuming a different role (manager; software quality assurance; analyst and designer; programmer). The team must be conducted across the software process by its manager. We use four projects, each group is in charge of managing a different project. In this paper we present the proposed approach (based on hands on activities for project management); we summarize the lessons learned by applying the approach since 2006; we present a qualitative analysis from data collect along the application.
The development of large-scale distributed virtual environments deals with restrictions imposed b... more The development of large-scale distributed virtual environments deals with restrictions imposed by the infrastructure of communication systems. The scalability in those systems is an important issue to consider on designing and shows higher complexity, as the resources managed by the system increases. AVDNet - an architecture for scalable distributed virtual environments presented in a previous work - helps to reduce the amount of packets sent over the communication network. Besides, the computational processing on rendering is also reduced by using AVDNet, since the virtual environments is created using regions that separate spatially the environment. However, the AVDNet has restrictions on dealing with bandwidth management and the choice of servers, considering their availability. In this paper we present an analysis of scalability using the application layer anycast. To conduct this analysis we use the AnyAVDNet, a framework that implements the dynamic load distribution among servers of AVDNet regions. In addition, we show the metrics and the results.
Teaching mathematics for engineering students is very important. New undergraduate students are a... more Teaching mathematics for engineering students is very important. New undergraduate students are aware that they will need mathematical concepts in professional activities. It is still usual to observe not only the difficulty of students in mathematical disciplines, but also the lack of motivation for those disciplines. Motivate and keep motivated the engineering students to mathematical disciplines are a challenge for the teacher. In the literature, it is possible to observe the use of modeling tools of mathematical problems, some of them able to simulate models. Those tools have been used to try to motivate students, but with a technological bias that may introduce difficulties. In this paper we propose an approach to teaching-learning process of mathematical concepts to engineering students with a motivational factor: a practical problem to be modeled in which students must apply concepts seen in class, in particular using the Ordinary Differential Equations (ODE). Each student can choose a problem of his/her interest, which increases motivation. The problem chosen must be explored to create mathematical models involving multiple concepts, which allows the comparison of results. Students must create models using existing computational tools, preferably of free use, supported by instructor. So, the students are allowed to apply the concepts acquired to develop projects with transversal themes aiming to verify the capability and the use of these tools in learning mathematical concepts. Also, this paper presents an application of the approach proposed in Numerical Methods for Differential Equations course. We observed that the use of computer tool to model a real problem chosen by students has improved the interest and, consequently, facilitated the teaching-learning process. Also, it may develop in students a new vision on how they can build their knowledge. We also discuss ways in which the computational resources and everyday problems can help in math classes and arouse creativity, motivation and mathematical logical reasoning in engineering students.
The traffic between computer networks must be controlled to prevent unauthorized access. Firewall... more The traffic between computer networks must be controlled to prevent unauthorized access. Firewall is responsible for filtering data packets between networks, applying rules to select data packets that can get in/out to access the network. The firewall must be configured accordingly network access policy. Therefore, the students have to be trained to acquire skills not only to understand network access policy, but also to translate it into firewall native language. The use of a graphical representation (high level) to model the network access policy consist in a resource to facilitate understanding and to minimize defects on firewall native language. For that, we have proposed an extension to Security Policy Modeling Language (SPML), the SPML2, which aims to create a visual representation of the network access policy using graphical notation. Also, in this paper we present SP2Model, a web based tool to support SPML2 network accesses policy modeling and its translation into firewall native language. Using the SP2Model, the student can model the network access policy in a graphical notation and, then, can generate the set of rules in firewall native language. The use of SP2Model has facilitated the teaching-learning process, compared to traditional approaches. We evaluated SP2Model (and consequently the SPML extension) through an experiment following the GQM paradigm (Goal / Question / Metric) comparing the traditional approach and the use of SPML2 in operational security education. We performed two experimental sessions and we present the results, as well as a discussion about the tool, its use and the trade-off on using it.
Digital Image Processing (DIP) consists of a set of techniques to acquire, represent and transfor... more Digital Image Processing (DIP) consists of a set of techniques to acquire, represent and transform digital images. Through these techniques, it is possible to extract and identify information of images and improve the visual quality by facilitating human perception and interpretation by computer systems. However, the Digital Image Processing teaching is hindered by the complexity of implementation of many techniques, on several occasions is not possible that student visualize the results of DIP techniques when are discussed during the course. This paper presents an experiment over a web platform to support the teaching of digital image processing. The goal of this platform is not replace coding techniques, but allow rapid visualization and experimentation of studied methods, without be necessary to install software or previous knowledge of a specific programming language.
Advances in intelligent systems and computing, 2020
In introductory courses of technology, students with difficulty in programming subjects have led ... more In introductory courses of technology, students with difficulty in programming subjects have led to high dropout rates due to difficulties to understand algorithms, programming language, and paradigm concepts. Furthermore, teachers encounter challenges to support students individually, when adequate feedback is essential to the learning process. This paper presents the Teacher Mate tool to support source code analysis to identify the lack of good programming practices and to evidence students’ difficulties. We performed a case study focusing on identifying the difficulties among six classes of a object-oriented programming course. Our findings show that difficulties are similar in all classes and the students applied some concepts accurately (such as the encapsulation) and fewer violations remain on the source code. Moreover, we show an intervention and its result: based on analysis, the teacher modifies the approach, leading to positive results to support learning both object-oriented concepts and source code quality.
Nowadays, SPOCs (Small Private Online Courses) have been used as complementary methods to support... more Nowadays, SPOCs (Small Private Online Courses) have been used as complementary methods to support classroom teaching. SPOCs are courses that apply the usage of MOOCs (Massive Open Online Courses), combining classroom with online education, making them an exciting alternative for contexts such as emergency remote teaching. Although SPOCs have been continuously proposed in the software engineering teaching area, it is crucial to assess their practical applicability via measuring the effectiveness of this resource in the teaching-learning process. In this context, this paper aims to present an experimental evaluation to investigate the applicability of a SPOC in a Verification, Validation, and Software Testing course taught during the period of emergency remote education during the COVID-19 pandemic in Brazil. Therefore, we conducted a controlled experiment comparing alternative teaching through the application of a SPOC with teaching carried out via lectures. The comparison between th...
The Data Structure discipline consists on studying data organization in computer memory, primary ... more The Data Structure discipline consists on studying data organization in computer memory, primary and secondary ones. Data structures are organized using conceptual and behavioral issues that require high degree of abstract representation. It has been observed significant difficulty, by students, to understand the abstract concepts related, which is observed during practical tasks. In fact, practical tasks are essential to consolidate knowledge about data structures, but the students need support to understand the concepts before practical tasks. There are several works in literature showing tools to support conceptual and behavior comprehension, each one with specific features. However, the tools by themselves are not enough, dealing with specific data structure, with severe constraint. In literature, some tools are presented using case studies specific to the data structures supported. And we observed that the tools are presented focusing on their functionalities (the case studies are designed to explore such functionalities). Also, we observed the lack of a methodological approach to incorporate tools in a learning process effectively. In this scenario, we address the use of technological support to teaching-learning process. We propose a methodology based on constructionism, in which students, tasks (home works) and tools are coordinated by a teacher in favor of knowledge construction. In order to present our methodology, we use a learning tool, named CADILAG, developed using visual resources to support students understand data structures concepts. We applied the methodology proposed for two years. The positive results are observed in students grades and their evaluation. Also, according to the teacher, the students have shown interest and motivation.
Software Engineering and Knowledge Engineering, 2013
Aspect Mining and Refactoring to Aspects aim to identify crosscutting concerns and encapsulate th... more Aspect Mining and Refactoring to Aspects aim to identify crosscutting concerns and encapsulate them in aspects, respectively. Aspect Mining remains as non-automatic process, i.e., the user needs to analyze and understand the results generated by techniques/tools, and confirm crosscutting concerns to refactor them to aspects. In this paper we propose a visual approach that deals with results generated by two aspect mining techniques proposed in the literature. By coordinating visual mappings, different levels of detail to explore software artifacts support aspect mining facilitating their interpretation for further refactoring to aspects. The proposed visual approach was implemented (SoftV iz4AspectMining tool) and in this paper are presented the obtained visualizations, how to interpret them and lessons learned.
Advances in intelligent systems and computing, Jul 18, 2017
Databases and Distributed Systems have a fundamental relevance in Computer Science; they are usua... more Databases and Distributed Systems have a fundamental relevance in Computer Science; they are usually presented in courses where the high-level of abstraction characterizes the teaching and learning processes. Consequently, the teaching method needs to evolve to fulfill the present requirements. Therefore, grounded in these concepts, the main goal of this paper is to introduce a teaching methodology via benchmark tests. Our methodology was conducted using the Hadoop framework, and it is innovative and proved effective. Our methods allow students to be exposed to complex data, system architecture, network infrastructure, trending technologies and algorithms. During the courses, students analyzed the performance of some computational architectures through benchmark tests on local and on the cloud. Along with this scenario, they evaluate the processing time of each architecture. As a result, our methodology proved to be a support learning method, which allows students to have contact with trending tools.
Universidade Estadual Paulista (UNESP), Faculdade de Ciencias e Tecnologia (FCT), Departamento de... more Universidade Estadual Paulista (UNESP), Faculdade de Ciencias e Tecnologia (FCT), Departamento de Matematica e Computacao, Presidente Prudente, SP, Brasil
This Research Full Paper presents an analysis of the challenges and advantages on applying MOOCs ... more This Research Full Paper presents an analysis of the challenges and advantages on applying MOOCs in software engineering teaching and training contexts. Software engineering is a constantly evolving discipline in which educators are involved with a constant flow of new tools, resources and techniques in software development. This scenario makes the act of teaching and contributing to the students’ academic education more complex. The insertion of educational technologies brings contributions in this context, causing a transformation in the current scenario of teaching. An example of these new technologies are the MOOCs (Massive Open Online Courses) – open and online courses that are available in providers in partnership with reputable universities. Considering this scenario, this paper aims at identifying the challenges and trends of MOOCs application in software engineering domain, by means of a systematic mapping of the literature (SML). During the SML it was performed an analysis of 5100 papers and selection of 96 primary studies. The outcomes indicate that there is a potential in using MOOCs on teaching or training, as they are an alternative to offer courses applying traditional methods of learning. In addition, the challenges of this direction are analyzed and discussed.
The process of data collection involves the organization of a group of questions, where its answe... more The process of data collection involves the organization of a group of questions, where its answers will be analyzed to obtain results. This process is faced with difficulty of standardization and obtaining accurate results, where usually the collect, storage and computation of results are manually realized. Several factors may cause unwanted results, like poorly completed forms, difficulty of interpretation of what was informed and disinterest of who fills it. Not all problems can be simply solved, but HIS (Health Information System) aids the process and data analysis, ensuring consistency and integrity. This work presents WebSISLapam, a web application to collect, organize and analyze data related to medical survey responses, supporting the creation and reuse of forms, questions and quantitative and qualitative variables.
Project management is an essential activity across several areas, including Software Engineering.... more Project management is an essential activity across several areas, including Software Engineering. Through good management it is possible to achieve deadlines, budgets goals and mainly delivering a product that meets customer expectations. Project management activity encompasses: measurement and metrics; estimation; risk analysis; schedules; tracking and control. Considering the importance of managing projects, it is necessary that courses related to Information Technology and Computer Science present to students concepts, techniques and methodology necessary to cover all project management activities. Software project management courses aim at preparing students to apply management techniques required to plan, organize, monitor and control software projects. In a nutshell, software project management focuses on process, problem and people. In this paper we proposed an approach to teaching and learning of software project management using practical activities. The intention of this work is to provide the experience of applying theoretical concepts in practical activities. The teaching and learning approach, applied since 2006 in a Computer Science course, is based on teamwork. Each team is divided into groups assuming different roles of software process development. We have set four groups, each one assuming a different role (manager; software quality assurance; analyst and designer; programmer). The team must be conducted across the software process by its manager. We use four projects, each group is in charge of managing a different project. In this paper we present the proposed approach (based on hands on activities for project management); we summarize the lessons learned by applying the approach since 2006; we present a qualitative analysis from data collect along the application.
The development of large-scale distributed virtual environments deals with restrictions imposed b... more The development of large-scale distributed virtual environments deals with restrictions imposed by the infrastructure of communication systems. The scalability in those systems is an important issue to consider on designing and shows higher complexity, as the resources managed by the system increases. AVDNet - an architecture for scalable distributed virtual environments presented in a previous work - helps to reduce the amount of packets sent over the communication network. Besides, the computational processing on rendering is also reduced by using AVDNet, since the virtual environments is created using regions that separate spatially the environment. However, the AVDNet has restrictions on dealing with bandwidth management and the choice of servers, considering their availability. In this paper we present an analysis of scalability using the application layer anycast. To conduct this analysis we use the AnyAVDNet, a framework that implements the dynamic load distribution among servers of AVDNet regions. In addition, we show the metrics and the results.
Teaching mathematics for engineering students is very important. New undergraduate students are a... more Teaching mathematics for engineering students is very important. New undergraduate students are aware that they will need mathematical concepts in professional activities. It is still usual to observe not only the difficulty of students in mathematical disciplines, but also the lack of motivation for those disciplines. Motivate and keep motivated the engineering students to mathematical disciplines are a challenge for the teacher. In the literature, it is possible to observe the use of modeling tools of mathematical problems, some of them able to simulate models. Those tools have been used to try to motivate students, but with a technological bias that may introduce difficulties. In this paper we propose an approach to teaching-learning process of mathematical concepts to engineering students with a motivational factor: a practical problem to be modeled in which students must apply concepts seen in class, in particular using the Ordinary Differential Equations (ODE). Each student can choose a problem of his/her interest, which increases motivation. The problem chosen must be explored to create mathematical models involving multiple concepts, which allows the comparison of results. Students must create models using existing computational tools, preferably of free use, supported by instructor. So, the students are allowed to apply the concepts acquired to develop projects with transversal themes aiming to verify the capability and the use of these tools in learning mathematical concepts. Also, this paper presents an application of the approach proposed in Numerical Methods for Differential Equations course. We observed that the use of computer tool to model a real problem chosen by students has improved the interest and, consequently, facilitated the teaching-learning process. Also, it may develop in students a new vision on how they can build their knowledge. We also discuss ways in which the computational resources and everyday problems can help in math classes and arouse creativity, motivation and mathematical logical reasoning in engineering students.
The traffic between computer networks must be controlled to prevent unauthorized access. Firewall... more The traffic between computer networks must be controlled to prevent unauthorized access. Firewall is responsible for filtering data packets between networks, applying rules to select data packets that can get in/out to access the network. The firewall must be configured accordingly network access policy. Therefore, the students have to be trained to acquire skills not only to understand network access policy, but also to translate it into firewall native language. The use of a graphical representation (high level) to model the network access policy consist in a resource to facilitate understanding and to minimize defects on firewall native language. For that, we have proposed an extension to Security Policy Modeling Language (SPML), the SPML2, which aims to create a visual representation of the network access policy using graphical notation. Also, in this paper we present SP2Model, a web based tool to support SPML2 network accesses policy modeling and its translation into firewall native language. Using the SP2Model, the student can model the network access policy in a graphical notation and, then, can generate the set of rules in firewall native language. The use of SP2Model has facilitated the teaching-learning process, compared to traditional approaches. We evaluated SP2Model (and consequently the SPML extension) through an experiment following the GQM paradigm (Goal / Question / Metric) comparing the traditional approach and the use of SPML2 in operational security education. We performed two experimental sessions and we present the results, as well as a discussion about the tool, its use and the trade-off on using it.
Digital Image Processing (DIP) consists of a set of techniques to acquire, represent and transfor... more Digital Image Processing (DIP) consists of a set of techniques to acquire, represent and transform digital images. Through these techniques, it is possible to extract and identify information of images and improve the visual quality by facilitating human perception and interpretation by computer systems. However, the Digital Image Processing teaching is hindered by the complexity of implementation of many techniques, on several occasions is not possible that student visualize the results of DIP techniques when are discussed during the course. This paper presents an experiment over a web platform to support the teaching of digital image processing. The goal of this platform is not replace coding techniques, but allow rapid visualization and experimentation of studied methods, without be necessary to install software or previous knowledge of a specific programming language.
Advances in intelligent systems and computing, 2020
In introductory courses of technology, students with difficulty in programming subjects have led ... more In introductory courses of technology, students with difficulty in programming subjects have led to high dropout rates due to difficulties to understand algorithms, programming language, and paradigm concepts. Furthermore, teachers encounter challenges to support students individually, when adequate feedback is essential to the learning process. This paper presents the Teacher Mate tool to support source code analysis to identify the lack of good programming practices and to evidence students’ difficulties. We performed a case study focusing on identifying the difficulties among six classes of a object-oriented programming course. Our findings show that difficulties are similar in all classes and the students applied some concepts accurately (such as the encapsulation) and fewer violations remain on the source code. Moreover, we show an intervention and its result: based on analysis, the teacher modifies the approach, leading to positive results to support learning both object-oriented concepts and source code quality.
Nowadays, SPOCs (Small Private Online Courses) have been used as complementary methods to support... more Nowadays, SPOCs (Small Private Online Courses) have been used as complementary methods to support classroom teaching. SPOCs are courses that apply the usage of MOOCs (Massive Open Online Courses), combining classroom with online education, making them an exciting alternative for contexts such as emergency remote teaching. Although SPOCs have been continuously proposed in the software engineering teaching area, it is crucial to assess their practical applicability via measuring the effectiveness of this resource in the teaching-learning process. In this context, this paper aims to present an experimental evaluation to investigate the applicability of a SPOC in a Verification, Validation, and Software Testing course taught during the period of emergency remote education during the COVID-19 pandemic in Brazil. Therefore, we conducted a controlled experiment comparing alternative teaching through the application of a SPOC with teaching carried out via lectures. The comparison between th...
The Data Structure discipline consists on studying data organization in computer memory, primary ... more The Data Structure discipline consists on studying data organization in computer memory, primary and secondary ones. Data structures are organized using conceptual and behavioral issues that require high degree of abstract representation. It has been observed significant difficulty, by students, to understand the abstract concepts related, which is observed during practical tasks. In fact, practical tasks are essential to consolidate knowledge about data structures, but the students need support to understand the concepts before practical tasks. There are several works in literature showing tools to support conceptual and behavior comprehension, each one with specific features. However, the tools by themselves are not enough, dealing with specific data structure, with severe constraint. In literature, some tools are presented using case studies specific to the data structures supported. And we observed that the tools are presented focusing on their functionalities (the case studies are designed to explore such functionalities). Also, we observed the lack of a methodological approach to incorporate tools in a learning process effectively. In this scenario, we address the use of technological support to teaching-learning process. We propose a methodology based on constructionism, in which students, tasks (home works) and tools are coordinated by a teacher in favor of knowledge construction. In order to present our methodology, we use a learning tool, named CADILAG, developed using visual resources to support students understand data structures concepts. We applied the methodology proposed for two years. The positive results are observed in students grades and their evaluation. Also, according to the teacher, the students have shown interest and motivation.
Uploads