INF 1007 – Programação II  
Apresentação da Disciplina  
Edirlei Soares de Lima  
<elima@inf.puc-rio.br>  
Programação II  
•
•
Turma 33M  
–
Prof. Edirlei Soares de Lima <elima@inf.puc-rio.br>  
Horário das Aulas:  
–
Segunda e Quarta, das 7h às 9h  
•
•
Segunda – Aula Pratica:  
–
L270  
Quarta – Aula Teórica:  
–
L258  
Objetivos da Disciplina  
•
•
Apresentar os fundamentos avançados de uma  
linguagem de programação.  
Ao final do curso o aluno deverá ser capaz de:  
–
–
Compreender as principais técnicas de programação e algoritmos  
básicos;  
Conhecer e manipular as principais estruturas de dados.  
Esquema de Aulas  
•
•
Aulas em sala de aula (teóricas)  
Aulas em laboratório (teóricas e práticas)  
–
Monitores  
–
Listas de exercícios  
Conceitos de Referência  
•
•
Soluções conceituais (antes das implementações)  
Desenvolvimento de programas em módulos  
(programação modular)  
•
•
•
•
Encapsulamento e Reuso (TAD)  
Algoritmos e Estruturas  
Iteração vs Recursão  
Avaliação da eficiência e comparação de algoritmos  
(complexidade de algoritmos).  
Ementa da Disciplina  
•
Parte 1 - Elementos da Linguagem (P1)  
–
–
–
–
–
Ponteiros  
Vetores e Alocação Dinâmica  
Strings  
Recursão  
Tipos Estruturados  
Ementa da Disciplina  
•
Parte 2 - Algoritmos Básicos e Listas (P2)  
–
–
–
–
Vetores de Ponteiros  
Busca  
Ordenação  
Listas Encadeadas  
Ementa da Disciplina  
•
Parte 3 - Estruturas de Dados (P3)  
–
–
–
–
Módulos, Encapsulamento e TAD  
Pilha  
Árvores Binárias  
Árvores Binárias de Busca  
Software  
•
O software que será utilizado nesta disciplina é o  
Microsoft Visual Studio 2010.  
–
Você pode consegui-lo no laboratório de graduação  
(LabGrad) através do empréstimo de software, mas  
para isso você precisará estar cadastrado como  
usuário do laboratório.  
Critério de Avaliação  
media = (G1 + G2 + G3) / 3;  
if (media < 5.0) || ((G1 < 3.0) || (G2 < 3.0) || (G3 < 3.0))  
{
procedimento_fazer_g4();  
}
else  
{
printf(“aluno aprovado!”);  
}
Critério de Avaliação  
void procedimento_fazer_g4()  
{
if (G4 >= 3.0)  
media_final = (GM1 + GM2 + G4) / 3;  
else  
media_final = (G1 + G2 + G3 + (G4 * 3)) / 6;  
if (media_final >= 5.0)  
printf(“aluno aprovado!”);  
else  
printf(“aluno reprovado!”);  
}
Provas  
•
P1 – Teórica  
–
Ponteiros, Vetores e Alocação Dinâmica, Strings, Recursão, Tipos  
Estruturados  
•
•
P2 – Teórica  
–
Vetores de Ponteiros, Busca, Ordenação, Listas Encadeadas  
P3 – Teórica  
–
Módulos, Encapsulamento e TAD, Pilha, Árvores Binárias, Árvores  
Binárias de Busca  
•
P4 – Teórica  
–
Toda a matéria  
Critério de Avaliação  
•
•
G1, G2 e G3:  
–
Prova Teórica: 9.0  
–
Avaliação Pratica: 1.0  
•
Trabalho para ser realizado em laboratório e/ou para casa  
–
Não existe mais “ponto extra”.  
G4:  
–
Prova Teórica: 10.0  
Critério de Avaliação  
•
•
Avaliação Pratica:  
–
O formato da avaliação será definido em breve;  
Listas de exercícios:  
–
–
–
–
Exercícios individuais;  
Aulas praticas para a resolução dos exercícios;  
Entrega por email;  
Exercícios serão corrigidos pelo professor;  
Provas - Datas  
•
•
As datas ainda não estão definidas.  
As datas, locais e horários das provas devem ser  
sempre verificados no ciclo básico.  
http://www.cbctc.puc-rio.br/CalendarioDeProvas.aspx  
Provas  
•
•
Revisão de Prova:  
–
Por escrito no corpo da prova  
P4 Opcional:  
–
–
–
Aluno deve avisar ao professor  
Grau Final pode aumentar ou diminuir  
Aluno pode desistir após período de tolerância a atraso  
(
prova “NÃO CORRIGIR ESTA PROVA” assinada (a caneta)  
geralmente 30 min), mediante declaração no corpo da  
•
Entrega de Provas:  
–
Todas as provas devem ser devolvidas pelos alunos  
Monitoria  
•
•
Monitoria de Turma  
Monitoria Extraclasse  
–
–
–
Consultar site da disciplina para ver sala e horários  
Frequentar regularmente as monitorias extraclasses  
Esta disciplina se aprende praticando exercícios  
regularmente. Mais do que treinar novas técnicas, esta  
disciplina requer mudanças na forma de raciocinar e tomar  
decisões – o que só ocorre com a prática!  
Controle de Turma  
•
•
Presença OBRIGATÓRIA (75%)  
–
Lista de chamada  
–
Tolerância de 20 minutos de atraso  
Transferência informal não é possível  
–
Alunos não podem assistir a aulas em turmas  
diferentes das suas turmas oficiais (onde estão  
matriculados)  
–
Problemas de infraestrutura, planejamento e registro  
Cadastramentos  
•
Ativar conta no LAB-GRAD (mesmo quem já tem!)  
–
Aulas práticas  
–
Comunicação oficial do DI  
•
•
•
Ativar conta no RDC  
Cadastramento no site da disciplina  
Impressão  
–
–
RDC: 100 páginas por período  
DI: 100 páginas por período  
Comportamento  
•
•
Nas aulas práticas, usar apenas o MS Visual Studio  
Nas aulas práticas, criar projetos apenas no diretório particular do aluno  
(
crie diretório chamado “ProjetosProg2”)  
No laboratório, não levar mochilas para a bancada de computadores  
deixá-las no local apropriado)  
•
(
•
•
•
•
No laboratório, desligar a máquina após o uso  
No laboratório, salve trabalhos no pendrive, com regularidade  
Verificar regularmente sites (geral e da turma) e e-mail oficial  
Prática Extraclasse Constante (mínimo de 4h/semana)  
–
Esta disciplina se aprende praticando exercícios regularmente. Mais do  
que treinar novas técnicas, esta disciplina requer mudanças na forma  
de raciocinar e tomar decisões – o que só ocorre com a prática!  
Programação II  
•
•
•
Site da disciplina:  
–
http://www.inf.puc-rio.br/~inf1007/  
Site do professor:  
–
http://www.inf.puc-rio.br/~elima/prog2/  
Contato:  
–
–
Bibliografia Principal  
•
Celes, W., Cerqueira, R., Rangel, J.L.,  
Introdução a Estruturas de Dados – Uma  
introdução com técnicas de programação  
em C, Ed. Campus, 2004