Back

Programação Orientada a Objetos

    Detalhes do curso

  • Conhecimentos de Base Recomendados

    -

  • Objetivos

    Esta Unidade Curricular (UC) pretende dotar os estudantes de conceitos e técnicas fundamentais de
    programação orientada a objetos para o desenvolvimento de aplicações, concretamente:
    A – Compreender e aplicar os elementos fundamentais das classes e objetos;
    B – Compreender e aplicar mecanismos de comunicação e colaboração entre objetos;
    C – Compreender e aplicar os princípios da abstração e encapsulamento;
    D – Compreender e aplicar herança e polimorfismo;
    E – Saber tratar e lançar exceções;
    F – Utilizar a programação orientada a objetos para desenvolver uma aplicação que satisfaz um
    conjunto de requisitos definidos para resolver um problema ou atingir um objetivo.

  • Métodos de Ensino

    A UC é operacionalizada através do regime de ensino flexível, com metodologias de aprendizagem mistas. As aulas integram metodologias expositivas e indutivas, centradas no esforço e participação do estudante.
    Na vertente teórica privilegia-se o método expositivo/demonstrativo para apresentação dos conceitos, apelando sempre à participação ativa do estudante, e na vertente Prática privilegiam-se os métodos ativos que proporcionam a discussão e aplicação dos conhecimentos adquiridos através de exercícios práticos, recorrendo à utilização de software específico.

    Avaliação:
    - Contínua: Testes (50%), trabalhos práticos (50%)
    - Final: exame (100%)

  • Estágio(s)

    Não

  • Programa

    1. Classes e objetos
    1.1. Modelação das propriedades de uma entidade usando variáveis e tipos de dados
    1.2. Modelação dos comportamentos de uma entidade utilizando procedimentos
    1.3. Membros de classe e de instância
    1.4. Construtores e instanciação

    2. Comunicação e colaboração entre objetos
    2.1. Declaração e utilização de métodos
    2.2. Utilização de pacotes e bibliotecas

    3. Princípios fundamentais da programação orientada a objetos
    3.1. Abstração e encapsulamento
    3.2. Herança e polimorfismo
    3.3. Interfaces

    4. Tratamento de Exceções e Asserções

    5. Desenvolvimento de aplicações
    5.1. Ferramentas de gestão de código fonte e controlo de versões
    5.2. Interface de utilizador
    5.3. Desenho e implementação
    5.4. Testes

  • Demonstração de conteúdos

    Os conteúdos programáticos foram definidos em função dos objetivos e competências a serem adquiridos pelos estudantes:
    - O ponto 1 está em coerência com o objetivo de aprendizagem A;
    - O ponto 2 está em coerência com o objetivo de aprendizagem B;
    - O ponto 3 está em coerência com os objetivos de aprendizagem C e D;
    - O ponto 4 está em coerência com o objetivo de aprendizagem E;
    - Os pontos 1 a 5 estão em coerência com o objetivo de aprendizagem F.

  • Demonstração da metodologia

    As aulas conjugam diversas metodologias pedagógicas que assentam em métodos de ensino-aprendizagem ativos, estimulando a participação e o envolvimento dos estudantes no seu processo de aprendizagem. As metodologias previstas fomentam a capacidade do estudante de aplicar competências práticas e de trabalhar de forma autónoma.

  • Docente(s) responsável(eis)

    -

  • Bibliografia

    - Taher, R. (2019). Hands-On Object-Oriented Programming with C#: Build maintainable software with reusable code using C#. Packt Publishing Ltd.
    - Clark, D. (2013). Beginning C# Object-Oriented Programming, 2nd Ed., Apress
    - Troelsen, A., Japikse, P. (2022) Pro C# 10 with .NET 6: Foundational Principles and Practices in Programming, 11th Ed, Apress
    - Price, M. (2021) C# 10 and .NET 6 – Modern Cross-Platform Development: Build apps, websites, and services with ASP.NET Core 6, Blazor, and EF Core 6 using Visual Studio 2022 and Visual Studio Code. 6th Ed., Packt Publishing
    - Perkins, B., Hammer, J. V., & Reid, J. D. (2018). Beginning C# 7 Programming with Visual Studio 2017. John Wiley & Sons.
    - Stellman, A., & Greene, J. (2020). Head first C#. 4th Ed.O'Reilly Media.
    - Perkins, B., Reid, J. (2021) Beginning C# and .NET. Wrox
    - Martin, R. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice-Hall

  • Código

    LGSI2101

  • Modo de Ensino

    PRESENCIAL

  • ECTS

    5.5

  • Duração

    Semestral

  • Horas

    45h Práticas e Laboratórios

    15h Teóricas

Conteúdo atualizado em 09/03/2025 23:15
Visão Geral da Privacidade

Este site utiliza cookies para oferecer a melhor experiência possível. As informações dos cookies são armazenadas no navegador e permitem funcionalidades como reconhecer cada visitante quando regressa ao nosso site e ajudar a nossa equipa a perceber quais as secções que considera mais interessantes e úteis.

Cookies Estritamente Necessários

Os cookies estritamente necessários devem estar sempre ativados para que possamos guardar as preferências de configuração de cookies.

Cookies de Terceiros

Este site utiliza o Google Analytics para recolher informação anónima, como o número de visitantes do site e as páginas mais populares. Manter este cookie ativado ajuda-nos a melhorar o nosso website.