Processamento da Informação

Terceiro trimestre de 2009

Turmas:

Sala do professor: S 805 (bloco B)

Email do professor: jeronimo.pellegrini ufabc edu br

Novidades:

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

DOIS HORÁRIOS PARA SUB

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!

REVISÃO DA SUB

Sexta, 18/12, de 10:00 a 11:40 e das 14:00 às 15:30

REVISÃO DA P2

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

QUEM PERDEU UMA PROVA (COM JUSTIFICATIVA):

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.

Ementa

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.

Avaliação

Há duas notas:

N = (P + T) / 2

Prova 1: 16/11
Prova 2: 07/12
SUB: 16/12

Veja os conceitos finais:

Programa

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

Alguns textos e recursos úteis

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

Bibliografia

Principal

Sobre Java

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.