Informações da Disciplina

 Preparar para impressão 

Júpiter - Sistema de Gestão Acadêmica da Pró-Reitoria de Graduação


Instituto de Matemática e Estatística
 
Ciência da Computação
 
Disciplina: MAC0321 - Laboratório de Programação Orientada a Objetos
Laboratory of Object Oriented Programming

Créditos Aula: 4
Créditos Trabalho: 2
Carga Horária Total: 120 h
Tipo: Semestral
Ativação: 01/01/2014 Desativação:

Objetivos
Introduzir os conceitos de programação Orientada a Objetos e aplicá-los no desenvolvimento de um software.
Desenvolver a capacidade dos alunos para organização, construção, teste e depuração de programas.
 
 
 
Docente(s) Responsável(eis)
86500 - Alan Mitchell Durham
84710 - Alfredo Goldman Vel Lejbman
84724 - Fabio Kon
 
Programa Resumido
Histórico.
Aspectos básicos de codificação: indentação, nomes de variáveis e outros aspectos.
Conceitos básicos de orientação a objetos: classe e objeto, atributo, operação e método.
Conceito de encapsulamento, modos de visibilidade.
Ciclo de vida de um objeto: alocação na memória, construtor e destrutor.
Ponteiros.
Tipos de dado abstrato.
Pacotes.
Conceito de herança: princípio da substituição de Liskov e redefinição de operação.
Cast.
Classe abstrata, operações e classes folha e constantes.
Métodos e atributos estáticos.
Polimorfismo: sobrecarga de operação, redefinição de operação e variável polimórfica.
Programação defensiva, exceção e tratamento de erros.
Manipulação de dados e leitura e escrita de arquivos.
Template / Generics (forma de polimorfismo).
Introdução a padrões de projeto (exemplo): herança múltipla e delegação, singleton e método fábrica.

Classes e objetos, mensagens e métodos. Subclasses: herança e polimorfismo. Classes abstratas. Estudo de bibliotecas de classes: coleções, classes visuais. Double dispatching. Projeto. O catálogo de padrões e sua aplicação. Smalltalk v5, C++, Java: classes vs tipos, tipos estáticos e dinâmicos, métodos de resolução de mensagens, metaclasses, templates.
 
 
 
Programa
Histórico.
Aspectos básicos de codificação: indentação, nomes de variáveis e outros aspectos.
Conceitos básicos de orientação a objetos: classe e objeto, atributo, operação e método.
Conceito de encapsulamento, modos de visibilidade.
Ciclo de vida de um objeto: alocação na memória, construtor e destrutor.
Ponteiros.
Tipos de dado abstrato.
Pacotes.
Conceito de herança: princípio da substituição de Liskov e redefinição de operação.
Cast.
Classe abstrata, operações e classes folha e constantes.
Métodos e atributos estáticos.
Polimorfismo: sobrecarga de operação, redefinição de operação e variável polimórfica.
Programação defensiva, exceção e tratamento de erros.
Manipulação de dados e leitura e escrita de arquivos.
Template / Generics (forma de polimorfismo).
Introdução a padrões de projeto (exemplo): herança múltipla e delegação, singleton e método fábrica.

Classes e objetos, mensagens e métodos. Subclasses: herança e polimorfismo. Classes abstratas. Estudo de bibliotecas de classes: coleções, classes visuais. Double dispatching. Projeto. O catálogo de padrões e sua aplicação. Smalltalk v5, C++, Java: classes vs tipos, tipos estáticos e dinâmicos, métodos de resolução de mensagens, metaclasses, templates.
 
 
 
Avaliação
     
Método
Provas e exercícios.
Critério
Média ponderada de provas e trabalhos práticos.
A = (P1 + P2 + E)/3, onde P1 = nota da 1a prova; P2 = nota da 2a prova; E = nota dos exercícios.
Norma de Recuperação
Uma prova prática.
 
Bibliografia
     
BUDD, T. Introduction to Object-Oriented Programming. Addison-Wesley. 3a edição, 2001.
ECKEL, B. Thinking in Java. 3a edição (revisão 4.0). Disponível em:
. 2002.
- E. Gama, R. Johnson, J. Vlissides, R. Helm, "DESIGN PATTERNS: ELEMENTS OF REUSABLE OBJECT ORIENTED SOFTWARE", Addison-Wesley, 1995.
- M. Ellis, B. Stroutrup, "THE ANNOTATED C++", Addison-Wesley, 1990.
- T. Budd, "AN INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING", Addison-Wesley, 3ed 2001.
- K. Arnold, J. Gosling, "THE JAVA PROGRAMMING LANGUAGE", Addison-Wesley, 1996.
- W. Lalonde, "DISCOVERING SMALLTALK", Benjamin Cummings, 1994.
- E. Freeman, E. Robson, B. Bates, K. Sierra, "Head First Design Patterns", O Reilly, 2004.
 

Clique para consultar os requisitos para MAC0321

Clique para consultar o oferecimento para MAC0321

Créditos | Fale conosco
© 1999 - 2024 - Superintendência de Tecnologia da Informação/USP