INF 1007 – Programação II  
Apresentação da Disciplina  
Edirlei Soares de Lima  
<elima@inf.puc-rio.br>  
Programação II  
•
•
Turma 33L  
–
Prof. Edirlei Soares de Lima <elima@inf.puc-rio.br>  
Horário das Aulas:  
–
Segunda e Quarta, das 15h às 17h  
•
•
Segunda – Aula Pratica:  
–
L654  
Quarta – Aula Teórica:  
–
L150  
Objetivos da Disciplina  
•
•
Apresentar os fundamentos 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  
Resolução de exercícios  
Avaliações praticas  
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  
Vetores de Ponteiros  
Ementa da Disciplina  
•
Parte 2 - Algoritmos Básicos e Listas (P2)  
–
–
–
Busca  
Ordenação  
Listas Encadeadas  
Ementa da Disciplina  
•
Parte 3 - Estruturas de Dados (P3)  
–
–
–
Módulos, Encapsulamento e TAD  
Pilha  
Fila  
Software  
•
•
O software que será utilizado nesta disciplina é o  
Microsoft Visual Studio 2010.  
–
Você pode consegui-lo no laboratório de graduação  
(LabGrad)  
Alternativa?  
–
Dev C++ (http://www.bloodshed.net/devcpp.html)  
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, Vetores de Ponteiros  
•
•
•
P2 – Teórica  
–
Busca, Ordenação, Listas Encadeadas  
P3 – Teórica  
–
Módulos, Encapsulamento e TAD, Pilha, Fila  
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  
•
•
Listas de Exercícios:  
–
Exercícios individuais;  
–
Aulas praticas para a resolução dos exercícios;  
Avaliação Pratica:  
–
Exercícios selecionados das listas de exercícios durante as  
aulas praticas;  
–
Individualmente, cada aluno deverá desenvolver um  
complemento ou modificação para o exercício  
selecionado em um tempo limitado;  
–
–
Notas: 0 ou 5 ou 10 | Total: 1.0 na nota das provas;  
A menor nota será excluída;  
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;  
•
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 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