MC102 - Algoritmos e Programação de Computadores
Primeiro semestre de 2012, Turmas A e B*
Instituto de computação - UNICAMP
Conteúdo:
Docentes e informações gerais:
- Prof. Teórica: Juliana de Santi, e-mail: santi@ic.unicamp.br - (Sala IC-92)
- Prof. de Laboratório: Geraldo Magela, e-mail: geraldoms@lrc.ic.unicamp.br
- Monitor de Laboratório: Henrique Lopes, e-mail: brhenrique.fischer@gmail.com
Aulas Teóricas:
- Aulas teóricas às terças e quintas das 10hs às 12hs na sala CB08.
- Horário de atendimento às terças das 12hs às 13hs no Instituto de Computação na sala 92.
Aulas de Laboratório:
- Aulas de laboratório às segundas das 10hs às 12hs nos laboratóios SI03 e SI05.
Demais informações:
Notícias:
- 17/07: (NOVO!) Média Final (com Exame) Disponível;
- 12/07: (NOVO!) Revisão da Prova de Exame sera dia 16/07 das 12-13hs no IC, sala 85;
- 02/07: (NOVO!) Exame em 10/07/2012 - (3ª-feira) - das 10h00 às 12h00 - sala: PB06;
- 27/06: (NOVO!) Notas Finais Disponíveis.
- 23/06: (NOVO!) Para Ver a Prova 3: 26/06/2012 das 12h-13h na sala 53 do IC;
- 21/06: (NOVO!) Data do Exame dia 10/07;
- 21/06: Nova data final de submissão para o Lab. 06, dia 26/06;
- 20/06: Notas Disponíveis: nota da Prova 3, relação de bônus aplicados em P1, P2 e P3 e a Média Final sem o Lab. 06;
- 16/06: Nota dos Laboratórios encontra-se disponível!;
- 12/05: Lista 6 Disponível: lista06;
- 30/05: Nova data final de submissão 07/06;
- 29/05: Lista 5 Disponível: Lista05;
- 28/05: Prova 3: 19/06/2012 - (3ª-feira) - das 10h00 às 12h00 - *sala: PB16*;
- 20/05: Notas da Prova 2 disponíveis: Notas;
- 18/05: Lab. 05 Disponível: Data final de submissão dia 31/05;
- 17/05: Lista 4 Disponível: Lista4;
- 10/05: Lab. 04 (Funções): Data final de submissão dia 15/05;
- 02/05: Data da Prova 2: Será dia 08/05/2012 na sala PB18;
- 25/04: Lab. 04 disponível: Data final de submissão é dia 08/05;
- 23/04: Lista 3 Disponível: Lista;
- 20/04: Prova 2 (dia 08/05/2012) será na sala PB18;
- 10/04: Data Lab. 03: Data final de submissão do Lab. 03 foi adiada para dia 24/04;
- 16/04: Disponível a Nota da Prova 1: Nota;
- 12/04: Lab 02: Não é permitido o uso de funções prontas de manipulação de Strings para o Lab.;
- 10/04: Prova 1 Disponível: Prova;
- 10/04: Adição na lista de email: Para ser adicionado ao grupo da disciplina, enviar email para: mc102-ab+subscribe@googlegroups.com;
- 10/04: Data Lab. 02: Data final de submissão do Lab. 02 é dia 17/04. Não deixe para última hora!;
- 27/04: Lista de Exercícios 2: Liberada a segunda lista de exercícios;
- 22/03: Primeira Prova de MC102 dia 03/04, terça-feira das 10h00 às 12h00 na SALA PB15;
- 12/03: Lista de Exercícios 1: Liberada a primeira lista de exercícios.
Notas:
- Notas Turma A (Provas e Labs): Notas Turma A
-Obs: Nota do Lab. 02 é: Lab. 02, Lab. 03 e a Média do Lab 02 e Lab 03;
-Média (Lab.) é a média de todos os Labs, e não relaciona a nota das provas.
- Notas Turma B (Provas e Labs): Notas Turma B
-Obs: Nota do Lab. 02 é: Lab. 02, Lab. 03 e a Média do Lab 02 e Lab 03;
-Média (Lab.) é a média de todos os Labs, e não relaciona a nota das provas.
Aulas Teóricas (Slides):
- Aula 01: Introdução à programação de computadores: Slides | Slides para impressão;
- Aula 02: Hardware e software, organização de um ambiente computacional, algoritmos e linguagem C: Slides | Slides para impressão;
- Aula 03: Variáveis, atribuição e estrutura da linguagem C: Slides | Slides para impressão;
- Aula 04: Escrita, leitura e operações aritméticas: Slides | Slides para impressão;
- Aula 05: Expressões relacionais, lógicas, comandos condicionais, e o comando switch: Slides | Slides para impressão;
- Aula 06: Simulação de códigos, comandos repetitivos (while e do-while) e comandos continue e break: Slides | Slides para impressão;
- Aula 07: Maior número, soma de n números, fatorial, números primos, números de fibonacci e decimal - binário: Slides | Slides para impressão;
- Aula 08: Vetores (com exemplos), Strings (com exemplos), e informações extras: Slides | Slides para impressão.
- Aula 09: Matrizes e exemplos: Slides | Slides para impressão.
- Exemplos: Mostra Indice, Produto, Soma, Transposta, Triangular Completo;
- Aula 10: Matrizes (mais exemplos), inicializando Matrizes e Vetores e Representação de Matrizes por Linearização: Slides | Slides para impressão.
- Exemplos: Inicialização, Linearização;
- Aula 11: Funções, o tipo void, função main e protótipo de funções: Slides | Slides para impressão.
- Aula 12: Escopo de Variáveis, vetores em funções, vetores multi-dimensionais e funções e arquivos cabeçalhos: Slides | Slides para impressão.
- Exemplos: É par, Cabeçalho .h, Multiplica 2, oqImprime, Prog Principal, Soma 2, Vetor Função, Vetor Função 2
- Aula 13: Ponteiros, Parâmetros (por Valor e por referência), Ponteiros e Vetores: Slides | Slides para impressão;
- Aula 14: O problema de ordenação e Selection Sort: Slides | Slides para impressão.
- Exemplos: Selection Sort 1, Selection Sort 2;
- Aula 15: Ordenação: BubblSort e InsertionSort: Slides | Slides para impressão.
- Exemplos: BubbleSort, BubblSort-time, InsertonSort, InsertonSort-time e selectionSort-time;
- Aula 16: Tipos enumerados, registros e redefinição de tipos: Slides | Slides para impressão.
- Exemplos: exeEnum, exeStruct2, exeStruct3, exeStruct1, exeStruct4 e redefienTipo;
- Aula 17: Ponteiros para Registros/Estruturas (Exemplos com registros): Slides | Slides para impressão.
- Exemplos: Ponteiro, Ponteiro 1 e Cadastro de Frutas;
- Aula 18: Problema da Busca (busca Sequencial e binária) e Questões de eficiência: Slides | Slides para impressão.
- Exemplos: Busca-Binária e Busca-Sequencial;
- Aula 19: Introdução a arquivos, Lendo e escreveno em arquivos e exemplos: Slides | Slides de impressão.
- Exemplos: Altera Arquivo, Copia Arquivo, Mostra Arquivo, PegaSetInt1 e PegaSetInt2;
- Aula 20: Arquivos Binários: Slides | Slides para impressão.
- Exemplos: Alunos, Escreve Item, Escreve Vetor, Escreve Vetor 2 e Escreve Vetor 3;
- Aula 21: Recursão, Fatorial, O que acontece na memória, Recursão x Iteração, Soma em um Vetor e Números de Fibonacci: Slides | Slies para impressão.
- Exemplos: Fatorial, Fibonacci, Imprime e Soma Vetor;
- Aula 22: Recursão - Relembrando, Cálculo de Potências e Soma de um Vetor: Slides | Slides para impressão.
- Exemplos: Potencia1, Potencia2 e SomaVetor;
- Aula 23: Recursão - QuickSort: Slides | Slides para impressão.
- Exemplos: QuickSort e Random QuickSort.
- Aula 24: Revisão (Exemplos de recursão): Slides | Slides para impressão.
Provas disponíveis
Listas de Exercícios:
- 12/03 - Lista de Exercícios 1: Lista01;
- 27/03 - Lista de Exercícios 2: Lista02;
- 23/03 - Lista de Exercícios 3: Lista03;
26/04 - Lista de Exercícios 3 (Extra):Lista03 Extra.
- 17/05 - Lista de Exercícios 4: Lista04;
- 29/05 - Lista de Exercícios 5: Lista05;
- 12/06 - Lista de Exercícios 6: Lista06.
Laboratório:
Obs: Projetos de laboratório são INDIVIDUAIS. Como relatado no primeiro dia de aula, em casos de fraude todos os envolvidos receberão nota zero na disciplina.
Obs2: DEV C++ - Um compilador e ambiente de desenvolvimento para Windows. Seja cuidadoso(a)!! Os programas feitos no DEV C++ são ligeiramente diferentes daqueles feitos no GCC (do linux). Não esqueça de testar o seu programa nos laboratórios do PB antes de submetê-los no Susy!
Slides das Aulas de Laboratório:
- 05/03 - Aula 01: Apresentação do curso, breve descrição sobre lógica de programação, ambiente Linux (alguns comandos) e execução de programa em C: Slides | Slides para impressão;
- 12/03 - Aula 02: Apresetação do Susy, variáveis, atribuição e estrutura de programas C: Slides | Slides para impressão;
- 19/03 - Aula 03: Escrita, Leitura, Expressões, Condicionais, e como testar o seu código: Slides | Slides para impressão;
- 26/03 - Aula 04: Comandos repetitivos e aplicações, e comando break e continue: Slides | Slides para impressão;
- 02/04 - Aula 05: Vetores, String e Matrizes: Slides | Slides para impressão;
- 09/04 - Aula 06: Exemplos de Vetores, String e Matrizes: Slides | Slides para impressão;
- 16/04 - Aula 07: Inicialização de Matrizes, Linearização e Funções: Slides | Slides Para impressão;
- 23/04 - Aula 08: Escopo de variáveis, vetores em funções, arquivos cabeçalhos, ponteiros e passagem de parâmetros: Slides | Slides para impressão;
- 07/05 - Aula 09: Ponteiros (Exemplos) e Ordenação: Slides | Slides para impressão;
- 14/05 - Aula 10: Ordenação: Bubble-Sort e Insertion-Sort: Slides | Slides para impressão;
- 21/05 - Aula 11: Tipos enumerados, Registros, Redefinição de tipos e Ponteiros para Registros: Slides | Slides para impressão;
- 28/05 - Aula 12: Algoritmos de Busca (sequencial e binária) e Manipulação de Arquivos: Slides | Slides para impressão
- 04/06 - Aula 13: Arquivos Binários e Recursividade: Slides | Slides para impressão;
- 11/06 - Aula 14: Recursividade (soma de um vetor, busca binária): Slides | Slides para impressão.
Datas importantes:
- Prova Teórica (P1): 03/04/2012
- Prova Teórica (P2): 08/05/2012
- Prova Teórica (P3): 19/06/2012
- Exame: 10/07/2012
Última atualização: Prof. Geraldo, 23/06/2012.
Outras fontes de informação:
Topo