Universidade Estadual de Campinas
Instituto de Computação
MC102 - Algoritmos e Programação de Computadores (Turmas C e D)
2º Semestre de 2004

>> <<

Avisos Importantes

  07/01/2005 -

Notas finais de todos os alunos disponibilizadas.

  23/12/2004 -

As fotos já estão disponíveis no final desta página. O DVD também está pronto. Posso deixar com um de vocês no próximo semestre. Ou então marcamos alguma coisa pra todo mundo assistir junto.
Grande abraço a todos e boas festas!!

  14/12/2004 -

Notas da segunda prova disponibilizadas. Qualquer dúvida quanto à média final, mandar e-mail.
Semana que vem as fotos vão estar aqui. Aguardem.
Boas Festas!!

  06/12/2004 -

Notas de aula da aula 16 atualizadas.
Notas de aula da aula 17 atualizadas.
Notas de aula da aula 24 atualizadas.

  26/11/2004 -

Laboratório 8 disponibilizado.
Notas de aula da aula 24 atualizadas.

  18/11/2004 -

Definição do Laboratório 7 disponibilizada.

  17/11/2004 -

ATENÇÃO: Todas as aulas a partir de hoje serão no CB15.

  17/11/2004 -

Notas de aula da Aula 24 disponibilizadas.
Notas dos Laboratórios 5 e 6 disponibilizadas.

  10/11/2004 -

ATENÇÃO: A Coordenadoria de Graduação não permitiu a alteração da data da segunda prova pois temos que ter aula até o dia 9 de dezembro. Da mesma forma, o exame pode ser adiantado no máximo para o dia 21 de dezembro com assinatura de todos os alunos que irão fazer o exame. Sendo assim, as datas da segunda prova e do exame serão:
segunda prova: 09/12/2004
exame: 06/01/2005

  10/11/2004 -

Notas de aula da Aula 22 disponibilizadas.
Notas de aula da Aula 21 atualizadas.

  08/11/2004 -

ATENÇÃO: As notas dos alunos nos laboratórios foram corrigidas.
Notas de aula da Aula 21 disponibilizadas.

  05/11/2004 -

Definição do Laboratório 6 disponibilizada.
Prazo do Laboratório 5 estendido para 11 de novembro até às 16:00h (antes da próxima aula de laboratório). Embora o prazo tenha aumentado, o peso continua sendo 2 para o laboratório.

  02/11/2004 -

Notas de aula da Aula 20 disponibilizadas.

  27/10/2004 -

Notas de aula da Aula 19 disponibilizadas.
Explicações do uso de argumentos na função main para o Laboratório 5 disponibilizadas.

  25/10/2004 -

Notas dos Laboratórios 1, 2, 3 e 4 disponibilizadas.
Notas de aula da Aula 18 disponibilizadas.

  24/10/2004 -

Definição do Laboratório 5 alterada.

  21/10/2004 -

ATENÇÃO: A partir de 15 de novembro nossas aulas da quinta-feira serão no CB15.

  21/10/2004 -

Laboratório 5 disponibilizado.
Notas de aula da Aula 17 atualizadas.

  20/10/2004 -

Notas de aula da Aula 17 disponibilizadas.
Notas de aula da Aula 16 atualizadas.

  18/10/2004 -

Notas de aula da Aula 16 disponibilizadas.

  17/10/2004 -

Notas de aula da Aula 15 atualizadas.

  15/10/2004 -

Laboratório 4 disponibilizado.

  14/10/2004 -

Notas de aula da Aula 15 disponibilizadas.

  08/10/2004 -

Notas da primeira prova disponibilizadas.

  29/09/2004 -

Definição do laboratório 3 alterada.

  27/09/2004 -

Notas de aula da Aula 11 disponibilizadas.
Prazo de entrega do laboratório 3 estendido.

  24/09/2004 -

