mc326_1s08

MC326 1s08

Toda informação que conste aqui é dada como de conhecimento dos alunos. Por isso todo post tem data e hora. LEIAM SEMPRE.

14/07/2008 02:06

FINALIZEI AS CORREÇÕES

Confiram as notas na planilha!

Histograma das notas finais:

web hit counter

(clique para aumentar)

13/07/2008 22:16

Correção TP5

Disponibilizado em "tempo real" durante o progresso da correção, assim como as notas finais na planilha.

10/07/2008 13:51

Notas do exame e P1 atualizadas

30/06/2008 19:51

Pessoas,

Pensem no tp5 alternativo como um módulo correspondente ao indice primário, independente da base.

29/06/2008 11:49

Atualizei a planilha de notas. Adicionei uma coluna "situação", para expressar quem ficaria abaixo da média mesmo com nota máxima no TP5. Estes já estão de exame. São os seguintes RA:

    • 11594

    • 76302

    • 44238

    • 58936

    • 71853

    • 33910

    • 37378

    • 24451

Caso algum de vocês tenha escolhido fazer a P2, me avise.

26/06/2008 20:11

Uma pequena correção:

A raiz pode nao se chamar 0, desde que seja apontada pelo arquivo de nome 0. (Só para sempre sabermos qual a raiz)

26/06/2008 16:38

Correção TP4

Quem já está com >5 só poderá tirar dúvidas sobre a correção APÓS o término desta.

E eu já terminei a correção do TP3.

Confiram todas as notas na planilha... a proposito, eu aboli todos os descontos de nota por correção.

19/06/2008 23:58

Provavelmente até eu acabar este post, vcs já devem ter enviado o TP3 e TP4.

Correção TP3

TRICK: Para entender o que eu chamei de "trick", insiram o seguinte registro:

A/1/1/1/1/(....)

Removam em seguida.

Insiram:

A/5/5/5/5/(...)

Busquem em qualquer chave secundária (menos titulo) por '1'.

Sobre o TP5

A DATA DE entrega é 26/06/2008 para os alunos que ainda não foram aprovados e até dia 8/07/2008 para os que já conseguiram média >5 sem este trabalho. Esta informação pode ser consultada (sempre atualizada) na planilha de notas.

TP5 alternativo

18/06/2008 13:18

Victor: fábio... eu sei porque algumas imagens deram erro...

Fábio: fale

Victor: é porque nem todas estão em modo RGB

algumas estao em tons de cinza, indexado ou estão otimizadas

é só salvar como rgb e botar o nivel de otimização em zero

e ai ate os gifs funcionaram

Fábio: que bom...vou colocar na pagina

vlw

18/06/2008 13:01

PDF sobre b+

17/06/2008 22:11

Aula quinta, sala 303, 14h...

17/06/2008 01:26

Mais uma ferramenta:

http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging

16/06/2008 15:30

Só para reafirmar duas coisas que julguei que vocês soubessem:

  • Não considerem remoção na estrutura dos descritores (somente nela, as outras normal, com avail e tudo).

  • Deadline TPN, n<=4, 19/06/2008.

  • Deadline TP5 : 26/06/2008.

13/06/2008 01:20

Quem não corrigiu tps, não precisa mais corrigir (* Estou fazendo isso para vocês terem mais tempo - APROVEITEM).

"Recolhi" os TPs 2 e 3 para correção.

Faltam:

TP2:

      • Grupo 09

      • Grupo 26

TP3

    • Grupo 08

    • Grupo 22

    • Grupo 26

    • Grupo 27

Caso seu grupo não esteja listado aqui, significa que eu tenho uma versão do seu trabalho e pretendo usá-la para correção. Se não quiser que eu a corrija me avise O QUANTO ANTES.

12/06/2008 23:26

Os TPs 4 e 5 não precisam ser corrigidos. Só enviem diretamente para mim.

Prazo TP5 para 26/06/2008. Mandem os outros TPs o mais rápido possível, senão eu não consigo soltar notas antes da semana de estudos.

11/06/2008 01:24

NÃO USEM GIFS

10/06/2008 21:22

libimg3.zip

Algumas imagens deram problema, pois não eram do tipo correto. Fora isso, o valgrind não reclamou de nada para a função calcula_descritor. Vou conferir a computasimilaridade depois.

10/06/2008 16:49

Sobre a B+:

Eu pretendia dar uma explicada rápida na estrutura (não nas operações), mas como só 1 grupo submeteu o TP4, não adianta fazer isso agora. Anyway, Neucimar está explicando isso.

Pensem:

* Cada nó da árvore é um arquivo,

* Os apontadores são nomes de arquivos,

* Os nós "tronco" e folha são semanticamente diferentes,

