Repository logo
 

Search Results

Now showing 1 - 10 of 22
  • Graphical simulator of mathematical algorithms (GraSMA)
    Publication . Balsa, Carlos; Alves, Luís M.; Pereira, Maria João; Rodrigues, Pedro João
    Our 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.
  • Aplicando uma metodologia de aprendizagem colaborativa no ensino de programação
    Publication . Aires, Simone Bello Kaminski; Aires, Joao Paulo; Pereira, Maria João; Alves, Luís M.
    Este artigo aborda os resultados obtidos na utilização de uma metodologia de ensino colaborativa em uma turma com alunos ingressantes de um Curso de Bacharelado em Ciência da Computação. O grupo no qual a pesquisa foi implementada foi composto de 45 alunos matriculados na disciplina de Algoritmos do primeiro semestre de 2018. Para a estratégia de ensino, foi aplicado o Método Trezentos, que consiste na divisão da turma em grupos de trabalho colaborativo com oito alunos. Com esta metodologia, constatou-se uma melhora significativa não somente nas notas obtidas pelos estudantes, como, também, no percentual de aprovação. Com base nos dados históricos dos últimos anos, é possível perceber que o método se mostrou eficiente, uma vez que ao aplicar tal estratégia, houve ampliação no percentual de aprovação de 50,0% para 58,7% dos matriculados na disciplina.
  • C Tutor usage in relation to student achievement and progress: a study of introductory programming courses in Portugal and Serbia
    Publication . Alves, Luís M.; Gajić, Dušan; Henriques, Pedro Rangel; Ivančević, Vladimir; Ivković, Vladimir; Lalić, Maksim; Lukovic, Ivan; Pereira, Maria João; Popov, Srđan; Tavares, Paula
    Previous research studies on introductory programming courses in engineering education in Portugal and Serbia have indicated that although high motivation and high expectations seem to be reported by students, many students may fail the course. This prompted a further inquiry into student attitudes, behavior, and achievement, and it also led to the introduction of C Tutor, a widely known program visualization tool, into courses in both countries. As a result, in the present study, self‐reported student achievement (grades), self‐reported student progress (knowledge improvement and confidence), and self‐reported usage and helpfulness of C Tutor were investigated. Anonymous data about students and their experience in the course, which also included the usage of C Tutor, were collected in a survey in Portugal and Serbia. Quantitative methods, including descriptive statistics, clustering, statistical testing of independence, and partial correlation analysis, were applied in analyses of survey data. The distribution of grades differed between the two countries, but overall attitudes were similar. Various uncovered patterns involving student attitudes and usage of C Tutor may serve as a starting point for new research studies.
  • An empirical study on the estimation of size and complexity of software applications with function points analysis
    Publication . 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 career
    Publication . 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.
  • Active methodologies in incoming programming classes
    Publication . Aires, Joao Paulo; Aires, Simone Bello Kaminski; Pereira, Maria João; Alves, Luís M.
    Innovative approaches in teaching programming have been required to improve the success of incoming programming students. This work presents the initial results of a teaching strategy implemented in the Algorithms subject of a Computer Science course. Ninety-five students, enrolled in this subject during the first semester of the course, participated in the research. The reported activity is related with active methodologies of teaching and Problem-Based Learning, being developed on the first day of class in groups of up to five students. The activity was based in two actions: 1) answering a questionnaire associating computing elements to daily life routines; and, 2) even without programming concepts knowledge, develop a smartphone application. Each group received a questionnaire containing 19 questions, divided into four blocks. What can be perceived with the accomplishment of this work, was the enthusiasm, motivation and engagement of the students who, even being unknown from each other, organized themselves in the groups and researched the necessary strategies to complete the challenge. The teacher acted as an advisor in the teaching process, conducting the experiment in order to lead students to find the solution.
  • Simulador gráfico de algoritmos matemáticos
    Publication . Alves, Luís M.; Balsa, Carlos; Pereira, Maria João
    O 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 Serbia
    Publication . 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, Paula
    Programming 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 context
    Publication . Alves, Luís M.; Machado, Ricardo J.; Ribeiro, Pedro
    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. 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 technologies
    Publication . Balsa, Carlos; Alves, Luís M.; Pereira, Maria João; Rodrigues, Pedro João; Lopes, Rui Pedro
    We 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.