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
201920

 
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 de projeto - 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.
O projecto consiste na concepção e implementação de uma solução para um problema proposto de pequena dimensão. É desenvolvido por grupos com um máximo de 3 alunos. Envolve uma entrega final estipulada no calendário da avaliação contínua. O projecto tem de ser apresentado pelo grupo aos docentes para que seja avaliado.
Cada componente de avaliação teórica e projeto tem uma classificação mínima de 8,0 valores.
Caso o aluno queira apresentar o projecto em exame tem de solicitar um novo enunciado que é fornecido após a data de entrega do projecto 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
 
Format: 2020-02-28
Format: 2020-02-28