Introdução à Programação e Resolução de Problemas
1
2012-2013
01000043
Engenharia Informática
Português
Presencial
Semestral
6.0
Obrigatória
1º Ciclo - Licenciatura
Conhecimentos de Base Recomendados
Conhecimentos básicos de matemática. Aptidões de pensamento lógico e abstração.
Métodos de Ensino
Esta uc está estruturada em 2 aulas semanais com 2h de duração cada, não havendo distinção entre teóricas e práticas. Nas aulas são apresentados os conceitos e promovida a respectiva prática. Os conceitos serão exemplificados com pequenos pedaços de código, mas a sua exercitação será dirigida à resolução de problemas, que se procurará serem motivadores. Sendo o número de alunos mais baixo do que numa teórica convencional, será possível um acompanhamento da progressão dos alunos de modo personalizado.
Resultados de Aprendizagem
O objectivo principal é o de ensinar/aprender os princípios básicos da programação procedimental num contexto de resolução de problemas. Sendo a linguagem de programação apenas um veículo de expressão das soluções algorítmicas, e, desse ponto de vista todas serem equivalentes, optou-se por uma linguagem, Python, que permite minimizar as dificuldades de sintaxe e que ao mesmo tempo induz boas práticas de programação.
Espera-se que os alunos desenvolvam capacidades de análise e de síntese, de resolução de problemas, de raciocínio crítico, de aplicação prática dos conhecimentos adquiridos, e ainda competências informáticas relacionadas com o âmbito de estudo. Também se pretende fomentar a aprendizagem autónoma e o trabalho em grupo, as relações interpessoais, e a comunicação oral e escrita.
Estágio(s)
NãoPrograma
- Computadores, programas e computação
- Conceitos Básicos: objetos simples e operadores
- Instrução de atribuição, espaço de nomes
- Mecanismos de Abstração: funções e módulos
- Estruturas de Controlo: Sequências, condicionais, e ciclos
- Objetos estruturados: listas, tuplos e dicionários
- Metodologia de Programação: problemas, algoritmos e desenvolvimento de programas
- Interação com o mundo exterior: ficheiros
- Mecanismos de Abstração (II): complementos acerca de funções
- Conceitos Avançados: Listas por compreensão, iteradores e funcionais
- Estruturas de Controlo (II): exceções
- Metodologia de Programação (II): recursão
- Análise de Algoritmos
Docente(s) responsável(eis)
Carlos Nuno Bizarro e Silva Laranjeiro
Métodos de Avaliação
Avaliação
Desempenho nas aulas: 10.0%
Mini Testes: 30.0%
Exame: 60.0%
Bibliografia
- Introdução à programação e resolução de problemas, E. Costa, pré-publicação, DEI, 2012.
- Python: programming in context, B. Miller and D. Ranum, Jones and Bartlett, 2009.
- Learning Python (4th edition), M. Lutz, O’Reilly, 2009.