Notas de aula da Aula 10 atualizadas novamente.
Atualização útil para saber como acessar um vetor passado por referência à uma função usando tanto aritmética de ponteiros quanto índice de vetores.

  23/09/2004 -

Notas de aula da Aula 10 atualizadas.

  22/09/2004 -

Laboratório 3 disponível.

  21/09/2004 -

Notas de aula da Aula 10 disponibilizadas.
Notas de aula da Aula 9 atualizadas.

  20/09/2004 -

Notas de aula da Aula 9 disponibilizadas.

  15/09/2004 -

Laboratório 2 disponível.
Notas de aula da Aula 8 disponibilizadas.

  13/09/2004 -

Notas de aula da Aula 7 disponibilizadas.
Correções de exercícios da aula 6 disponibilizadas.

  09/09/2004 -

Laboratório 1 disponível.
Notas de aula da Aula 6 atualizadas.

  07/09/2004 -

Notas de aula da Aula 6 disponíveis.

  01/09/2004 -

AVISO: Não haverá aula de laboratório nesta sexta-feira 03/09. Sendo assim, qualquer dúvida que os alunos da turma D tiverem, podem comparecer na quinta.
Nesta semana não haverá laboratório valendo nota.
Bom feriado!

  01/09/2004 -

Notas de aula da Aula 5 disponíveis.
Notas de aula da Aula 4 atualizadas.

  30/08/2004 -

Notas de aula da Aula 4 disponíveis.

  26/08/2004 -

Notas de aula da Aula 3 disponíveis.
Notas de aula da Aula 2 atualizadas.
Informações sobre a disciplina (Aula 1) atualizadas.

  23/08/2004 -

Notas de aula da Aula 2 disponível.

  19/08/2004 -

Calendário alterado devido à mudança no cronograma da DAC.

  01/08/2004 -

Aqui são deixados avisos de liberação de listas de exercício, notas dos alunos, alteração de aulas, etc.
Consultem sempre.

Docente Responsável

 

Rodrigo de Oliveira
e-mail: oliveira@ic.unicamp.br (favor colocar no título da mensagem: "MC102" e o complemento conveniente)

Monitor: Wylber Polonini (ra030054@ic.unicamp.br)

Horário de Aulas e Laboratórios

 

Terça: 10:00 - 11:45 (aula teórica - sala CB16)
Quinta: 10:00 - 11:45 (aula teórica - sala PB05)
Quinta: 16:00 - 18:00 (laboratório LE21)
Sexta: 16:00 - 18:00 (laboratório LE21)

Obs.: O atendimento aos alunos será prestado após as aulas teóricas quando estes requisitarem o professor.

Ementa, Programa e Referências Bibliográficas

 

Ementa:
Fundamentos de algoritmos e sua representação em linguagens de alto nível. Estudo pormenorizado de uma ou mais linguagens. Desenvolvimento sistemático e implementação de programas. Modularidade, depuração, testes e documentação de programas.

Programa:
1. Introdução à Computação 2. Algoritmos e programas. 3. Variáveis e atribuições. 4. Comandos condicionais. 5. Comandos de entrada e saída. 6. Comandos repetitivos. 7. Procedimentos e funções. 8. Vetores e matrizes. 9. Recursão. 10. Cadeias. 11. Arquivos. 12. Registros. 13. Alocação dinâmica de memória.

Obs.: também iremos abordar ponteiros, listas ligadas e algoritmos clássicos de busca e ordenação.

