MC102Z - Algoritmos e Programação de Computadores

InformaÇÕes Gerais

Professor: Cristianno Martins Vieira (email)

Aula: Ter: 21-23h e Qui: 19-21h; Sex: 19-21h

Atendimento: Após as aula. Para outros horários, enviem um email.

Sala: Teo: CB08(Ter) / CB10(Qui) Prt: FEM LM03 (Sex)

AvaliaÇÃo

Veja TambÉm

Avisos

17/12 Notas dos exames liberadas.
12/12 Exame marcado para dia 16/12.
12/12 Notas finais atualizadas com médias práticas.
09/12 Confira o vídeo História da Computação, sugerido por Lais Sato
09/12 Listagem de presença atualizada (acessível pelo link de acompanhamento e notas na página).
09/12 Liberadas as notas da prova 3 (acessíveis pelo link de acompanhamento e notas na página).
17/11 Listagem de presença atualizada (acessível pelo link de acompanhamento e notas na página).
17/11 Liberadas as notas da prova 2 (acessíveis pelo link de acompanhamento e notas na página).
11/10 Pontuação da lista disponível na página de acompanhamento.
23/09 Lista de exercícios para entrega liberada. Data de entrega: 05/10.
20/09 Notas atualizadas
12/09 Conferir mudanças nas datas das provas (outro feriado em data de prova).
12/09 Não haverá aulas na semana de 27-31/09
12/09 Liberadas as notas da prova 1 (acessíveis pelo link de acompanhamento e notas na página).
05/08 Consulte as datas importantes no calendário de graduação.

Objetivos

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.

Bibliografia

Básica

Schildt, H. C Completo e Total, 3a. edição, São Paulo, Makron Books, 827p. (trad. de Roberto Carlos Mayer, C: The Complete Reference, McGraw-Hill, 1995).

Complementar

Kernighan, Brian W.; Ritchie, Dennis M. C: A Linguagem de Programação Padrão ANSI, 2a. edição, Rio de Janeiro, Campus, 289p.

Links Interessantes

Ubuntu http://www.ubuntu.com/

GCC http://gcc.gnu.org/ Dev-C++ http://www.bloodshed.net/dev/devcpp.html

Exercícios

Estratégias de Recuperação

A estratégia de recuperação de conteúdo consiste em reforçar os conceitos vistos em períodos que antecedem as provas, antes que as mesmas sejam realizadas. Para isto, reservaremos duas aulas antes da prova para que isto seja feito. A recuperação consiste em tirar dúvidas do conteúdo e resolver alguns exercícios de uma lista de exercícios.

Calendário

Data Conteúdo
Slides da Aula
03/08T
Introdução à computação
05/08Q
Algoritmos: Definição e Exemplos
10/08T Variáveis, constantes e expressões numéricas
12/08Q Entrada e saída de dados
17/08T Expressões relacionais, lógicas e comandos condicionais
19/08Q Comandos condicionais II. Biblioteca math.h
24/08T Comandos de repetição I: while e do while
26/08Q Comandos de repetição II: continue, break e for
31/08T Conversão entre tipos numéricos, identação e outras dicas para programação
02/09Q Aula de dúvidas  
07/09T Feriado  
09/09Q
Prova 1 - Sala CB10  
14/09T Vetores numéricos
16/09Q Matrizes e vetores multidimensionais. Correção e entrega das provas
21/09T Strings: cadeias de caracteres
23/09Q Procedimentos e funções
28/09T Não haverá aula (lista para entrega será liberada)  
30/09Q Não haverá aula  
05/10T Procedimentos e funções: parâmetros por valor e referência
07/10Q Algoritmos de busca e ordenação
12/10T Feriado  
14/10Q Recursão
19/10T Recursão II
21/10Q Definição de tipos, registros e tipos enumerados
26/10T Apontadores e alocação dinâmica
28/10Q
Feriado  
02/11T Feriado  
04/11Q Aula de dúvidas  
09/11T Prova 2 - Sala CB08  
11/11Q Apontadores e alocação dinâmica II
16/11T Correção da prova 2  
18/11Q Arquivos
23/11T Arquivos binários
25/11Q Listas ligadas
30/11T Listas ligadas II
02/12Q Aula de dúvidas  
07/12T
Prova 3 - Sala CB08  
09/12Q Correção da prova 3  
16/12Q Exame (Sala CB10)