MC102 - ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES IC-UNICAMP
PROFESSOR: ALEXANDRE XAVIER FALCÃO
E-MAIL: afalcao@ic.unicamp.br
PÁGINA: http://www.ic.unicamp.br/~afalcao
SALA: IC-1, Sala 44

INFORMAÇÕES SOBRE A DISCIPLINA - TURMAS E E F
PRIMEIRO SEMESTRE DE 2015

Aulas e Atendimento

As aulas teóricas serão ministradas nos seguintes dias e horas:

As aulas de laboratório serão às

O horário de atendimento será prestado sempre depois das aulas pelo professor e todos os dias da semana das 18:00 às 19:00 na sala 351 no prédio IC-3.5 pelos monitores de MC102. Adicionamente, a monitoria das turmas E e F vai atender de 13h-14h nas segundas e quartas na sala LM03.

Programa da Disciplina $\bullet$ Organização Básica de um Ambiente Computacional $\bullet$ Variáveis, Constantes e Atribuições $\bullet$ Entrada e Saída de Dados $\bullet$ Expressões Aritméticas, Lógicas e Relacionais $\bullet$ Comandos Condicionais $\bullet$ Comandos de Repetição $\bullet$ Vetores e Strings $\bullet$ Matrizes $\bullet$ Funções $\bullet$ Escopo de Variáveis $\bullet$ Ponteiros e Alocação Dinâmica de Vetores $\bullet$ Algoritmos de Ordenação $\bullet$ Algoritmos de Busca $\bullet$ Tipos Enumerados e Registros $\bullet$ Arquivos Textos e Binários $\bullet$ Recursão

Linguagens de Programação

A linguagem de programação C será utilizada com um compilador disponível no laboratório alocado para a disciplina.

Laboratórios

Haverá de um a dois laboratórios por semana que estarão disponíveis sempre às segundas-feiras e terão prazo final para ser entregue até na sexta-feira da semana seguinte, com um prazo total de 12 dias.

Para a correção dos laboratórios, será utilizado o sistema de submissão SuSy desenvolvido pelo professor Tomasz Kowaltowski. Os laboratórios serão submetidos pela página na Internet:

https://susy.ic.unicamp.br:9999/mc102EF
Cada programa desenvolvido pelo aluno para um laboratório específico será automaticamente avaliado por este sistema em vários testes.

A nota de cada laboratório será atribuída da seguinte forma: a nota será 10 caso o programa execute corretamente em todos os testes e será 0 caso o programa execute erroneamente em pelo menos um dos testes.

Avaliação

Datas das Provas e dos Laboratórios

Referências

O professor não seguirá um livro texto específico, entretanto, os seguintes livros cobrem o que será visto em aula:

  1. P. Feofiloff. Algoritmos em Linguagem C. Campus-Elsevier, 2009.
  2. H. M. Deitel, P. J. Deitel. C - Como Programar (6a. edição), Pearson Education, 2011.
  3. B. W. Kernighan, D. M. Ritchie. The C Programming Language (2a. edição), Prentice-Hall, 1988 [Tradução: C - A Linguagem de Programação. Editora Campus, 1989].
  4. J. L. Szwarcfiter, L. Markenzon. Estruturas de Dados e seus Algoritmos (3a. edição), Editora LTC, 2010.
  5. W. Celes, R. Cerqueira, J.L. Rangel. Introdução a Estruturas de Dados, Editora Campus, 2004.
  6. N. Ziviani. Projeto de Algoritmos com Implementações em Pascal e C (3a. edição), Editora Cengage Learning, 2011.
  7. T. Cormen, C. Leiserson, R. Rivest, C. Stein. Algoritmos - Teoria e Prática (3a. edição), Editora Campus, 2012.
  8. R. Sedgewick, K. Wayne. Algorithms (4a. edição), Addison-Wesley, 2011.
  9. H. Schildt. C - Completo e Total, Makron Books, Makron Books, 1996.
  10. A. Kelley and I. Pohl. Book on C: Programming in C (4a. edição), Pearson, 2007.

Sites e downloads recomendados

Observações



Notas de Aula Notas de aula Todas as aulas
  • Aula 1 - Introdução à Computação
  • Aula 2 - Variáveis simples, atribuições e operações ma\temáticas
  • Aula 3 - Variáveis simples, atribuições e operações ma\temáticas
  • Aula 4 - Entrada padrão e saída padrão
  • Aula 5 - Comando condicional
  • Aula 6 - Estruturas de repetição
  • Aula 7 - Estruturas de repetição
  • Aula 8 - Comando switch
  • Aula 9 - Vetores
  • Aula 10 - Ordenação de vetores
  • Aula 11 - Operações com vetores
  • Aula 12 - Matrizes
  • Aula 13 - Cadeias de caracteres
  • Aula 14 - Cadeias de caracteres
  • Aula 15 - Registros
  • Aula 16 - Funções
  • Aula 17 - Funções
  • Aula 18 - Recursão
  • Aula 19 - Recursão
  • Aula 20 - Alocação dinâmica de memória
  • Aula 21 - Alocação dinâmica de memória
  • Aula 22 - Listas
  • Aula 23 - Arquivos
  • Aula 24 - Arquivos
  • Aula 25 - Sistemas e programas

    Slides do Prof. Eduardo Xavier
  • Aula 1 - Introdução à Programação de Computadores
  • Aula 2 - Variáveis, Atribuições e Estrutura Básica de um Programa
  • Aula 3 - Escrita, Leitura e Operações Aritméticas
  • Aula 4 - Expressões Relacionais, Lógicas e Comandos Condicionais
  • Aula 5 - Comandos Repetitivos
  • Aula 6 - Comandos Repetitivos
  • Aula 7 - Comandos Repetitivos
  • Aula 8 - Comandos Repetitivos
  • Aula 9 - Funções
  • Aula 10 - Funções
  • Aula 11 - Funções
  • Aula 12 - Vetores e Strings
  • Aula 13 - Ordenação por selection e por permutação
  • Aula 16 - Ordenação por inserção, busca sequencial e busca binária
  • Aula 17 - Cadeias de caracteres e matrizes
  • Aula 18 - Matrizes e vetores multi-dimensionais
  • Aula 19 - Registros
  • Aula 20 - Ponteiros
  • Aula 21 - Ponteiros
  • Aula 22 - Ponteiros e Alocação Dinâmica
  • Aula 24 - Ponteiros e Alocação Dinâmica
  • Aula 25 - Arquivos
  • Aula 26 - Arquivos
  • Aula 27 - Recursão
  • Aula 28 - Recursão
  • Aula 29 - Recursão
  • Aula 30 - Recursão


  • Listas de Exercicios
  • Lista 01
  • Lista 02
  • Lista 03
  • Lista 04
  • Lista 05
  • Lista 06
  • Lista 07


  • Alexandre Falcao 2015-03-10