* Sim, existirão MUITOS arquivos. Quem quiser colocá-los num subdiretório, é aconselhável.

* O nó raiz pode ficar em memória.

* Usem o mínimo de nós possível simultaneamente, ou seja, raiz + 1 durante busca. Nas demais operações, usem o mínimo necessário.

* Exclusão não é opcional.

Outra coisa:

* Muitos não levaram meu pedido de e-mail semanal de status a sério. Não precisa mais. Boa sorte com os trabalhos e cuidado com os prazos.

10/06/2008 16:45

A libimg tem bugs, os mais atentos já perceberam. A especificação dos formatos usados não é trivial e eu já esperava que ela não funcionasse com algumas variações dos formatos.

Se isso acontecer, tente: (e me informe, para eu fazer o mesmo - ou envie um script que faça)

* converter a imagem para outro tipo e retornar:

=> convert bla.jpg bla.bmp; convert bla.bmp bla.jpg

* converter para outro tipo usado, preferencialmente png (ou o que esteja funcionando melhor com vocês).

=> convert bla.jpg bla.png

* Copie uma imagem que funciona por cima da problemática.

Não sofram ou percam tempo com isso.

Caso nenhum desses passos resolvam os problema, reportem os erros para victor.matheus@gmail.com, com cópia para mim.

05/06/2008 17:11

O conceito de chave primária (e todas suas consequências) eram o objetivo principal do TP2. Por isso, violações de chave primária descontam 3 pontos.

Não aceitarei contra-argumentos neste caso.

05/06/2008 16:28

numeros mágicos = tudo que deveria estar em defines, como nomes de arquivo, por exemplo. Claro, se vc usa esse nome em um único lugar, não há necessidade, mas se ele é repetido pelo código, deveria estar em define. No TP2, a ocorrência disso vale 1 ponto. Em um caso extremo, descontei 1,5.

05/06/2008 16:27

Sei que agora pode estar meio tarde para isso, mas olhem, aprendam e guardem. Usem isso nas próximas disciplinas.

Eclipse + SVN + Doxygen

05/06/2008 12:40

Como o Neucimar mal começou B+, o prazo do TP5 vai até dia 26/06, DESDE QUE vocês entreguem o TP3, no máximo, no dia 12/06 e o TP4 no dia 19/06. Não tem como corrigir 3 tps de todo mundo em um final de semana...

Mandem o quanto antes o que estiver pronto....

04/06/2008 23:09

Correção TP2 (sendo feita)

02/06/2008

FALTAM 3 SEMANAS PARA O DEADLINE DOS TPS.

E lembrando pela n+1 vez, o deadline é imutável. O que significa que, 00:00 do dia 20/06 => 0. E 0 em TP=> exame. Não corram esse risco.

22/05/2008 23:15

Nova versão da libimg!

libimg v2

21/05/2008 18:47

Caso alguém mais tenha problemas com a imagem 210017.jpg, substituam ela por alguma outra imagem que não capote a libimg.

21/05/2008 18:31

Só para constar: O PESO DOS TPS NÃO É IGUAL.

Não é justo dar o mesmo peso ao tp1 e ao tp5... Os pesos ainda não foram decididos, mas serão proporcionais ao trabalho demandado.

21/05/2008 15:51

Fabio,

Coloque na pagina que eu estarei na minha sala, 43, das 12:00 as 13:30, na proxima 3a-feira, disponivel para

quem quiser ver a prova.

Grato,

Neucimar

NOTAS P1

Média 5, com desvio padrão 2.7? Ainda bem que vocês podem re-submeter os trabalhos ein! :)

19/05/2008 21:31

Pessoas,

Acabo de atualizar a planilha, descontando nota, conforme prometido, dos grupos que não me enviaram e-mails de status.

Como a grande maioria corre um sério risco de se enrolar, eu quero e-mails semanais, vencendo toda quinta-feira, com o status do grupo. Detalhes importantes:

* E-mails sem identificação do número do grupo serão desconsiderados. Assim como sem [MC326] no assunto.

* O não envio implica em desconto de 0.5 no TP4. Por semana.

* Comecarei a corrigir o TP2. Quem quiser re-enviar, me avise. Os que já enviaram devem estar com um W na planilha.

* Os prazos são inadiáveis.

* Erros críticos, apontados pelo grupo corretor mas não corrigidos poderão sofrer desconto dobrado de nota.

Eu também notei o baixo volume de commits... afinal, 1 semana sem nenhum grupo commitar nada é incomum. Não pensem que haverá algum "jeitinho" ou chance após o deadline. Se não entregar, ou não compilar, a nota será ZERO.

O motivo desta mudança de método é dar chance a todos realizarem todas as tarefas devidas, não tirar nota. Eu quero que vocês aprendam, mas as regras são sérias. Não transformem esta oportunidade em problema, por favor.

