Disciplina Curricular

Fundamentos de Programação FPro

Mestrado Bolonha em Bioinformática e Biologia Computacional - 0_MBBC 2008/09 a 2016/17

Peso

6.0 (para cálculo da média)

Objectivos

O objetivo principal desta unidade curricular é apresentar aos estudantes de ciências e engenharia a base e os aspetos teóricos da programação. No final do semestre, os estudantes deverão ser capazes de lidar com problemas de programação de média complexidade, utilizando uma linguagem de programação interpretada, por exemplo, Python. Mais especificamente, espera-se que os estudantes: - Sejam capazes de descrever os princípios, conceitos e fundamentos da programação. - Sejam capazes de projetar e implementar, numa linguagem de programação, uma solução executável (para um determinado problema) que utilize as bases e fundamentos da programação, cálculos básicos, estruturas condicionais, input / ouput, persistência e exceções. - Sejam capazes de escrever funções que recebam e retornem outras funções e determinar corretamente o escopo léxico de variáveis. - Sejam capazes de compreender a abstração de dados e usar tipos de dados adequados a determinado problema. - Sejam capazes de escrever e documentar programas de acordo com os princípios de software comuns e as melhores práticas. - Sejam capazes de aplicar técnicas de teste de software apropriadas a um software.

Programa

Breve introdução aos fundamentos da programação, programação de computadores e linguagens de programação, seguida de uma discussão aprofundada dos seguintes conceitos de programação: - Variáveis: identificadores, operadores de atribuição, identificadores recomendáveis e palavras reservadas. - Tipos de dados I: strings, lists, and arrays; objectos mutáveis e não mutáveis. - Tipos de dados II: tuples, dictionaries, and objects. - Condicionais: if, elif, else e operadores lógicos. - Funções: argumentos, número variável de argumentos, funções como argumentos, escopo léxico, funções anónimas, recursão. - Bibliotecas e módulos. - Input e Output: leitura de dados a partir do teclado, escrita de dados para no ecrã, leitura/escrita de dados de e para ficheiro - Programação orientada a objetos: classes e herança. - Teste de software.

Métodos de ensino e avaliação

O contínuo envolvimento dos estudantes nesta unidade curricular é promovido pelo estudo e pela discussão dos vários tópicos lecionados semanalmente. Para fomentar a aprendizagem autónoma de cada estudante, são publicados semanalmente exercícios de programação para serem solucionados fora da aula e individualmente por cada estudante, e discutidos posteriormente na aula teórico-prática. Durante o semestre, os estudantes têm também que trabalhar em projetos de programação onde se espera que apliquem a maioria dos conceitos apresentados nas aulas teóricas. As aulas teóricas são utilizadas para expor os conceitos e aspetos fundamentais da programação, utilizando a linguagem de programação Python. Sempre que possível, os conceitos são formalmente expostos juntamente com a apresentação e discussão de exemplos reais e/ou introduzidos no contexto dos projetos dos estudantes. As aulas teórico-práticas são usadas para ajudar os estudantes a entender os tópicos expostos em cada aula teórica e para resolver os exercícios de programação publicados semanalmente. A avaliação de cada estudante é baseada em um projecto de programação (50%) e um exame final (50%).

Disciplinas Execução

2019/2020 - 1 Semestre

2018/2019 - 1 Semestre

2017/2018 - 1 Semestre

2016/2017 - 1 Semestre