Referências Bibliográficas:
Não será seguido um livro texto específico, mas o aluno deve procurar por outros livros na biblioteca ou na web. Segue alguns exemplos:

  • Azevedo, R. J. Curso de Linguagem C. Instituto de Computação - Unicamp. 2001. (disponível aqui).
  • Farrer, H.; Becker, C. G.; Faria, E. C.; Matos, H. F.; Santos, M. A.; Maia, M. L. Programação Estruturada de Computadores: Algoritmos Estruturados, Guanabara, 1985.
  • Kernighan, B. W.; Ritchie, D. M. C : A Linguagem de Programação Padrão ANSI. Rio de Janeiro : Campus, 1989. 289p.
  • Miyazawa, F. K.; Souza, C. C.; Kowaltowski, T. Notas de Aula de Algoritmos e Programação de Computadores. Instituto de Computação - Unicamp. 2001. (disponível no xerox do Instituto de Artes).
  • Wirth, N. Programação Sistemática. Campus, 1978.

Avaliação

 

Provas
Serão aplicadas 2 provas teóricas, P1 e P2. A média das provas teóricas é calculada da seguinte forma:

Caso o aluno tenha perdido uma prova, a nota do exame poderá substituir a prova faltante (desde que acompanhada previamente de um atestado) Não haverá outro tipo de prova substitutiva.
A princípio, sugere-se que as datas das provas sejam as seguintes:

05/10/2004 - Primeira Prova
09/12/2004 - Segunda Prova
06/01/2005 - Exame

Laboratórios
Os exercícios de laboratório (programas a serem desenvolvidos) deverão ser realizados individualmente e submetidos ao SuSy. Além da verificação de "cola" feita pelo programa, o monitor da disciplina ficará encarregado de checar semelhanças entre os programas. Qualquer evidência de cola será notificada ao aluno infrator com pena de reprovação direta na disciplina.
A cada semana tem-se um laboratório valendo nota. Cada laboratório tem o prazo de 1 semana para ser entregue (com exceção de alguns laboratórios maiores que poderão ter prazo de 2 semanas e que terão o dobro do peso para efeito de nota). Ao todo, serão aplicados m laboratórios valendo nota (10 < m < 14): L1, L2, ..., Lm. A nota de cada laboratório Li será calculada como segue:

A média dos laboratórios L serão calculadas como:

Média Final
A média M, antes do exame, será calculada da seguinte forma:

Caso o aluno tenha média M < 5.0, haverá um exame: E. Note a importância de ir bem tanto nas provas quanto nos laboratórios. Se P < 5.0 ou L < 5.0, o aluno já está de exame.
A nota final F será calculada como:

 

Materiais úteis para a conduta da disciplina

  Compiladores gratuitos de C para Windows:
  • Borland C 2.01: descompactando esse arquivo serão gerados 3 diretórios: disk1, disk2 e disk 3. Copie todos os arquivos desses diretórios para um mesmo diretório e depois execute o programa "install.exe".
  • MinGW: Esta página contém uma série de links para download das versões do MinGW. Até 21/07/2004, a mais recente era a 3.1.0. Procure pelo link MinGW-3.1.0-1.exe e baixe ele.

Laboratórios (notas)

 
  • Laboratório 1 - Maior segmento homogêneo (submissão via SuSy até 23:59:59 do dia 17/09/2004).
  • Laboratório 2 - Matrizes esparsas (submissão via SuSy até 23:59:59h do dia 24/09/2004).
  • Laboratório 3 - Caça palavras (submissão via SuSy até 23:59:59h do dia 08/10/2004).
  • Laboratório 4 - Maior figura (submissão via SuSy até 23:59:59h do dia 22/10/2004).
  • Laboratório 5 - Relatório de pedidos (submissão via SuSy até 16:00h do dia 11/11/2004).
  • Laboratório 6 - Palíndrome (submissão via SuSy até 23:59:59h do dia 12/11/2004).
  • Laboratório 7 - Quicksort (submissão via SuSy até 23:59:59h do dia 28/11/2004).
  • Laboratório 8 - Inserção dinâmica (submissão via SuSy até 23:59:59h do dia 05/12/2004).

Calendário

Conforme as aulas forem se desenvolvendo, serão preenchidas as datas com o correspondente assunto teórico abordado.

  19/08/2004 -