17/05/2008 11:40

Pessoas,

Muitos de vocês mal começaram o TP4. Devo dizer que o deadline sugerido é dia 22, ou seja, na minha opinião, vocês precisam do dia 22 até a entrega do tp5 para fazer o TP5. Juntar isso com o TP4 é pode ser MUITO PERIGOSO. Sejam responsáveis, pois o deadline é inadiável, imutável e preciso. 00:01 do dia 20/06 as submissões estarão fechadas, quem não tiver enviado ainda, ficará com zero.

IMPORTANTE:

Para as pessoas/grupos que receberam um aviso meu de "cuidado, vc pode se enrolar", ou seja, que mal começaram o TP4, eu quero um e-mail por semana com o status do trabalho. O não-envio deste descontará 0.5 POR SEMANA na nota do tp4.

16/05/2008 23:44

Como vários de vocês não conseguem acessar esta página, eu fiz um mirror (que fica com caracteres zuados) em:

http://www.students.ic.unicamp.br/~ra015988

E, quem não me enviar o mail do post abaixo, perde 0.5 no tp2.

Fábio

09/05/2008 21:54

ATENÇÃO

Até o dia 18/05/2008 eu quero um mail de cada grupo enviado para mim, contendo:

* Componentes do grupo, se alterados (trancamentos e etc)

* Status atual de todos os trabalhos pendentes. Mesmo que seja "não fizemos nada, mas pensamos e sabemos como fazer", etc.

Sejam disciplinados e não me obriguem a atribuir desconto de nota para quem não enviar. :)

07/05/2008 19:51

Me enviem novamente os componentes (e numeros de cada grupo).

Além disso, quem quiser, pode entrar em um novo esquema para a submissão.

Regras:

1) Estar ciente que a (única) data de entrega é completamente inadiável. E completamente significa completa e totalmente. INADIÁVEL.

2) Ter o consentimento do grupo corretor.

Benefícios:

1) Pode re-submeter o tp2, até a entrega da correção dp tp5 (desde que, me avise antes, para eu nao corrigir o 2. Se eu corrigir, já era.)

2) Pode submeter o tp3/tp4/tp5 até a entrega da correção do tp5.

3) Por submeter, entenda-se eu receber, no meu e-mail, trabalho original e correção, devidamente feitos, enviados no prazo.

Percebam que, pode ser uma faca de dois gumes. Se bem aproveitado, pode significar 10 em todos os labs (>=2). Se usado com irresponsabilidade, pode se transformar em necessidade de tirar 10 no exame. Sejam responsáveis. Eu quero que vocês tirem 10, me ajudem a fazer isso.

03/05/2008 21:49

Uma versão um pouco menos fora de padrão do arquivo base00.dat.

base00.dat - sem imagens

Acredito que, a essa altura do campeonato, todos já sentimos na pele os problemas gerados por fugas do padrão/especificação, certo?

29/04/2008 20:05

Experimentos do google

28/04/2008 01:38

Vou desconsiderar o exercício de quinta passada. Poucos conseguiram acabar, menos ainda acertar. Vou disponibilizar um gabarito, espero que, terça feira. Estarei viajando na segunda, talvez vocês não em achem online.

25/04/2008 22:03

base00.dat sem duplicatas agora. Todavia, ainda existem imagens duplicadas....

24/04/2008 20:45

"A migué do 10" (não achei nome melhor que esse)

    • É extra aos tps... não precisa funcionar na entrega do tp4 ou tp5, por exemplo.

    • Vocês terão que modificar/inventar o procedimento de busca por conteúdo.

    • Não existe obrigatoriedade de uso de nenhuma estrutura específica.

    • Sejam criativos.

    • Cada caso será julgado separadamente. Por exemplo, se sua média já é 9.9, você precisa fazer muito pouca coisa para merecer um 10. Já se sua média for 5, terá que trabalhar mais. Nada impossível, também.

    • A solução deve obedecer os preceitos de manipulação de dados vistos na disciplina.

O que fazer?

Vocês fatalmente terão que usar um descritor, que não precisa ser binário e pode ser qualquer coisa que vocês queiram, para representar a imagem. Pesquisem na literatura, inventem, etc.

A partir disso, temos que ter um jeito eficiente de fazer as comparações, evitando operações desnecessárias. Usem qualquer estrutura que quiserem, inclusive outras linguagens (c++, python, java, etc). O programa não precisa ter todas as funcionalidades dos TPs.

Me mantenham informado sobre as idéias de vocês.

24/04/2008 12:22

Tarda mas não falha:

Base de dados grande (50Mb)

ps: já olharam o calendário hoje? :)

23/04/2008 15:29

TP4 e TP5 versão beta

22/04/2008 01:50

