Terceiro trimestre de 2009
Turmas:
Sala do professor: S 805 (bloco B)
Email do professor: jeronimo.pellegrini ufabc edu br
22/12 -- Notas finais (exceto para alguns alunos do Luis Scott (da turma A1) -- veja comentário abaixo!) 19/12 -- Sub resolvida 17/12 -- Conceitos da sub disoníveis 14/12 -- Notas da prova de hoje (p/quem trouxe atestado) 14/12 -- Notas da P2 11/12 -- Prova 2 resolvida 05/12 -- Resolução COMPLETA (em pseudocódigo) da lista 8 05/12 -- Resolução COMPLETA (em pseudocódigo) da lista 7 03/12 -- Resolução PARCIAL da lista 8 03/12 -- Resolução PARCIAL da lista 7 03/12 -- Lista 6 resolvida 02/12 -- Lista 8 disponível 01/12 -- Resolução PARCIAL da lista 6 30/11 -- Resolução PARCIAL da lista 5 29/11 -- Pequeno resumo sobre estruturas 28/11 -- Lista 7 disponível 28/11 -- Exemplos de 30/11 já disponíveis! 27/11 -- Sexta lista de exercícios 27/11 -- Pequeno resumo de arquivos 26/11 -- P2 e sub marcadas 26/11 -- Notas de prova já revisadas 24/11 -- Um pequeno exemplo de uso de arquivos, para quem está desesperado com o projeto 23/11 -- Lista 5 disponível 20/11 -- Resumo de vetores, com exemplos em pseudocódigo, Java e Python 17/11 -- Prova resolvida 09/11 -- Lista 4 resolvida (menos o último) 31/10 -- Lista 3 resolvida 30/10 -- Exemplos de 28/10 (ainda falta) 28/10 -- Lista 4 disponível 22/10 -- Lista 2 resolvida 21/10 -- Exemplos da aula de 21/10 21/10 -- Mais um resumo (funções) 20/10 -- Segunda parte do guia Java/Python (laços PARA e strings) 19/10 -- Terceira lista de exercícios 19/10 -- Data da P1 definida (16/11) 19/10 -- A fórmula para calcular pi estava errada. Está corrigida agora (na lista 2) 16/10 -- Novo resumo, um pouco além do básico (laço "para"; strings) 16/10 -- Lista 1 resolvida 14/10 -- Pequeno guia para traduzir pseudocódigo para Java (e Python, se alguém tiver interesse) 13/10 -- Segunda lista de exercícios 07/10 -- Os exemplos agora estão em dois formatos (DOS/Unix), divididos em diretórios 07/10 -- Exemplos da segunda aula disponíveis 06/10 -- Primeira lista de exercícios 06/10 -- Um pequeno resumo de conceitos está disponível 06/10 -- Alguns exemplos da 1ª aula disponíveis em Java e Python
TODOS os alunos podem escolher o horário para a sub:
Quem precisa fazer: se você foi bem no lab (≥C) e bem na P2 de teoria, não precisa fazer a sub. Se foi mal na P2 de teoria ou se foi mal no lab, faça a sub!
Sexta, 18/12, de 10:00 a 11:40 e das 14:00 às 15:30
Terça, 15/12, de 11:00 a 12:00 ou de 15:00 às 16:00
Quarta, 16/12, de 11:00 a 12:00
Apareça na segunda 14/12 na sala de aula (com comprovante/atestado/etc)!
Com atestado, você faz a prova segunda e pode fazer a sub dia 16 também. Quem não tem justificativa faz só a sub dia 16.
A ementa oficial da disciplina é:
Noções de organização de computadores. Lógica de programação, algoritmos e programação (teoria e prática): sequenciamento de operações, decisões e repetições, modularização e abstração de dados. Processamento de vetores e matrizes.
A idéia é aprender não uma "linguagem" de programação, mas a idéia subjacente à prática de programação, independente da linguagem usada. No entanto, precisamos de alguma linguagem real para que vocês possam exercitar o que aprenderem nas aulas teóricas (notem que a prática é essencial no aprendizado da programação). Neste curso os trabalhos práticos serão feitos em Java.
Há duas notas:
N = (P + T) / 2
Prova 1: 16/11
Prova 2: 07/12
SUB: 16/12
Veja os conceitos finais:
Conceitos Básicos Organização de Computadores Linguagens de Programação Compilação e Interpretação Pseudocódigo Elementos Básicos de Programação Tipos de Dados Sequenciamento de Operações Condicional Repetição Modularização Funções e Procedimentos Objetos e Classes (noções básicas) Modelagem (noções básicas) Vetores e Matrizes
As listas de exercícios ficarão aqui:
Traduzirei, na medida do possível, os algoritmos que vimos nas aulas para Java e Python. Nem todos os algoritmos foram traduzidos, mas já há vários aqui.
Há um diretório para cada dia. Dentro deles, um diretório "dos" para DOS/Windows (se você quiser abrir no Notepad) e um diretório "unix" (para usar em Unix/Linux). Os arquivos terminando em ".py" são programas Python, e os que terminam em ".java" são (evidentemente) programas Java.
Um exemplo de uso de arquivos sem classes ou objetos.
A prova está resolvida aqui:
Os horários de monitoria (se não foram mudados) são:
2ª feira 11-12h 502 2ª feira 17-18h 503 3ª feira 12-13h 502 3ª feira 14-15h 503 3ª feira 18-19h 502 4ª feira 14-16h 504 4ª feira 18-19h 502 5ª feira 13-14h 501 5ª feira 16-18h 506 6ª feira 14-15h 703 6ª feira 16-17h 502
Estes livros podem ajudá-los nas aulas práticas (mas falem também com seu professor de laboratório).
O livro do Deitel anda bem devagar. O do Flanagan é bom como referência.