Curso de Extensão: Linguagem de Programação C++ (Básico)


Faculdade de Informática, PUCRS, Porto Alegre, RS

Coordenação: Isabel Harb Manssour


Instrutores: Eduardo Bezerra e Cristiane Woszezenki


bezerra @ inf.pucrs.br e cristianew @ inf.pucrs.br


Agosto / Setembro de 2005


1. Informações gerais:


Carga Horária: 20 horas/aula

Sábados: 8h30min às 12h10min

Sala 246, prédio 30

Inicio: 20/08/2005

Fim: 17/09/2005

Pré-requisito: Conhecimento e experiência prévia no desenvolvimento de programas em alguma linguagem de programação.


2. Objetivo:


Introduzir conceitos de orientação a objetos utilizando a linguagem de programação C++. Ao final do curso espera-se que o aluno tenha compreendido os conceitos fundamentais do paradigma de orientação de objetos.



3. Programação das aulas:

Obs. As aulas foram preparadas com base nas notas de aula do Prof. Eduardo Bezerra do curso de Laboratório de Programação II da Engenharia da Computação da PUCRS, e também a partir do tutorial de C++ disponível em http://www.cplusplus.com/ (visitar o site e consultar o tutorial disponível para maiores detalhes no conteúdo das aulas desse curso).

Dia 1: Sábado, 20/08/2005. “A linguagem de programação C++, visão geral”.

1.1 Organização do curso

1.2 Estrutura de um programa em C++

1.3 Variáveis, tipos de dados, constantes, palavras reservadas

1.4 Operadores

1.5 Estruturas de controle

1.6 Funções

1.7 Operador de resolução de escopo, sobrecarga de funções, templates

1.8 Class x Struct

1.9 Prática para fixação dos conteúdos

1.9.1 Apresentação do ambiente de desenvolvimento (g++, Linux)

1.9.2 Comandos básicos do Linux e resumo em uma página

1.9.3 Exercícios: utilização dos comandos básicos do Linux na prática

1.9.4 Exercícios em C++


Dia 2: Sábado, 27/08/2005. “Introdução ao paradigma de programação OO”.

2.1 Objetos

2.2 Classes (métodos, atributos e diagrama de classes)

2.3 Abstração

2.4 Encapsulamento (declaração e visibilidade de métodos e atributos)

2.5 Declaração de classes em C++

2.5.1 Exemplo de um programa OO em C++

2.5.2 Construtores

2.6 Prática para fixação dos conteúdos

2.6.1 Conceitos de orientação a objetos (abstração)

2.6.2 Programação


Dia 3: Sábado, 03/09/2005. “Mecanismo de herança”.

3.1 Herança

3.2 Separando as classes da implementação

3.3 Herança múltipla

3.4 Prática para fixação dos conteúdos


Dia 4: Sábado, 10/09/2005. “Relacionamento entre classes”.

4.1 Agregação

4.2 Prática para fixação dos conteúdos


Dia 5: Sábado, 24/09/2005. “Polimorfismo”.

5.1 Polimorfismo

5.2 Conversão dinâmica de tipos

5.3 Prática para fixação dos conteúdos


4. Material de apoio:


5. Bibliografia:

BÁSICA:

1. DEITEL, HARVEY M et al -- C++ : Como Programar. Porto Alegre : Bookman, 2001.

2. SCHILDT, H. -- C++: the complete reference. Berkeley: McGraw Hill, 1998.



COMPLEMENTAR:

1. HORSTAMANN, C. -- Conceitos de Computação com o Essencial de C++. Porto Alegre: Artmed Editora, 2003.

2. JAMSA, K. -- Aprendendo C++. São Paulo: Makron Books, 1999.

3. SCHILDT, H. -- Schildt's Expert C++, Osborne MacGrawHill, 1996.

4. STROUSTRUP, B. -- The C++ Programming Language. Reading: Addison-Wesley, 1997.

5. ZEIGLER, B. -- Objects and systems : principled design with implementations in C++ and Java. Springer, 1997.



SOFTWARE DE APOIO:

1. g++

2. Linux



Web: http://www.cplusplus.com/

 

   
   .~.
   /v\ 
  // \\ 
  /( )\
  ^`~`^linux.org