Coloquei no ar a primeira versão da libimg, que vocês usarão nos próximos trabalhos. Assim que acabarem o TP3, eu aconselho que vocês testem se ela compila nas máquinas de vocês. Tem um exemplo dentro do zip.

libimg.zip

Lembrando: Não faltem quinta e estejam preparados para um exercício valendo 2 pontos do TP4.

19/04/2008 12:55

Só resumindo posts que já estavam aqui antes, pra evitar confusões:

    • RAM não precisa de avail list. Idealmente existem 5 avail lists, 1 para o dat, outras 4 para as listas invertidas dos indices secundários.

    • Ao usar chaves primárias, podem assumir que ela tem o tamanho de chave primária, não precisa trabalhar com tamanho variável para pks.

    • Os indices secundários são independentes.

    • Particionem corretamente o código.

    • Não usem variáveis globais, ou passem por parâmetro uma estrutura gigante contendo mais dados que os necessários para cada escopo.

    • Não sofram com bugs. Me procurem se tiverem dificuldades.

19/04/2008 01:46

Pessoas,

Analisando os questionários, conversando com os alunos e olhando as entregas do TP2, conclui que o sistema atual de trabalho práticos não está funcionando como deveria. Se mantermos este sistema, as coisas não serão agradáveis nos próximos trabalhos.

Enfim, depois de muito refletir a respeito, acho que cheguei a um sistema que pode funcionar. Falarei mais a respeito na aula de quinta. O que vocês devem saber é: 2 pontos do próximo trabalho serão atribuídos a uma atividade a ser realizada E entregue em sala. Pelo menos um aluno de cada grupo (a atividade será por grupo) deverá comparecer, munido de papel e caneta.. Pode ser rascunho, folha de caderno, etc... Mas estejam lá. E não tenham medo. :)

17/04/2008 15:05

Avail list:

Quando temos estruturas em disco (como o .dat, como as listas invertidas), não é viável "puxar" todo mundo pra frente durante uma remoção. Também não é uma boa idéia deixar espaços não utilizados no meio do arquivo. Pra isso se usa a lista de livres (avail list). Quando se faz uma inserção, coloca-se o novo elemento em um espaço branco, se existir.

A avail list sempre aproveita espaço do banco, vc nunca aloca mais espaço pra ela.

Ou seja, listas de livres estão associadas sempre A ESTRUTURAS EM ARQUIVO. Ram não precisa de avail list.

16/04/2008 19:19

Lembrete: Caso o trabalho seja enviado após o prazo combinado (minha sugestão é algo sempre maior que 1 dia) com o grupo corretor , o corretor tem o direito de não corrigir o trabalho, ocasionando desconto de nota ao desenvolvedor.

Indo além, caso o corretor resolva corrigir, mesmo se sentindo prejudicado pela demora na entrega, terá desconto de nota se não fizer adequadamente a correção, ou seja, "tivemos uma hora para corrigir" não fará vocês não perderem nota.

Resumindo: Não deixem pra última semana, nem pra penúltima. Se perderem mais do que meia hora com algum bug ou segfault, ME PROCUREM... é pra isso que estou aqui, quase full-time (depois do meio dia, claro)...

16/04/2008 18:03

Seguindo nosso calendário (no link "Google Agenda", no menu esquerdo), nossa próxima aula presencial será a apresentação do TP4 na semana que vem, dia 24. Seguindo o mesmo calendário, a entrega da correção é dia 01.

14/04/2008 15:03

ATENÇÃO

Da série "Eu erro bastante" ou "Não publique nada com sono":

Felipe :mas no disco nos temos a PK e a posicao do proximo, mais nada...entao a PK teria tamanho variavel?

8-)

14/ 04/2008 11:20

Slides sobre avail list e indices secundários

Fiz esses slides para o TP3 do ano passado. Todas as idéias gerais se aplicam. Vale mais pelos desenhos de como opera a avail list e os indices.

Não vou tirar dúvidas relativas a estes assuntos de quem não tenha lido este arquivo. :)

14/04/2008 03:02

Citando: <errado>

"Conversei com o Fabio Dias hj sobre a avail list dosíndices secundários.

Pra não perder pontos na nota, os registros do índice secundário devem ter tamanho variavel (pra não desperdiçar espaço no disco), na hora de inserir um novo registro, é preciso percorrer a avail list procurando um espaço que caiba o registro a ser inserido.

O problema eh q essa busca implica em mto acesso ao disco pra ler o tamanho do espaço e toda a dificuldade de inserção no meio de uma lista. (nota by F: Sem contar as politicas de uso de espaço)

Diante disso, o Fabio disse q pode-se usar uma lista ligada ordenada na memória para a avail list dos indices secundários. Ai fica mais facil descobrir a posição onde inserir o registro.

