Disciplina: Introdução à Programação

Área Científica:

Ciências Informáticas

HORAS CONTACTO:

64 Horas

NÚMERO DE ECTS:

6,5 ECTS

IDIOMA:

Português

Objetivos Gerais:

1 - Identificar os diferentes ambientes de execução e conhecer os principais tipos de ferramentas utilizadas no desenvolvimento de software;
2 - Identificar as principais características das linguagens de programação;
3 - Desenvolver programas usando a linguagem de programação Java (ou outra);
4 - Conhecer e implementar os principais tipos de dados;
5 - Desenvolver e implementar um algoritmo;
6 - Analisar a eficiência de algoritmos;
7 - Conhecer e implementar os principais algoritmos de ordenação;
8 - Conhecer e implementar os principais algoritmos de pesquisa.

Conteúdos / Programa:

1 - Iniciação à programação.
1.1 - Ambientes de computação e linguagens de programação.
1.2 - Ferramentas de desenvolvimento de software.
2 - Introdução à linguagem de programação Java.
2.1 - Noções elementares: classe, atributo, método.
2.2 - Tipos de dados primitivos.
2.3 - Vetores e strings.
2.4 - Estruturas de controle.
3 - Tipos de dados e estruturas de dados.
3.1 - Tipos primitivos versus Estruturas de Dados.
3.2 - Tipo de dados estruturados: fila, pilha e lista.
4 - Algoritmos.
4.1 - Algoritmos e implementação.
4.2 - Breves noções sobre complexidade de algoritmos.
4.3 - Algoritmos de ordenação elementares (inserção direta, seleção direta e bubblesort).
4.4 - Algoritmos de ordenação avançados (shellsort, heapsort e quicksort).
4.5 - Algoritmos de pesquisa: linear e binária.

Bibliografia / Fontes de Informação:

Rocha, A. A. , 2011 , Estruturas de Dados e Algoritmos em Java , FCA
Sedgewick, R. , 1998 , Algorithms in C, Parts 1-4 (Fundamental Algorithms, Data Structures, Sorting, Searching), 3rd ed. , Addison-Wesley
Sedgewick, R. , 2002 , Algorithms in C, Part 5 (Graph Algorithms). 3rd ed. , Addison-Wesley

Métodos e Critérios de Avaliação:

Tipo de Classificação: Quantitativa (0-20)

Metodologia de Avaliação:
De acordo com o previsto para os Cursos Técnicos Superiores Profissionais.