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