|
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Av. João Naves de Ávila, 2121, Bloco 3N - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902 |
|
Plano de Ensino
IDENTIFICAÇÃO
Componente Curricular: |
|||||||||
Unidade Ofertante: |
|||||||||
Código: |
Período/Série: |
Turma: |
|||||||
Carga Horária: |
Natureza: |
||||||||
Teórica: |
Prática: |
Total: |
Obrigatória: |
Optativa: |
|||||
Professor(A): |
Ano/Semestre: |
||||||||
Observações: |
EMENTA
Introdução à programação orientada a objetos, classes e objetos, atributos e métodos de classes, herança, polimorfismo e aplicações de programação orientada a objetos.
JUSTIFICATIVA
A disciplina de Programação Orientada a Objetos é fundamental para um certificado em Engenharia de Computação. Atualmente, é o paradigma de programação mais utilizado na indústria e na academia. A programação orientada a objetos, juntamente com a arquitetura cliente-servidor, são consideras como tecnologias que revolucionaram a computação mundial. Diante deste cenário, é de extrema importância que o egresso do curso de Engenharia de Computação esteja habilitado a trabalhar com este paradigma de programação de computadores.
OBJETIVO
Objetivo Geral: |
Ao final do curso, o discente deverá entender os princípios e propriedades da Programação Orientada a Objetos e aplicar este conteúdo em sistemas computacionais de grande porte. |
Objetivos Específicos: |
Fornecer ao aluno (a) os conceitos de orientação a objeto, bem como capacitá-lo a desenvolver sistemas computacionais utilizando a técnica de orientação a objetos. • Desenvolver habilidades de resolver problemas de engenharia mapeados como uma solução orientada a objetos. |
PROGRAMA
1. Fundamentos da programação orientada a objetos
1.1. Paradigmas de linguagens de programação
1.2. Tipos de dados abstratos e o conceito de classes
1.3. Membros e métodos de uma classe: encapsulamento
1.4. Classes e objetos: construtores e destrutores
1.5. Acessando membros e métodos de um objeto
2. Herança
2.1. Introdução
2.2. Classes bases e classes derivadas
2.3. Acessando membros de uma estrutura
2.4. Membros protected
2.5. Construtores e destrutores em classes derivadas
2.6. Exemplos de aplicação
3. Polimorfismo
3.1. Introdução
3.2. Conversão de objetos de classe base para classe derivada
3.3. Exemplos de polimorfismo
3.4. Classes e métodos abstratos
3.5. Sobrecarga de operadores
3.6. Exemplos de aplicação
4. Tratamento de exceções
4.1. Introdução
4.2. Visão geral do tratamento de exceções
4.3. Manipulação de arquivos textos e arquivos binários
4.4. Comandos try, catch e finally
4.5. Classes de exceção definidas pelo desenvolvedor
4.6. Exemplos de aplicação
5. Estudo de caso 1: Interface de usuário gráfica
5.1. O framework de interface de usuário
5.2. Hierarquia de componentes
5.3. Eventos e ações
5.4. Janelas e painéis
5.5. Menus
6. Estudo de caso 2: Banco de dados
6.1. Introdução
6.2. Modelo de banco de dados relacionais
6.3. Criando uma base de dados
6.4. Exemplos de aplicação
METODOLOGIA
O curso será ofertado na modalidade assíncrona, com encontros síncronos mediados pela plataforma Microsoft Teams, cuja presença é obrigatória. Os encontros remotos acontecerão nas datas definidas no Programa.
Encontros mediados pela Plataforma Microsoft Teams:
Horário dos encontros: Todas segundas-feiras: 08:50h-10:40h
Durante os encontros remotos, haverá apresentação e discussão dos conteúdos do Programa. Será adotado material didático customizado, com uso de slides, tutorias, documentos, totalmente acessível pelo Teams, e organizado de acordo com o conteúdo descrito no Programa.
A plataforma Teams será utilizada como canal oficial de comunicação professor-aluno, e ainda como ambiente para recepção de trabalhos, divulgação de notas e disponibilização de materiais bibliográficos. Também será criado um grupo de do aplicativo WhatsUp para gestão do curso.
O atendimento ao estudante será realizado de forma assíncrona, na plataforma Teams e/ou por e-mail do docente (lamounier@ufu.br) e aplicativo, pelo envio de mensagens direcionadas ao professor, ou ainda durante os encontros remotos. Os estudantes que não participarem dos encontros remotos poderão acessar o conteúdo online pela Plataforma.
O cumprimento da carga-horária será verificado por meio da entrega das atividades descritas no Programa, de acordo com as datas das aulas, conforme calendário acadêmico aprovado pela Resolução 16/2021 do Congrad. A distribuição da carga-horária do conteúdo programático do curso está definida no Programa.
AVALIAÇÃO
O conteúdo programático será avaliado por meio de duas provas individuais e um Trabalho Final.
Cada prova terá o valor de 30,0 pontos e o Trabalho Final será de 40,0 pontos.
BIBLIOGRAFIA
Básica
1. PRESSMAN, R. Engenharia de Software. São Paulo: Makron Books, 1995.
2. TONSIG, S. L. Engenharia de Software – Análise e Projeto de Sistemas. São Paulo: Ed. Futura, 2003.
3. SOMMERVILLE, I. Engenharia de Software. São Paulo: Addison Wesley, 2003
Complementar
APROVAÇÃO
Aprovado em reunião do Colegiado realizada em: ____/____/______
Coordenação do Curso de Graduação: _________________________
Documento assinado eletronicamente por Edgard Afonso Lamounier Junior, Professor(a) do Magistério Superior, em 28/06/2021, às 21:30, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
A autenticidade deste documento pode ser conferida no site https://www.sei.ufu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 2868804 e o código CRC A5D81D6F. |
Referência: Processo nº 23117.039263/2021-30 | SEI nº 2868804 |