Então, no caso da avail list dos indices secundários, fica a nosso critério se será uma lista na memória ou não (soh não sei se alguém ainda vai querer o jeito mais complicado)(nota by F: Se já estiver pronto, por exemplo).

No caso da base de dados não muda nada: eh uma lista invertida em disco."

</errado>

13/04/2008 02:38

O calendário de liberação/entrega foi alterado. Olhem e, se for para dizer algo, façam logo. Aula presencial na 303 somente na semana que vem, dia 24/04, na LIBERAÇÃO do TP4.

Lembrem-se: Vocês podem enviar ANTES DA DATA LIMITE.

11/04/2008 13:36

Já havia me esquecido. Eu quero, no minimo, uma pessoa de cada grupo no meu gtalk. Quem já tiver me adicionado, me mande o numero do grupo numa mensagem, quem nao tiver, adicione e mande também. Pra ontem ;P

11/04/2008 13:20

Dei uma passada rápida de olho nos questionários... Aparentemente, o problema mais recorrente, por incrível que pareça, é divisão desigual de trabalho.

Usem SVN e me adicionem ao grupo de desenvolvimento. Não gostaria ter que colocar svn como obrigatório....

Outra reclamação bastante comum era que vcs fazem muitas matérias e não dá tempo, etc etc etc. Isso não tem solução. Vocês tem que se organizar pra conseguir fazer tudo que pegaram. MC326 dá trabalho, sempre, independente do semestre ou professor.

Assim que eu tabular as respostas eu posto aqui. Até lá, boa sorte com o TP3, que não terá adiamento. :)

E como somente uma pessoa se manifestou contra o atendimento online, ele foi aprovado. Justamente por isso, estarei disponível sempre, não somente naquele horário. Se estiver online no gtalk (mesmo no status vermelho), vcs podem me contactar.

Se eu estiver demorando pra responder, não se preocupem, assim que eu puder eu respondo. Se eu estiver ocupado com algo urgente e inadiável, eu aviso.

10/04/2008 21:00 FAQ ATUALIZADA

Pessoas: A avail list é uma lista invertida em disco, dentro do .dat, usando os espaços dos registros apagados. Ela não deve ser carregada em RAM inteira, ela não deve ficar só no final/começo do arquivo.

Carregar avail list inteira na ram => 0 no tp. :)

10/04/2008 13:59

gdb quick reference card (pdf)

07/04/2008 15:36

Quando forem usar o valgrind, recompilem SEM o electric fence. Ele pode mascarar os resultados.

07/04/2008 11:12

Como eu disse em aula, toda comunicação entre os grupos, relativa a matéria, devem passar por mim também.

Isso significa que, se o grupo estiver do seu lado no IC, vocês tem 2 escolhas:

    • Mande um mail pra eles, com CC pra mim.

    • Converse com ele e mande um "relato" da conversa por e-mail pra mim, com cópia pra eles.

Eu recomendo a primeira.

07/04/2008 01:50

Submissões TP2 ENCERRADAS.

Grupos 23, 26 e 27. Vocês tem, se quiserem, +1 semana, descontando 2 pontos na nota. Me avisem da decisão de vocês.

06/04/2008 15:09

Recebimentos Atualizados na planilha. T= Somente trabalho C= Trabalho e correção

06/04/2008 01:44

Farei chamada na próxima aula. Não faltem. Sala 303, máquinas desligadas, como sempre :P .

03/04/2008

Para edição em latex, no windows, eu recomendo o texnic center. Um exemplo (meu) de fonte em latex:

exemplo_latex.zip

03/04/2008

Não tem nota de teste na ementa. Não haverão testes valendo nota. No dia do resumo, vou pedir pra entregarem um exercício, somente para saber o nível de vocês.

02/04/2008 23:32

Atendendo a pedidos motivados pela prova de cálculo sexta:

NÃO HAVERÁ AULA amanhã. (03/04/2008)

  • Estarei online no gtalk (fabio.dias@gmail.com) para dúvidas o dia todo (depois das 12h, claro), mas garantidamente das 14h as 16h.

  • Essa aula será reposta, para os que puderem, na próxima quinta, das 16h as 18h na palestra do GPSL na sala 301. Estou tentando convencer os palestrantes a falar, além de SVN, de doxygen também.

  • Quem usar algum tracker SVN ganhará 0.5 pontos de bônus no TP. (Precisa mandar os stats do svn pra eu ver que está realmente sendo usado).

  • Quem usar doxygen ganhará 0.5 pontos de bônus no TP. (Anexe a documentação gerada no relatório - não substitui o relatório todo)

  • Quem fizer o relatório em latex, ganhará 0.5 pontos de bônus no TP. (Mande os fontes).

02/04/2008

Levem folha e caneta na aula de quinta. Sem isso vocês não conseguirão entregar o exercício que faremos.

