Laboratório de Programação II (EC)
Turma 490 - Prof. Marcelo Cohen

Acesso ao Moodle

Próximas aulas:


23/05/2012 [QUA CD] - Classes abstratas (Laboratório - 309)
28/05/2012 [SEG AB] - Templates e STL (Laboratório - 309)

Programa da Disciplina

Ementa

Linguagem de programação imperativa e bloco-estruturada: subprogramas, recursividade, arquivos, tipos de dados estruturados, alocação dinâmica de memória. Estruturas avançadas, pré-processador, modularização. Programação orientada a eventos. Estilo de programação.

Objetivos

1. Compreender os conceitos fundamentais do paradigma de orientação de objetos;

2. Implementar ferramentas de software utilizando uma linguagem orientada a objetos;

3. Continuar os estudos em programação avançada.

UNIDADE 1: Introdução

1.1. Paradigma de programação orientada a objetos
1.2. Diagrama de classes
1.3. Origens e Características da linguagem
1.4. Ambiente de desenvolvimento e execução
1.5. Expressões e comandos

UNIDADE 2: Abstração e Classes

2.1. Conceito de abstração
2.2. Classes e instâncias
2.2.1. Atributos
2.2.2. Métodos
2.3. Encapsulamento
2.3.1. Declaração e visibilidade de atributos
2.3.2. Declaração e visibilidade de métodos

UNIDADE 3: Classes em detalhes

3.1. Relacionamentos entre Classes
3.2. Construtores
3.3. Sobrecarga
3.5. Atributos e métodos de classe
3.6. Auto-referência
3.7. Modularização (agrupamento de classes relacionadas)

UNIDADE 4: Herança e Interface

4.1. Hierarquia de classes
4.2. Classes abstratas
4.3. Polimorfismo
4.4. Conversão dinâmica de tipos

UNIDADE 5: Tratamento de exceções

5.1. Gerando exceções
5.2. Criando exceções
5.3. Asserções

UNIDADE 6: Sistema básico de E/S

6.1. Fluxos de E/S
6.2. Manipulação de arquivos

Bibliografia

Básica

DEITEL, HARVEY M et al -- C++ : Como Programar. Porto Alegre : Bookman, 2001.
SCHILDT, H. -- C++: the complete reference. Berkeley: McGraw Hill, 1998.

Complementar

JAMSA, K. -- Aprendendo C++. São Paulo: Makron Books, 1999.
SCHILDT, H. -- Schildt's Expert C++, Osborne MacGrawHill, 1996.
STROUSTRUP, B. -- The C++ Programming Language. Reading: Addison-Wesley, 1997.
ZEIGLER, B. -- Objects and systems : principled design with implementations in C++ and Java. Springer, 1997.

Avaliação

G1 = (P1 + P2 + T) / 3

Onde T é a média dos 2 trabalhos realizados ao longo da disciplina

Material de Apoio