Aula 1 - Apresentação da disciplina.

  24/08/2004 -

Aula 2 - Introdução à computação (histórico, organização de computadores, termos técnicos, noções de algoritmos, compiladores e interpretadores, bits e bytes, padrão ASCII, conversão de bases).

  26/08/2004 -

Aula 3 - Introdução à computação (representação numérica, facilidades para realização de operações de adição e multiplicação com esta representação, papel dos compiladores na otimização, álgebra booleana, noções básicas de algoritmo, ciclo de desenvolvimento de um programa, história e características da linguagem de programação C, primeiro programa, formato de um programa).

  31/08/2004 -

Aula 4 - Elementos Básicos da Linguagem C (identificadores, modificadores, variáveis, constantes, instruções, operadores, prioridade sobre operadores) e Funções Básicas de entrada/saída (printf, scanf, getchar, putchar).

  02/09/2004 -

Aula 5 - Comandos de desvio (if-else-if, operador ternário, switch). Desvios simples e concatenados.

  07/09/2004 -

Feriado.

  09/09/2004 -

Aula 6 (correções de exercícios) - Comandos repetitivos (for, while, do-while). Repetições simples e concatenadas. Comparações entre as sintaxes repetitivas. Estruturas de quebra de seqüência (break, continue).

  14/09/2004 -

Aula 7 - Vetores.

  16/09/2004 -

Aula 8 - Matrizes.

  21/09/2004 -

Aula 9 - Ponteiros.

  23/09/2004 -

Aula 10 - Modularização. Uso de procedimentos e funções. Variáveis locais e globais. Passagem por referência e valor.

  28/09/2004 -

Aula 11 - Manipulação de cadeias de caracteres (gets, puts, strcpy, strcmp, strcat)

  30/09/2004 -

Aula 12 - Revisão para a prova

  05/10/2004 -

Aula 13 - Primeira Prova (notas).

  07/10/2004 -

Aula 14 - Correção de prova

  12/10/2004 -

Feriado.

  14/10/2004 -

Aula 15 - Estruturas (registros) simples e concatenadas

  19/10/2004 -

Aula 16 - Manipulação de arquivos

  21/10/2004 -

Aula 17 - Alocação dinâmica de memória

  26/10/2004 -

Aula 18 - Recursão comum

  28/10/2004 -

Aula 19 - Recursão de cauda

  02/11/2004 -

Feriado.

  04/11/2004 -

Aula 20 - Algoritmos de busca (linear e binária)

  09/11/2004 -

Aula 21 - Algoritmos de ordenação (seleção, bolha e inserção)

  11/11/2004 -

Aula 22 - Algoritmos de ordenação (inserção e quicksort)

  16/11/2004 -

Aula 23 - Correção do Laboratório 5

  18/11/2004 -

Aula 24 - Lista ligada

  23/11/2004 -

Aula 25 - Lista ligada e lista duplamente encadeada

  25/11/2004 -

Aula 26 - Revisão para a prova

  30/11/2004 -

Aula 27 - Revisão para a prova

  02/12/2004 -

Aula 28 - Revisão para a prova

  07/12/2004 -

Aula 29 - Revisão para a prova

  09/12/2004 -

Aula 30 - Segunda Prova (notas)

  06/01/2005 -

Aula 31 - Exame (notas)


Fotos e Vídeo

 

Taí algumas fotos da turma para recordações. O DVD já está pronto! É uma pena que não tenho espaço pra disponibilizá-lo aqui, mas vou deixar com um de vocês para que todos possam fazer cópias e tudo mais.
Grande abraço a todos!

 

Foto 1
Foto 2
Foto 3
Foto 4
Foto 5

Foto 6
Foto 7
Foto 8
Foto 9
Foto 10

Foto 11
Foto 12
Foto 13
Foto 14
Foto 15

Foto 16
Foto 17
Foto 18
Foto 19
Foto 20

Foto 21