IPT Logotipo do IPT

Ano Letivo: 2022/23

Informática

Programação Orientada por Objetos

<< voltar ao Plano Curricular

Publicação em Diário da República: Despacho n.º 8838/2020 de 14-09-2020 + Despacho n.º 3463/2023 de 16/03/2023

6 ECTS; 2º Ano, 1º Semestre, 70,0 TP , Cód. 614221.

Docente(s)
- Mário Rui Betes Rodrigues Lopes (2)
- Fernando Sérgio Hortas Rodrigues (1)(2)

(1) Docente Responsável
(2) Docente que lecciona

Pré-requisitos
Considera-se importante que os alunos tenham conhecimentos de programação estruturada e algoritmia básica.

Objetivos
1. Adquirir conhecimentos sobre o paradigma da orientação por objetos, tais como hereditariedade, abstração, encapsulamento e polimorfismo.
2. Adquirir conhecimentos sobre a linguagem de programação C# e da Framework dotNet.
3. Adquirir conhecimentos sobre métodos de persistência de dados, através da utilização de frameworks para acesso a bases de dados.

Programa
1. Conceitos gerais
1.1. Introdução à .NET e à framework .NET
1.2. Exploração do ambiente de trabalho Visual Studio .NET
1.3. Criação de um Projeto de uma Aplicação Windows

2. Fundamentos da linguagem C#
2.1. Perceber os fundamentos da linguagem C#
2.2. Os vários tipos predefinidos do C#
2.3. Variáveis, Constantes e Enumerados
2.4. Arrays unidimensionais, multidimensionais e Jagged Arrays
2.5. Conversões implícitas e explícitas
2.6. Expressões e Operadores
2.7. Instruções Condicionais
2.8. Instruções Iterativas

3. Criar Objetos em C#
3.1. Value Types e Reference Types
3.2. Boxing e Unboxing
3.3. Classes e Objetos
3.3.1. Sintaxe e Semântica
3.3.2. Definição de Classes
3.3.3. Criação e Inicialização de Objetos
3.4. Namespaces
3.5. Access Modifiers (Scope)
3.6. Métodos
3.6.1. Sintaxe e Semântica
3.6.2. Parâmetros, variáveis locais e scope
3.6.3. Passagem de parâmetros por valor e por referência
3.6.4. Overloading
3.7. Construtores
3.7.1. Sintaxe e Semântica
3.7.2. Overload de Construtores
3.7.3. Inicialização de Construtores
3.8. Inicialização de Classes
3.9. Variáveis readonly
3.10. Membros de Classe Estáticos

4. Técnicas de Programação Orientadas a Objetos em C#
4.1. Programação Estruturada vs. Orientada por Objetos
4.2. Encapsulamento
4.3. Propriedades e Propriedades Automáticas
4.4. Hereditariedade
4.4.1. Classes Derivadas
4.4.2. Acesso a Construtores da Classe Base
4.4.3. Classes Seladas
4.4.4. Métodos Virtuais
4.4.5. Classes Abstratas
4.4.6. Propriedades Abstratas
4.5. Polimorfismo

5. Programar em C#
5.1. Instrução foreach
5.2. Indexação de Objetos (Indexers/Propriedades Indexadas)
5.3. Interfaces
5.4. Operadores is e as
5.5. Coleções
5.5.1. Implementação de Tipos Enumeráveis
5.5.1.1. A interface IEnumerable
5.5.1.2. Implementação explícita de IEnumerator
5.5.1.3. Iteradores Yield
5.5.1.4. Iteradores Nomeados (Named Iterators)
5.5.2. ArrayList
5.5.3. Queue
5.5.4. Stack
5.5.5. Hash Table
5.6. Exceções (Exception Handling)
5.7. Eventos e Delegações (Delegates and Events)

6. Implementação de Aplicações Baseadas em .NET, em C#
6.1. Sobreposição de Métodos (Overriding Methods) na biblioteca System.Object
6.2. Formatação de Cadeias de Caracteres e Números
6.3. Streams e ficheiros

7. Frameworks para Mapeamento Objeto-Relacional
7.1. Introdução à ADO.NET
7.1.1. ADO.NET Data providers
7.1.2. Disconnected layer do ADO.NET
7.1.3. DataSets
7.2 Entity Framework (EF)
7.2.1 Introduction to EF
7.2.2 Comerçar pela Base de Dados
7.2.3 Comerçar pelo Código
7.2.4 Constraints, Chaves e Associações
7.2.5 Acesso a dados e operações CRUD

8. C# Avançado
8.1. Genéricos
8.2. Tipos anónimos
8.3. Métodos Anónimos
8.4. Lambdas

Metodologia de avaliação
Época de avaliação de Frequência:
Desempenho em contexto de sala de aula (10%)
Trabalho Prático (70%)
Apresentação e defesa do Trabalho Prático (20%)

Outras épocas de avaliação:
Trabalho Prático (70%)
Apresentação e defesa do Trabalho Prático (30%)

Observações:

1. A nota final resulta da média ponderadas das várias componentes, em cada época de avaliação.

2. A nota mínima do Trabalho Prático é 10 valores.

3. A falta à apresentação/defesa do Trabalho Prático resulta na atribuição de zero valores nessa componente e por conseguinte a reprovação na época de avaliação em causa.

4. O aluno obtém aprovação à UC de acordo com o disposto nos Pontos 11 e 12, do Artigo 11º, do Regulamento Académico do IPT.

Bibliografia
- Japikse, P. e Troelsen, A. (2021). Pro C# 9 with .NET 5. New York: Apress
- Loureiro, H. (2017). C# 7.0 com Visual Studio. Lisboa: FCA - Editora de Informática
- Smith, J. (2021). Entity Framework Core in Action. New York: Manning Publications Co.

Método de Ensino
Aulas teóricas expositivo-participativas onde se descrevem e discutem com os alunos os conceitos fundamentais. Aulas práticas de resolução de: casos práticos; exercícios; aplicação dos conceitos apreendidos a cenários de utilização real.

Software utilizado nas aulas
Visual Studio
MS Sql Server

 

Aprovado em Conselho Técnico Cientifico: 17 de janeiro de 2023

Download da Ficha da Unidade Curricular (FUC)

 

 


<< voltar ao Plano Curricular
NP4552
Financiamento
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
Compete 2030
co-financiado