BCC 221
Programação Orientada a Objetos

José Romildo Malaquias
Sala 21 – DECOM – ICEB III
Instituto de Ciências Exatas e Biológicas
Universidade Federal de Ouro Preto
romildo@iceb.ufop.br

2015/1

Sumário

1 Dados gerais
2 Objetivos
3 Ementa
4 Programa
5 Metodologia de Ensino
6 Atividades Discentes
7 Bibliografia
8 Avaliações
9 Código de honra do aluno
10 Grupo de discussão
11 Ferramentas
12 Aulas
13 Exercícios
14 Trabalhos
15 Notas e frequências

1 Dados gerais

Departamento: Computação
Unidade: Instituto de Ciências Exatas e Biológicas
Carga horária semanal: 4 teóricas
Duração em semanas: 18
Carga horária semestral: 72 horas-aula
Pré-requisitos: BCC202 – Estruturas de Dados I
Cursos: Ciência da Computação: obrigatória 3o período

2 Objetivos

Ao final do curso espera-se que o aluno:

3 Ementa

  1. Conceitos básicos de orientação a objetos:
    1. classe
    2. objeto
    3. mensagem
    4. encapsulamento
    5. herança
    6. polimorfismo
    7. ligação dinâmica
  2. Tratamento de exceções
  3. Genéricos
  4. Coleções
  5. Modelagem UML
  6. Interface gráfica em ambientes orientados a objetos
  7. Objetos persistentes
  8. Múltiplas linhas de execução
  9. Objetos remotos

4 Programa

  1. Visão geral do paradigma de programação orientada a objetos
  2. Modelagem UML
  3. Programando em C++
    1. Classes, objetos, mensagens
    2. Herança
    3. Polimorfismo
    4. Ligação dinâmica
    5. Tratamento de exceções
    6. Genéricos
    7. Coleções
    8. Objetos persistentes
  4. Programando em Java
    1. Herança
    2. Polimorfismo
    3. Interfaces gráficas
    4. Tratamento de exceções
    5. Genéricos
    6. Coleções
    7. Objetos persistentes

5 Metodologia de Ensino

Aulas teóricas
Aulas expositivas sobre o conteúdo. Os conceitos serão apresentados através da solução de problemas que requerem aplicação de tais conceitos. Será dada uma forte ênfase na implementação como instrumento para garantir a assimilação dos conceitos de orientação a objetos.

6 Atividades Discentes

Listas de exercícios
Exercícios de implementação de programas e trechos de programas para assimilação dos conceitos apresentados.
Trabalhos
Exercícios de implementação mais elaborados para consolidar os conceitos estudados.

7 Bibliografia

[1]

PIC
Harvey Deitel. C++ Como Programar. Bibliografia básica. Pearson, 2006, p. 1208. isbn: 9788576050568. Livro-texto.

[2]

PIC
Paul Deitel e Harvey Deitel. Java Como Programar. Bibliografia básica. Pearson, 2006, p. 1176. isbn: 978-8576055631. Livro-texto.

[3]

PIC
Bertrand Meyer. Object-Oriented Software Construction. Segunda edição. Bibliografia básica. Prentice Hall, 1997, pp. 1254 + xxviii. isbn: 0-13-629155-4.

8 Avaliações

A avaliação será feita por um conjunto de provas escritas, um conjunto de trabalhos práticos, e um conjunto de listas de exercícios. A tabela a seguir enumera as atividades de avaliação previstas, com os respectivos pesos na formação da nota final, e datas de realização.





avaliação peso data assuntos




Prova 1
8
06/04/2015 (segunda-feira)



Prova 2 17/06/2015 (quarta-feira)



Prova 3 01/07/2015 (quarta-feira)



Trabalhos 2




Exame especial 10/07/2015 (sexta-feira) De acordo com a resolução CEPE 2.880




As atividades deverão ser submetidas através do site da disciplina no sistema Moodle do DECOM: http://www.decom.ufop.br/moodle/course/view.php?id=340

9 Código de honra do aluno

