Loading...
13 results
Search Results
Now showing 1 - 10 of 13
- Graphical simulator of mathematical algorithms (GraSMA)Publication . Balsa, Carlos; Alves, Luís M.; Pereira, Maria João; Rodrigues, Pedro JoãoOur goal is to develop an interactive software GraSMA that illustrates the execution of mathematical algorithms in the context of numerical methods. We want to create a working tool for teachers and learning tool for students. To achieve it we only use free software (as it is the Open Source software). The strategy followed was to extend the original algorithm code, implemented in Octave, with inspector instructions, recording in a XML (eXtensible Markup Language) file everything that happened during the execution. Subsequently, the XML file is parsed by a Java application that graphically represents the mathematic objects and their behaviour during execution. In this paper, we report the procedures followed, the difficulties encountered and the first results we achieved.
- An empirical study on the estimation of size and complexity of software applications with function points analysisPublication . Alves, Luís M.; Oliveira, Sérgio; Ribeiro, Pedro; Machado, Ricardo J.Empirical studies are important in software engineering to evaluate new tools, techniques, methods and technologies in a structured way before they are introduced in the industrial (real) software process. Perform empirical studies in a real context is very difficult due to various obstacles. An interesting alternative is perform empirical studies in an educational context using students as subjects and share the results with the academia and the industry. This paper describes a case study with two teams that developed a software system (Web application) for a real customer. In this study we used a model based on Function Points Analysis (FPA) to estimate the size and complexity of software system.
- Project-based learning: an environment to prepare IT students for an industry careerPublication . Alves, Luís M.; Ribeiro, Pedro; Machado, Ricardo J.The lack of preparation of Software Engineering (SE) graduates for a professional career is a common complaint raised by industry practitioners. One approach to solving, or at least mitigating, this problem is the adoption of the Project-Based Learning (PBL) training methodology. Additionally, the involvement of students in real industrial projects, incorporated as a part of the formal curriculum, is a well-accepted means for preparing students for their professional careers. The authors involve students from BSc, MSc, and PhD degrees in Computing in developing a software project required by a real client. This chapter explains the educational approach to training students for industry by involving them with real clients within the development of software projects. The educational approach is mainly based on PBL principles. With the approach, the teaching staff is responsible for creating an environment that enhances communications, teamwork, management, and engineering skills in the students involved.
- Simulador gráfico de algoritmos matemáticosPublication . Alves, Luís M.; Balsa, Carlos; Pereira, Maria JoãoO objetivo principal do trabalho de investigação foi desenvolver uma ferramenta computacional que possa ser usada por professores e alunos no ensino dos Métodos Numéricos. A ferramenta, designada por GraSMA (Graphical Simulator of Mathematical Algorithms), permite visualizar no ecrã a execução dos correspondentes algoritmos. Esta ferramenta integra vários softwares open source e baseia-se na anotação automática de código Octave com funções de inspeção que permitem captar a sucessão de valores e produzir uma animação do funcionamento do método. A validação do GraSMA como ferramenta de apoio à lecionação destes métodos foi feita através de uma experiência feita em contexto de sala de aula que obteve resultados muito positivos conforme será descrito neste artigo.
- Student entrance knowledge, expectations, and motivation within introductory programming courses in Portugal and SerbiaPublication . Alves, Luís M.; Gajić, Dušan; Henriques, Pedro Rangel; Ivančević, Vladimir; Lalić, Maksim; Lukovic, Ivan; Pereira, Maria João; Popov, Srđan; Tavares, PaulaProgramming is a skill needed across various disciplines and it is becoming more valuable for many job positions. However, students still appear to struggle in introductory programming courses. Academic achievement in programming may be influenced by numerous factors and may vary across countries, as observed in a previous study focused on Portugal and Serbia. In the present study, factors generally related to achievement and attrition, namely student entrance knowledge, expectations, and motivation, were examined as possible reasons behind achievement issues in introductory programming. An anonymous questionnaire that comprised closed-ended items was given to students enrolled in introductory programming courses at technically oriented higher education institutions in Portugal and Serbia. After data cleansing, response data from 678 students were quantitatively analysed to identify overall characteristics of the investigated groups, as well as differences between the groups from the two countries. The students generally had numerous expectations and motives regarding introductory programming, but their reported entrance knowledge of programming was generally at low levels. On average, the groups from the two countries were similar. The main differences include higher entrance knowledge for students from Serbia and slightly higher expectations for students from Portugal. These findings form a basis for further inquiry into causes of previously observed student performance variations between Portugal and Serbia. As there are many commonalities between the students from these countries, we may work on novel instruction methods and tools that would be useful for programming teachers and enrolled students in both countries.
- Experimental software engineering in educational contextPublication . Alves, Luís M.; Machado, Ricardo J.; Ribeiro, PedroEmpirical studies are important in software engineering to evaluate new tools, techniques, methods and technologies in a structured way before they are introduced in the industrial (real) software process. Within this PhD thesis we will develop a framework of a consistent process for involving students as subjects of empirical studies of software engineering. In concrete, our experiences with software development teams composed of students will analyze how RUP (Rational Unified Process) processes can be compliant with the CMMI (Capability Maturity Model Integration), namely in the context of MLs (maturity levels) 2 and 3. Additionally, we will also analyze the influence of project management tools to improve the process maturity of the teams. Our final goal of carrying out empirical studies with students is to understand its validity when compared with the corresponding studies in real industrial settings.
- Graphical simulation of numerical algorithms - an aproach based on code instrumentation and Java technologiesPublication . Balsa, Carlos; Alves, Luís M.; Pereira, Maria João; Rodrigues, Pedro João; Lopes, Rui PedroWe want to create a working tool for mathematics teachers and a corresponding learning tool for students, namely a graphical simulator of mathematical algorithms (GraSMa). To achieve it we try two different strategies. We started by annotating manually the original algorithm with inspector functions. Now we are testing a new approach that aims at automatically annotating the original code with inspector functions. To achieve this we are developing a language translator module that enables us to comment automatically on any code written in Octave language. The run of the annotated code gated by one of these two ways, records in a XML (eXtensible Markup Language) file everything that happened during the execution. Subsequently, the XML file is parsed by a Java application that graphically represents the mathematic objects and their behaviour during execution. The final application will be accessed on-line through a website (WebGraSMa) which is currently under development. In this paper we report and discuss about the procedures followed and present some intermediate results.
- An empirical study on the estimation of software development effort with use case pointsPublication . Alves, Luís M.; Sousa, André; Ribeiro, Pedro; Machado, Ricardo J.Empirical studies are important in software engineering to evaluate new tools, techniques, methods and technologies in a structured way before they are introduced in the industrial (real) software process. Perform empirical studies in a real context is very difficult due to various obstacles, so, we intend to create a stable environment that allows us to perform reliably empirical studies with students. This paper describes a case study with 104 students grouped in seven teams that developed a software system (Web application) for a real costumer. In this study we used a model based on Use Case Points (UCP) to estimate the resources needed to develop a software system.
- Architectural element points: estimating software development effort by analysis of logical architecturesPublication . Alves, Luís M.; Ribeiro, Pedro; Machado, Ricardo J.Empirical studies are important in software engineering to evaluate new tools, techniques, methods and technologies. In object-oriented analysis, use case models describe the functional requirements of a software system, so they can be the basis for software measurement and sizing. The purpose of this study is to develop a new metric called Architectural Element Points (AEPoint) that enables to calculate the effort required to develop a software solution, using the 4-Step Rule Set (4SRS) method. This paper describes a case study with 60 undergraduate students grouped in four teams that developed a software system (Web application) for a real customer. In this study, we used the AEPoint metric to estimate the resources needed to develop a software system. The results of the AEPoint and Use Case Points (UCP) metrics and the real software development effort are compared, conclusions drawn and recommendations are proposed.
- Simulador gráfico de algoritmos matemáticosPublication . Alves, Luís M.; Balsa, Carlos; Pereira, Maria JoãoO objetivo principal do trabalho de investigação foi desenvolver uma ferramenta computacional que possa ser usada por professores e alunos no ensino dos Métodos Numéricos. A ferramenta, designada por GraSMA (Graphical Simulator of Mathematical Algorithms), permite visualizar no ecrã a execução dos correspondentes algoritmos. Esta ferramenta integra vários softwares open source e baseia-se na anotação automática de código Octave com funções de inspeção que permitem captar a sucessão de valores e produzir uma animação do funcionamento do método. A validação do GraSMA como ferramenta de apoio à lecionação destes métodos foi feita através de uma experiência feita em contexto de sala de aula que obteve resultados muito positivos conforme será descrito neste artigo em contexto de sala de aula que obteve resultados muito positivos conforme neste artigo.