Escolas Superiores Portais
ESEESAESTGESSESCEESDL MULTIMÉDIAINTERNACIONAL
Escola Superior de Educação
Escola Superior Agrária
Escola Superior de Tecnologia e Gestão
Escola Superior de Saúde
Escola Superior de Ciências Empresariais
Escola Superior de Desporto e Lazer
SASOTICEMPREGO
 
   
 

Programa Unidade Curricular

Curso
Unidade Curricular
Ano
Periodo
ECTS
Ano Letivo
Engenharia da Computação Gráfica e Multimédia
Introdução à Programação
1
S1
7
202021

 
T
TP
TC
P
PL
L
S
E
EC
O
OT
Horas de Contacto
0
32
0
0
32
0
0
0
0
0
0

Equipa Docente
Nome
Carga Letiva na UC
Responsável
Luis Miguel Cabrita Romero
32
Docente
Vítor Júlio da Silva e Sá
64

Resumo
A Unidade pretende fornecer ao aluno conceitos fundamentais da programação de computadores, nomeadamente os algoritmos com todas as regras e fundamentos da sua construção, a estruturação com classes/objetos e respetiva manipulação.
A unidade curricular visa explicar os conceitos da programação orientada aos objetos, através da linguagem de programação java, para implementar os algoritmos expostos, utilizar e manipular dados, estruturar aplicações em classes/objetos, de forma a fornecer uma plataforma para o aluno experimentar e aprofundar os conceitos de programação.

Objetivos da Aprendizagem
1- Conhecer os principais conceitos algorítmicos e as estruturas de dados básicas.
2- Adquirir a capacidade de solucionar problemas recorrendo ao uso da linguagem Java e dos conceitos algorítmicos apresentados.
3- Conhecer os conceitos básicos da programação orientada a Objectos.
4- Usar adequadamente, e de forma eficiente, as estruturas de dados elementares, sob a forma de classes/objetos, na resolução de problemas concretos.

Conteudos Programáticos
Horas
1- 1. Introdução à Algoritmia
1.1. Enquadramento da Algoritmia na Engenharia de Software
1.2. Algoritmia e a Codificação
1.3. Constituição de um Programa
4
2- 2. Introdução à Linguagem java
2.1. Conceitos Elementares
2.2. Tipos de Dados Básicos
2.3. Operadores Aritméticos, Lógicos, Relacionais e Manipuladores de bits
2.4. Declaração de Variáveis;
2.5. Atribuição
4
3- 3. Entrada e Saída de Dados
3.1. Leitura e escrita de informação
3.2. Packages e import
3.3. Classes da biblioteca java.io
4
4- 4. Instruções de Controlo de Fluxo
4.1. Instruções de Seleção
4.2. Instruções de Repetição
6
5- 5. Strings
5.1. Conceito de String
5.2. Leitura e escrita de Strings
5.3. Manipulação de Strings
6
6- 6. Vectores (Arrays )
6.1. Declaração de Vectores
6.2. Manipulação de Vectores
6.3. Vectores multidimensionais
6
7- 7. Argumentos de Linha de comando
7.1. Argumentos de um programa
7.2. Acesso aos argumentos de um programa
4
8- 8. Definições de classes e objectos
8.1. Constituição de uma Classe:
8.2. Atributos;
8.3. Métodos; parâmetros; variáveis locais
8.4. Construtores;
8.5. Qualificadores de acesso a variáveis e métodos;
8.6. Instâncias; variáveis de instância;
8.7. Objetos;
8.8. Interacção entre objectos;
12
9- 9. Hierarquia de classes
9.1. Subclasses
9.2. O mecanismo de herança
9.3. Polimorfismo
10
10- 10. Tratamento de erros e exceções
10.1. Classes de Exceções
10.2. Gerar e Tratar Exceções
8

Metodologias de Ensino
Nas aulas teórico-práticas são expostos os conceitos e técnicas associadas aos conceitos de programação e de manipulação de estruturas de dados, apoiado por exemplos práticos.
Nas aulas práticas laboratoriais são desenvolvidos conjuntos de exercícios relacionados com as matérias leccionadas nas aulas teórico-práticas. Periodicamente serão solicitados aos alunos a resolução de exercícios para efeitos de solidificação dos conhecimentos e avaliação.
É solicitado aos alunos o desenvolvimento de um projecto que consiste em conceber e implementar uma solução para um problema de pequena dimensão recorrendo às matérias expostas durante as aulas de contacto. Numa fase final da unidade é feito um acompanhamento da evolução do desenvolvimento do projecto proposto.

Avaliação
A avaliação consiste em 2 componentes:
.- A componente teórica - 50%
.- A componente prática - 50%
A componente teórica consiste em dois testes escritos durante a frequência;
.- O primeiro teste tem um peso de 25%;
.- O segundo teste tem um peso de 25%.
Cada um dos testes abrange aproximadamente metade da matéria total da unidade. Ambos ocorrem durante o período lectivo. Caso o aluno não tenha aproveitamento ao primeiro dos testes (nota menor que 8,0) só poderá fazer a parte teórica na época de recurso num teste sobre a totalidade da matéria. A nota mínima de qualquer dos testes é de 8.0 valores.
A componente prática consiste na concepção e implementação de uma solução para dois trabalhos práticos de pequena dimensão, com pesos de 15% e 35%. É desenvolvido por grupos com um máximo de 3 alunos. Envolve uma entrega final estipulada no calendário da avaliação contínua. Os trabalhos práticos têm de ser apresentados pelos alunos do grupo aos docentes para que sejam avaliados.
Cada componente de avaliação teórica e prática tem uma classificação mínima de 8,0 valores.
Caso o aluno queira apresentar os trabalhos em exame tem de solicitar novos enunciados que são fornecidos após a data de entrega do último trabalho prático no período lectivo.

Bibliografia Principal
*.- Fundamentos de programação em JAVA, António José Mendes, Maria José Marcelino, 2012, FCA, ISBN: 978-972-722-637-5.
*.- Eck, David J., Introduction to Programming Using Java, 8th Edition, 2018 (http://math.hws.edu/javanotes8).

Bibliografia Complementar
*.- JAVA6 e Programação Orientada pelos Objectos, F. Mário Martins, 2009, FCA - Editora Informática, ISBN: 978-972-722-624-5.
*.- Introduction to Java Programming - Comprehensive Version, Tenth Edition, Y. Daniel Liang, 2015, Pearson - Prentice Hall, ISBN: 0-13-376131-2.
*.- Oracle, The Java? Tutorials, https://docs.oracle.com/javase/tutorial/
*.- Algorithms, 4th Ed., R. Sedgewick & K. Wayne, Addison-Wesley, 2011, ISBN: 978-0-321-57351-3.
 
 
 

Em destaque

EM AGENDA

D S T Q Q S S
 
 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30
 
31
 
 
 
Format: 2020-12-02
Format: 2020-12-02