Repository logo
 

Search Results

Now showing 1 - 10 of 22
  • Ensino-aprendizagem de programação
    Publication . Alves, Luís M.
    O presente trabalho foi elaborado para efeitos da Lição que o autor apresentou nas Provas Públicas de Avaliação da Competência Pedagógica e Técnico-científica, cujo tema escolhido foi “Ensino-Aprendizagem de Programação”. O seu conteúdo, a metodologia e as fontes que lhe serviram de base são da sua inteira responsabilidade e são o resultado da experiência acumulada nos mais de vinte anos que já leciona, no projeto internacional em que participou e na investigação conduzida no âmbito dos trabalhos de doutoramento. O ensino-aprendizagem de linguagens de programação é uma tarefa difícil reconhecida mundialmente. Várias têm sido as tentativas para atenuar esta dificuldade, nomeadamente, na adoção de novas metodologias de ensino, novas ferramentas de suporte e novas linguagens de programação. Na presente Lição são apresentados alguns dados obtidos num projeto internacional sobre esta temática envolvendo várias instituições de ensino superior de Portugal e da Sérvia em que o autor participou ativamente. Na lecionação das Unidades Curriculares (UCs) de Programação I e Programação II aos cursos de licenciatura em Engenharia Informática e Informática de Gestão da Escola Superior de Tecnologia e Gestão (ESTiG) do Instituto Politécnico de Bragança (IPB), foram percecionadas dificuldades evidenciadas pelos estudantes na apreensão e aplicação de determinados conceitos. Motivo que impulsionou o desenvolvimento de técnicas e metodologias potenciadoras da transferência de conhecimento e de aprendizagem. Assim, ao longo dos anos têm-se potenciado o ensino baseado na prática, com um envolvimento ativo e colaborativo dos estudantes. Naquelas UCs, após a explicação teórica dos conceitos envolvidos na programação é efetuada uma aplicação prática dos mesmos, envolvendo ativamente os estudantes. Em todas as aulas são usados os computadores dos laboratórios ou os portáteis pessoais dos estudantes na realização de exercícios distribuídos por fichas de trabalho que cobrem os diferentes assuntos do conteúdo programático de cada Unidade Curricular (UC). Nos últimos anos, têm sido introduzidas ferramentas online de suporte ao ensino da programação. A criação de um ambiente académico que permita a aquisição de soft skills por estudantes das Tecnologias da Informação é um desafio encorajador. Neste sentido, é apresentado nesta Lição um ambiente criado na Universidade do Minho que potencia a aquisição destas competências. Este ambiente tem por base o Ensino Baseado em Projetos (Project-Based Learning (PBL)), cujo autor desta lição participou como aluno de doutoramento.
  • Paralelização em mecânica dos fluidos computacional usando HPF
    Publication . Alves, Luís M.
    Neste trabalho realizou-se a paralelização de um programa de Mecânica dos Fluidos Computacional, baseado no algoritmo SIMPLE, usando a linguagem HPF (High Performance Fortran). O HPF é uma extensão do Fortran 90 que usa o paradigma de programação data parallel, e permite a paralelização para sistemas SMP (Symmetric Multiple Processing) e clusters SMP. As simulações foram realizadas no cluster Bewolf existente na Faculdade de Engenharia da Universidade do Porto. Este cluster é constituído por 23 processadores Intel PIII (o master com velocidade de processamento de 550 MHz e os restantes 22 com 450 MHz) ligados por uma rede ethernet dedicada. Cada processador possui uma placa de 100 Mbit/s. O HPF mostrou-se uma linguagem de fácil utilização, permitindo uma rápida adaptação de códigos sequenciais para códigos paralelos. Ao contrário de outras técnicas de paralelização, no HPF as comunicações necessárias à execução de um código paralelo são implementadas pelo compilador, pelo que a modificação do nível de paralelização (número de processadores usados) pode ser conseguida por uma simples alteração de um parâmetro no código fonte. Assim, o HPF é uma técnica de paralelização com baixos custos de manutenção, permitindo com grande facilidade a alteração do código para novas situações de cálculo. No entanto, o HPF mostrou-se menos eficiente que por exemplo a técnica de decomposição de domínio usando message passing, não sendo a ferramenta ideal quando o principal objectivo da paralelização é maximizar o desempenho. Em particular, na simulação do escoamento de uma caixa bidimensional com tampa deslizante, obtiveram-se speed-ups de 0.42 para corridas com dois processadores e uma malha de 800 X 800 nós. A maior eficiência obtida no trabalho presente foi de 67% para 2 processadores.
  • 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 em contexto de sala de aula que obteve resultados muito positivos conforme neste artigo.
  • 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.
  • 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.
  • Using the methodology problem-based learning to teaching programming to freshman students
    Publication . Aires, Joao Paulo; Aires, Simone Bello Kaminski; Pereira, Maria João; Alves, Luís M.
    This work registers the initial results of a teaching strategy implemented with students entering the Algorithms discipline with a higher degree in Computing. This discipline offered to first-year students records cases of dropout and evasion. Thus, it is necessary to implement teaching strategies to provide engagement, interest, and motivation with the subjects worked on. The main objective is apply an active methodology problem-based learning in programming teaching. In this work participated 177 students in the years 2019-2 (47), 2020-1/2020-2 (83), and 2021-2 (47), enrolled in the first period of the course. The methodology adopted for the development of this study consisted of: use of questionnaires to measure prior knowledge about computing concepts; group discussion of the answers recorded in the questionnaire; development of an APP for smartphone; use of the PBL (Problem-based learning) methodology as a learning strategy. It is an activity related to the active teaching and learning methodology of problem-based learning that is being developed on the first day of class in groups of up to five students. The strategy consisted of two actions: 1) answering a questionnaire associating everyday computing elements; and 2) even though the programming concepts were not presented, the groups were challenged to develop a smartphone application. Each group received a questionnaire containing 19 questions divided into four blocks. What can be seen from the completion of this work was the enthusiasm, motivation, and engagement of the students, who, even though they were newcomers, organized themselves into groups and researched the necessary strategies to complete the challenge. When measuring the knowledge obtained through the application of a questionnaire relating to the content (with the participation of 62% of students), it was found that 81% of the participants obtained the necessary grade for approval of that content. Following the strategy of an active methodology of learning and teaching that favors the protagonism and autonomy of the student, we concluded that strategy was benefic for to the students, and the teacher acted as a guide in the teaching process, directing what should be researched to find the solution and serving as a tutor in the resolution of the problem presented. Preliminarily, part of this study was presented at the 2nd International Computer Programming Education Conference.
  • 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.
  • 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.
  • Graphical simulation of numerical algorithms : an approach 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 annotate manually the original algorithm with inspector functions. Now we are testing a new approach that aims to automatically annotate the original code with inspector functions. To achieve this we are developing a language translator module that enables to comment automatically 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.