Contacto WhatsApp 961135355

Universidade Lusófona do Porto

Introdução à Computação

Curso

Comunicação Audiovisual e Multimédia (ULP)

Grau|Semestres|ECTS

Licenciatura | Semestral | 7

Ano | Tipo de unidade curricular | Lingua

1 |Obrigatório |Português

Total de horas de Trabalho | Tempo de Contacto (horas)

175 | 60

Código

ULP728-2279

Disciplinas complementares recomendadas

Não aplicável

Modalidade de Ensino

Face-a-face

Precedências

Não

Estágio profissional

Não

Conteúdos Programáticos

Introdução
- Conceitos básicos dos sistemas digitais
- Computador e sua contextualização
- O computador e o sistema operativo
- Estruturas de Dados Basicas
Conceitos elementares e algoritmia
- Algoritmia e Modelação de Problemas
- Representação e Notação Algorítmica
- Representação gráfica
- Representação textual
- Português estruturado
- Estruturas de Controlo
Tipos e Estruturas de Dados
- Simples
- Complexos
- Vectores
- Matrizes
- structs
introdução à linguagem de programação JAVA
- Comunicação básica com o utilizador (Input e Output)
- Subprogramas
- Manipulação de ficheiros de texto
- Estruturas de dados avançadas (Arraylists)
- Criação de classes em Java
- Instanciação de classes
Algoritmos comuns
- Aplicados a estruturas de dados linear
- Ordenação e Pesquisa
- Pilhas e Filas
- Aplicados a estruturas de dados não linear
- Listas ligadas

Sempre que possível o uso da linguagem de programação JAVA para implementação dos algoritmos.

Objetivos

Pretende-se trabalhar no aluno a capacidade de compreender um problema, de desenhar a solução na forma de um Algoritmo e de compreender os aspetos relevantes para a sua tradução numa Linguagem de Programação

Conhecimentos, capacidades e competências a adquirir

No futuro o aluno deverá ter competências ao nível de:
­ Saber definir um algoritmo;
­ Apreender os principais conceitos de programação dinâmica;
­ Saber identificar os problemas típicos da programação imperativa
­ Selecionar e aplicar as estruturas de dados e os algoritmos mais apropriados para a implementação dos tipos abstratos de dados;
­ Modificar as implementações dos tipos abstratos de dados de forma a acomodar as particularidades dos problemas ou melhorar o desempenho computacional dos programas.
­ Conseguir usar uma linguagem de programação como o JAVA para implementar os algoritmos desenvolvidos.

Metodologias de ensino e avaliação

O ensino da disciplina tem por base aulas teórico-práticas e aulas práticas. As aulas teórico-práticas são constituídas, no seu essencial, por sessões expositivas, que servem para introduzir os conceitos fundamentais da disciplina associados a cada um dos tópicos da matéria. As aulas práticas baseiam-se na análise, desenho e implementação dos conceitos teóricos, com recurso aos computadores e software de desenvolvimento instalado.

Avaliação contínua:
- 50% avaliação teórica
- Participação das aulas 10%+40% avaliação prática (trabalhos práticos a realizar ao longo do semestre)
(Nota mínima: 7 valores, a cada componente)

Exames:
- 50% avaliação teórica (1 exame e teste prático)
- 50% avaliação prática (avaliação e defesa do trabalho prático)
(Nota mínima: 7 valores, a cada componente)

NOTA: não são aceites trabalhos práticos entre épocas.

Bibliografia principal

Bibliografia Principal
- Vasconcelos, J. B. & Carvalho, J. V. (2005) Algoritmia e Estruturas de Dados (1ª ed.). Centro Atlântico

- Cormen,T., Leiserson, C., Rivest, R. & Stein, C. (2009) Introduction to Algorithms (3ª ed.). The MIT Press