31/03/2008

Aparentemente, somente -g não está funcionando do jeito que eu achei que funcionaria. Troquem -g por -ggdb.

31/03/2008

Deadline correção TP2: 06/04/2008

27/03/2008 17:21

Quem tiver feito as PKs com lista ligada OU com vetor dinâmico alocando +1 por vez OU vetor estático grande, entre em contato comigo. Vamos transformar isso em vetores dinâmicos "dobrantes" com busca binária para o TP2. Prazos negociáveis.

ps: Se vc tem outro problema, mas acha que merece o mesmo tratamento, entre em contato.

26/03/2008 20:15

Atenção: C não inicializa variáveis.

26/3/2008 17:55

Não realoquem memória para incrementar 1 no tamanho do vetor. realloc/malloc e free são extremamente lerdos.

Começem com um valor grande, como 20 e, quando necessário, DOBRE o tamanho. Assim não fica tão lerdo.

26/03/2008 14:51

TP3 - Versão beta não oficial

Neucimar ainda não aprovou este TP, portanto ele pode sofrer alterações. O oficial será liberado na aula de quinta. Coloquei ele aqui simplesmente para vocês saberem para onde estamos indo.

26/03/2008 12:37

ATENÇÃO

Desde que a correção do TP2 esteja no meu e-mail, junto com o trabalho, até 14h do dia definido para a data final de correção, o trabalho será aceito.

Combinem um deadline de entrega com seu grupo corretor.

Lembrando que uma correção incompleta também desconta nota.

Isso é uma chance de adiamento. Aproveitem.

25/03/2008 22:08

gdb_emacs_vim.pdf

25/03/2008 17:32

Da série "vocês deveriam saber desde MC102":

Ajuda para LibC por Felipe Bergo

25/03/2008 17:20 FAQ Atualizada

Vetor estático para a estrutura de chaves primárias => 0 no TP

25/03/2008 16:07

Não deverá existir NENHUM html na submissão. Seu programa deverá ser capaz de criá-los, através de uma opção.

25/03/2008 15:15

Se existir a estrutura de indice primário (e ela deve, pois mesmo que não exista, será criada no inicio do programa), nenhum acesso ao .dat será direto. Antes de acessar, devemos saber ONDE acessar usando as chaves. Não é permitido acesso "direto" ao .dat. (Afinal, pra que serviriam as chaves se fizessemos isso?!)

25/03/2008 00:35

Caso não exista seu arquivo de indice (tanto primário quanto secundário), mas exista uma base, o indice deverá ser criado.

Para o TPX, X>=3, juntaremos as bases de dados de todos os grupos.

24/03/2008 18:54 - FAQ ATUALIZADA

Busca binária != atributos binários

Conselho: bsearch/qsort, mas cuidado com os parametros, são diferentes.

24/03/2008 17:53

Notas do TP1 na planilha.

Reclamações/dúvidas/sugestões sobre as notas e correção SOMENTE POR E-MAIL. Não vou discutir a correção na aula de quinta feira.

24/03/2008 13:54

Makefile para os próximos TPs (2-5):

    • make sem nenhum parâmetro deve compilar o trabalho prático, com as opções -g -ansi -pedantic -Wall -lefence.

    • make clean deverá ser feito também, apagando os arquivos .o e o executável.

Identação:

    • Em caso de dúvidas sobre identação, usem a auto-identação do emacs.

Prazos:

    • Confiram os prazos para os próximos TPs na minha googleagenda. Link no painel esquerdo.

Notas TP1:

    • Alguns trabalhos ficaram com 10, pois não tiveram nenhum erro.

    • Os outros terão a nota computada posteriormente.

    • Parabéns ao grupo 14 pelo trabalho mais bem feito, incluindo correção e "conjunto da obra". Muito, muito bom mesmo.

23/03/2008 04:56 ( o massa acaba de rodar!)

Relatório de similaridades entre as submissões do TP1. Descompactem e abram o html (rel.html).

sim.zip

23/03/2008 02:04

Não se deve ficar abrindo e fechando arquivos!

22/03/2008 21:48

Consultas:

    • Resultados somente no HTML. Nunca na tela.

    • HTML sobrescrito a cada consulta (vou dar alt+tab para o firefox para ver o resultado)

    • HTML contendo as imagens e todos os dados.

    • Somente por chave primária inteira. No TP2 não se faz busca por palavra.

22/03/2008 18:30

CARREGAR O DAT TODO NA MEMÓRIA = 0 NO TP.

A estrutura de chave primária ficará (neste TP) na memória. Mas a base de dados NUNCA.

Para imprimir o resultado de uma consulta, você busca a posição (NRR) na estrutura em RAM (neste tp), acessa o dat, lê o registro correspondente e só.

