Provas de Aptidão Pedagógica e Capacidade Científica |
Aula Prática |
Emulação da Máquina URM no Mathematica
Introdução
Na cadeira de Paradigmas da Programação os alunos familiarizaram-se com o sistema Mathematica. Aprenderam a definir funções por abstracção funcional e por atribuição paramétrica. Praticaram os paradigmas da programação recursiva, imperativa, funcional e por reescrita.
Contrariamente ao que seria desejável acaba sempre por não haver tempo para desenvolver programas mais complexos onde se apliquem os conceitos e as técnicas de programação desenvolvidos ao longo do semestre. Estes programas de aplicação podem no entanto ser introduzidos em fases posteriores do curso no âmbito de outras cadeiras.
É o que acontece, por exemplo, no caso da Teoria da Computabilidade e Complexidade. Em anos anteriores foram facultados aos alunos desta cadeira alguns programas em linguagem Mathematica capazes de resolver questões específicas referentes à matéria leccionada. Esses programas consistiam no emulador da máquina URM, no codificador de programas URM e no descodificador de programas URM.
Ao facultar o emulador da máquina URM pretendia-se dar aos alunos uma ferramenta adicional que poderiam utilizar, extra-aula, para complementar o seu estudo testando os programas URM apresentados nas aulas bem como outros que viessem a construir. Ao facultar o codificador e o descodificador de programas URM pretendia-se que os alunos constatassem a diferença entre o apenas se pretender garantir que é possível codificar e descodificar programas URM e os aspectos ligados à procura de codificações eficientes desses programas (pois os alunos facilmente verificarão que a codificação dada nas aulas teóricas não seria prática nem tal era uma preocupação no contexto desta cadeira).
Seria no entanto proveitoso para os alunos se fossem eles próprios a construir os referidos programas. Assim eles iriam, para além de praticarem a programação em Mathematica, interiorizar de forma mais marcante a matéria da disciplina de Teoria da Computabilidade e Complexidade.
Os programas descritos anteriormente poderiam ser construídos em duas aulas práticas que teriam naturalmente lugar numa sala de informática. A construção do emulador URM corresponderia à segunda aula teórico-prática. Os restantes programas seriam construídos na última aula teórico-prática.
Este relatório descreve a primeira das duas aulas (emulador da máquina URM) estando dividido em quatro partes, sendo a primeira a presente introdução.
Na segunda parte é feita uma breve apresentação da disciplina de Teoria da Computabilidade e Complexidade.
Na terceira parte é apresentada a lição, focando inicialmente o seu enquadramento na disciplina, os seus objectivos e requisitos.
Finalmente, na quarta parte, apresentam-se as conclusões.
Os programas Mathematica a construir na segunda aula prática são apresentados em anexo.
© 2004 José Laurindo de Góis Nóbrega Sobrinho |