Este assunto deve ser muito simples. Não entregue trabalhos de outra pessoa como sendo seus, e não compartilhe suas soluções com outros alunos.

Você deve se sentir livre para discutir os problemas propostos e os projetos de programação com os colegas, mas todo trabalho que você submeter ao professor deve ser de sua própria autoria. Ou seja, você deve elaborar suas próprias soluções para os problemas e implementar seus projetos de programação você mesmo.

Se você discutir suas idéias com outros estudantes, não tem problema, mas faça uma observação sobre o mesmo na submissão do seu trabalho.

As atividades propostas são para trabalho individual.

10 Grupo de discussão

Existe um grupo de discussão sobre o conteúdo da disciplina no Google Groups que deverá ser utilizado ativamente pelos alunos, professor e monitores durante o curso.

O professor e os monitores poderão propor questões para discussão no grupo, bem como problemas para serem resolvidos.

Caberá aos alunos discutir as questões e problemas propostos, apontando soluções básicas e/ou soluções alternativas ou comentando o assunto. Os alunos poderão também propor algum problema ou levantar alguma questão para discussão que julgarem interessante.

O endereço do grupo de discussão é http://groups.google.com/group/bcc221.

Cada aluno deverá se inscrever imediatamente no grupo e começar a participar das discussões.

11 Ferramentas

Nas aulas serão utilizadas as linguagens C++ e Java para desenvolver os conceitos de programação orientada a objetos.

12 Aulas







#
Data
Assuntos

Atividades







1 23/02/2015 Seg 0. Apresentação do curso







2 25/02/2015 Qua 1. Conceitos da Programação Orientada a Objetos







3 02/03/2015 Seg (Continuação)







4 04/03/2015 Qua (Continuação)







5 09/03/2015 Seg (Continuação)







6 11/03/2015 Qua 2. C++: Primeiros Passos







7 16/03/2015 Seg (Continuação)







8 18/03/2015 Qua (Continuação)







9 23/03/2015 Seg 3. C++: Classes e Objetos







22 18/05/2015 Seg Projeto: caixa automático
Projeto: empregados
Projeto: folha de pagamento
C++: Herança
C++: Polimorfismo
C++: Exceções
C++: Genéricos, STL
C++: Arquivos







23 20/05/2015 Qua Java: Introdução
Java: Métodos de classe, Math, Sobrecarga, Composição, Enumerações, Pacotes
Java: Herança
Java: Polimorfismo, Interfaces
Java: Insterfaces Gráficas com Swing
Java: Tratamento de Exceções
Java: Genéricos, Coleções







24 25/05/2015 Seg (Continuação)







25 27/05/2015 Qua (Continuação)







26 01/06/2015 Seg (Continuação)







22/06/2015 Seg Programas de exemplo em Java:
Projeto: Caixa Automático
Projeto: Exemplos
Projeto: Hello World from JavaFX
Projeto: Tax Calculator







24/06/2015 Qua Sua primeira aplicação em JavaFX usando Eclipse
Controles Básicos de Interface I
Gerenciadores de leiaute básicos I
Controles Básicos de Interface II
Gerenciadores de leiaute básicos II
Tratamento de Evento Simples e o Botão
Java Platform, Standard Edition (Java SE) 8
Tutorial JavaFX 8 (Português)







13 Exercícios




#

Assunto




1

Conceitos Básicos e UML




2

Programando em C++




3

Programando em C++: Polimorfismo e Ligação Dinâmica




4

C++: Classes, Objetos, Métodos, Sobrecarga, Funções Amigas




5

C++: Herança




6

C++: Polimorfismo e Exceções




7

C++: Genéricos




8

Java: Programando em Java




9

Java: Classes e Métodos




10

Java: Herança




11

Java: Polimorfismo




12

Java: Tratamento de Exceções




13

Java: Genéricos, Coleções




14 Trabalhos




Assunto

Trabalho

Data entrega



POO

Interpretação de uma linguagem super simples
Sintaxe.java

03/07/2015



15 Notas e frequências

Resultados de avaliações e frequências

Última atualização: 2015-06-30 20:23:13 por José Romildo Malaquias.