Para consultas com mais de um resultado, lê-se um por vez. (listar todos os registros)

22/03/2008

    • Todo .c (que não contenha a main) deve conter um .h associado com as definições de funções.

    • Todo .h deve ter comentários sobre as funções (e estruturas) definidas. Assim não precisa olhar o .c durante o desenvolvimento.

Correção do TP1

Estou fazendo. Vocês podem acompanhar o progresso "em tempo real". Reclamem (por mail) se discordarem.

21/03/2008

Organizei o calendário com as atividades de labs de 326. Se alguém tiver as datas de prova, por favor me envie.

21/03/2008

Adicionei uma FAQ para as perguntas que recebo. Os "perguntantes" não são identificados e a página pode ser encontrada através do link no painel esquerdo.

19/03/2008 23:59

ATENÇÃO

    • Não mudem o título do e-mail. Isso gera outra "thread" e bagunça tudo.

    • Enviem como resposta no e-mail que enviou o trabalho que vocês estão corrigindo, NÃO NO QUE VOCÊS DESENVOLVERAM.

    • O prazo está ACABANDO. Não deixem para a última hora o TP2 também.

    • Novamente, não deixem para a última hora. Quem não receber o trabalho que deve corrigir, deve me procurar E o grupo envolvido assim que acabar o prazo de desenvolvimento. Não aumentarei o prazo de correção quando me avisarem na última hora que não receberam o trabalho.

    • SEJAM RESPONSÁVEIS.

19/03/2008 17:22

IMPORTANTE

O relatório de correção deve ser enviado como "reply to all" (responder para todos) na mesma mensagem da submissão do TP.

Deste jeito, o trabalho e a correção ficam na mesma thread E o outro grupo também recebe.

CORREÇÃO FORA DE PADRÃO => 0 NO TP

PS: vide aviso do dia 12.

18/03/2008

Comentários importantes:

    • As chaves primárias devem ser salvas em disco no final da execução do programa E carregadas no início deste.

    • O formato do arquivo que salvará as chaves primárias será definido pelo grupo E explicado no relatório E julgado na correção ( ou seja, deve ser enviado junto)

  • NÃO HAVERÁ ADIAMENTOS.

18/03/2008

Fizemos um que funciona com as especificações do TP2. Além disso tem também um conversor da base de dados do TP1 pro TP2.

Se puder colocar o link no site... está tudo em www.las.ic.unicamp.br/~miguel/mc326

[]s

--

Miguel Fco. A. de Mattos Gaiowski

13/03/2008

CheckDat.py by Grupo 01

Testador para verificar se o dat está no padrão. Não conferi, GPL, usem por própria conta e risco.

13/03/2008

Se juntem na 303.

Ele está todo em negrito, nao consegui consertar. Enfim, o texto aparenta estar certo:

TP2

12/03/2008

CORREÇÕES:

As submissões das correções devem ser numa resposta para todos (reply to all) no envio do trabalho. Assim tanto envio quanto correção ficam na mesma thread (todos usam gmail mesmo :P)

11/03/2008

Formatos de imagem permitidos:

    • png

    • jpg

    • gif

10/03/2008

Cronograma das proximas aulas de lab: (importante!!)

    • 13/03/2008: TP2 (não faltem!)

    • 20/03/2008: Sem aulas. A unicamp vai emendar o feriado.

  • 27/03/2008: Entrega TP2/ Explicação TP3

06/03/2008

Se os arquivos png estiverem muito grandes (ouvi relatos de 1mb por arquivo), usem jpg. Eu cuidarei do acesso aos jpgs...

Resumindo: Tipos aceitos: PNG e JPG

Exemplo de arquivo .dat certo:

base00.dat

IMPORTANTE:

Nada de "números mágicos" no código. Usem defines para números, pois melhora a leitura E manutenção do programa, principalmente do tamanho dos campos.

05/03/2008

Os valores de todos os campos PODEM ser inventados... não precisam perder tempo procurando valores reais. Só precisamos de informações.

A base de dados DEVE estar no padrão. Caso contrário, como eu vou conseguir juntar todas para gerar uma única?

03/03/2008

TP1 adiado por 1 semana. Somem 1 semana aos prazos de correção e entrega.

Nem todos os alunos estavam na quinta quando o TP foi explicado, não seria justo. Data final.

ps: Campo valor é inteiro, somente números.

01/03/2008

ME MANDEM OS GRUPOS

Se vocês não me mandarem, como eu vou indicar os grupos corretores para vocês enviarem os trabalhos? :)

28/02/2008

Aula as 14h na sala 303. Sei que temos as duas (302/303), mas conversaremos boa parte do tempo, então juntem-se na 303.

Apresentações sobre emacs/gdb

Resumo das funções de manipulação de arquivos

