Fundamentos de Programação

Conhecimentos de Base Recomendados

n. a.

Métodos de Ensino

Aulas Teóricas com apresentação, pelo docente, dos conceitos e suas aplicações, acompanhadas de momentos de aprendizagem ativa.

Ao longo do semestre, as aulas laboratoriais terão dois formatos:

– Resolução de problemas: discussão, análise e conceção de algoritmos, seguida da implementação em C;

– Desenvolvimento do projeto: sessões assentes em Project-Based Learning (tipologia: exercício de projeto), nas quais o trabalho de aula contribui, de forma incremental, para o projeto da UC.

Resultados de Aprendizagem

Pretende-se estimular os alunos à resolução de problemas através do desenvolvimento de algoritmos. Dotar os alunos dos conceitos da linguagem C que possibilitem o desenvolvimento de aplicações de uma forma estruturada.

No final da unidade curricular o aluno deverá ser capaz de:

1) Identificar e classificar os diferentes tipos de linguagens de programação;

2) Construir soluções recorrendo a algoritmos, fluxogramas e pseudo-código;

3) Listar as principais características da linguagem C;

4) Implementar interação com o utilizador;

5) Ilustrar e demonstrar em código os diferentes tipos de dados, e estruturas de controlo disponíveis na linguagem C;

6) Explicar o papel das funções e criar programas que demonstrem a sua utilização, nomeadamente o processo de passagem de parâmetros;

7) Criar e utilizar vetores e strings;

8) Listar e usar no desenvolvimento de aplicações as operações de leitura e escrita em ficheiros;

9) Planear e construir programas em linguagem C;

10) Identificar e analisar os erros resultantes da construção de um programa. Modificar programas em C de forma a corrigir erros ou adotar novas especificações.

Programa

1) Linguagens de programação: introdução, caracterização e classificação;

2) Introdução à algoritmia: fluxogramas e pseudo-código;

3) Características da linguagem de programação em C;

4) Tipos de dados; Declaração de variáveis e constantes; Principais operadores; Expressões;

5) Interação com o utilizador;

6) Estruturas Controlo: Sequência, Seleção e Repetição;

7) Funções: variáveis locais e passagem de parâmetros;

8) Vetores e strings: declaração, inicialização, manipulação. Vetores multidimensionais;

9) Ficheiros: tipos de streams, operações, ficheiros standard.

Docente(s) responsável(eis)

Verónica Maria Marques do Carreiro Silva Vasconcelos

Métodos de Avaliação

Avaliação:

- O exame escrito é cotado para 12 valores, sendo necessária uma classificação mínima de 6 valores.
- Projeto de grupo é cotado para 8 valores; é necessária uma classificação mínima de 4 valores. O projeto terá defesa obrigatória.

Caso o professor considere necessário, a classificação final será validada através de uma prova escrita ou oral.

As classificações superiores a 17 valores devem ser defendidas em exame escrito ou oral. Caso o aluno não efetue essa defesa, a classificação final será limitada a 17 valores.

Condições de acesso a exame, válidas para todas as épocas de exame:

- Não ter mais de duas faltas nas aulas laboratoriais.

- Obter o mínimo de 4 valores no projeto.

 


    Estágio(s)

    NAO

    Bibliografia

    Vasconcelos, V.,  Marques, L, (2012). Linguagem C – Textos de apoio., ISEC (disponível na secção de texto e site da Unidade Curricular)

     King, K. N. (2008). C Programming – A Modern Approach”, Norton & Company, 2nd Ed. (disponível no ISEC: 1A -1-374)

     Damas, L. (1999). Linguagem C. FCA – Editora de Informática. (disponível no ISEC: 1A -1- 458)

    Kochan, S. G. (2005). Programming in C. 3rd Ed. (disponível no ISEC: 1A-1- 165)

     Guerreiro P. (2006). Elementos de Programação com C. FCA – Editora de Informática, 3ª Ed (disponível no ISEC: 1A -1- 458)

     S., Herbert. (1998).  Teach Yourself C.  McGraw-Hill, 3rd Ed. (disponível no ISEC: 1A – 1 – 257 )