Exemplo de identação/comentário:

Como o entendimento posterior do código escrito é essencial, para todo programador, e principalmente em 326, vou colocar um pequeno exemplo de como EU faço isso. Não precisam seguir à risca, mas tenham bom senso.

Clique para aumentar

(Eu coloquei como imagem para não ter problemas de visualização)

Exemplo de Makefile

Ponteiros e alocação dinâmica:

Prof. Falcão - pdf1/ Prof. Falcão - pdf2

Leiam Leiam

22/02/2008

Confiram os seus dados na Planilha de notas.

22/02/2008

Formem grupos de 3 pessoas cada e enviem por e-mail para fabio.dias@gmail.com as seguintes informações:

    • RA

    • Nome

    • E-mail

Escolham uma pessoa para ser o "responsável" pelo grupo. Esta será a pessoa que receberá os e-mails em nome do grupo. Confirmarei recebimento.

22/02/2008

20/02/2008

Caros,

Não sofram com imagens. Não é o foco da disciplina, é só um "tempero" por cima, pra ficar melhor. Quem tiver tempo livre e quiser fuçar, ótimo, senão, relaxem... vocês terão o que fazer logo, logo ;)

ps: Assim que souberem o calendário de provas das matérias coordenadas (calculo, fisica) me avisem, assim eu posso evitar labs em datas próximas.

19/02/2008

Eu andei "brincando" com a libpng. Estou implementando a minha versão, para disponibilizar depois para vocês.

http://www.students.ic.unicamp.br/~ra015988/png/lpng.h

Este .h contém as funções que eu acho necessárias para o que faremos. Não precisa ser exatamente igual, mas as funcionalidades desejadas (ler imagem, obter acesso a um determinado pixel) são estas. No mesmo diretório tem um programa de exemplo de uso desta biblioteca. Nada muito profissionalmente feito, ainda.

ps: Já chegamos ao mais simples usando a libpng. Se quiserem o ponto, procurem outra solução ;)

19/02/2008

Resposta 1:

  • Miguel Gaiowski, usando libpng: png.c

  • Só precisa abrir UM tipo de imagem, não todos.

  • O ponto ainda não é dele, aceito soluções mais simples. Até porque, quanto mais simples, melhor pra todo mundo.

19/02/2008

Vocês só passarão noites em claro se deixarem pra última hora!

18/02/2008

Mais sobre a Tarefa 0:

    • É opcional!!

    • Façam do jeito que for mais fácil. A escolha é de vocês. A única condição é: Tem que funcionar nos linux do IC3.

    • www.libpng.org

18/02/2008

Sobre a tarefa 0, faltaram algumas coisas:

    • Data limite: 26/02/2008

    • Abrir uma imagem = Obter acesso a matriz de inteiros que é a imagem, de modo a possibilitar a extração das informações contidas na imagem.

    • Pensem na busca de imagens do google. É mais ou menos este nosso objetivo.

  • Estou sempre no gtalk, caso queiram: fabio.dias@gmail.com

18/02/2008

A divisão entre as turmas A e B é meramente para a DAC. Pra mim eu tenho uma turma só, ou seja, façam grupos entre as turmas se quiserem.

18/02/2008

Pessoas matriculadas, NÃO SE ASSUSTEM. MC326 não é das matérias mais fáceis da Unicamp, mas também não é das mais dificeis. Como eu sempre digo, não vai ser coxa, mas não vai ser impossível.

Esse negócio de "enfiar" imagens junto é só pra deixar mais divertido/interessante, não pra deixar mais difícil.

A propósito, formem trios para os trabalhos práticos, ok?

ps: eu leio Ph.D Comics e Dilbert também.

ps2: Não fiquem especulando entre vocês na lista. Podem tirar suas dúvidas comigo, fabio.dias@gmail.com... não sejam tímidos... :)

14/02/2008

Tarefa 0:

Enunciado: Descobrir uma maneira simples e eficaz de abrir imagens em formatos comuns (jpg, gif, png, etc - mas não bmp ou pgm/ppm), em C, que funcione nos labs do IC3 (linux).

O grupo (de até 3 pessoas) cuja proposta seja escolhida como melhor (mais simples, mais ampla) ganha 1 ponto de bônus nas notas dos trabalhos práticos e meu respeito. Os demais que enviarem ganham somente meu respeito (garanto que vale totalmente o esforço).

Para curiosos de plantão, sim, utilizaremos imagens nos trabalhos práticos. Não se assustem, a palavra SIMPLES é a mais importante de todas aqui. Mais trabalho para vocês implica mais trabalho pra mim e prefiro manter ambos no limite do aceitável. ;)

04/02/2008

Para entrarem no clima: (cliquem para ampliar)

Fábio Dias - fabio.dias@gmail.com