As classificações constantes desta página foram removidas no final do ano lectivo.
Defesas do Trabalho Prático (TP)
O horário das defesas dos TPs está disponível nesta página. Cada defesa demora 15 minutos. Cada grupo deverá comparecer na sala indicada 5 mins antes da hora.
Entrega do Trabalho Prático (TP)
Entrar em http://www.di.uminho.pt/submissao_cp/ e submeter um arquivo zip de apenas dois ficheiros: cp1718t.lhs e cp1718t.pdf. (Serão ignorados quaisquer outros ficheiros que o zip possa conter.)
Data limite: 23-Junho, até às 23:59.
Grupos TP/1718
grupo 001
80580
Pedro Rafael Bernardo Medeiros
grupo 001
81712
Ana Filipa Vilela Pereira
grupo 001
82500
Helena Poças Martins
grupo 002
80564
Carla Isabel Novais da Cruz
grupo 002
80975
Pedro Miguel Marques Freitas
grupo 002
81611
Maria Carlos Martins da Nova Dias
grupo 003
77284
Filipe Pereira Da Silva
grupo 003
78425
Alexandre Miguel Costa Dias
grupo 003
79097
Ricardo Furtado Da Ponte
grupo 004
80368
André da Silva Gonçalves
grupo 004
80516
Rafaela Cristina Riço Rodrigues
grupo 004
82982
Francisco André Vieira Reinolds
grupo 005
81146
Mariana de Oliveira Pereira
grupo 005
81761
João Duarte Vila Verde Silva
grupo 005
82617
Shahzod Yusupov
grupo 006
80970
Davide da Silva Matos
grupo 006
81580
Francisco José Oliveira Freitas
grupo 006
82516
Artur Bernardo da Silva Ribeiro
grupo 007
66695
Carlos Gabriel da Silva Pereira
grupo 007
74899
Gabriela Almeida Vaz
grupo 007
74944
Diana Cristina Abreu Lopes
grupo 008
55872
João Pedro Rodrigues Sepúlveda Marques
grupo 008
80142
Carolina Alves da Cunha
grupo 008
80791
João Diogo Mendes Teixeira da Mota
grupo 009
76849
Rui Pedro Sousa Rodrigues do Souto
grupo 009
77211
Gonçalo Medeiros São Pedro Raposo
grupo 009
77953
João Aloísio Sousa Araújo
grupo 010
74714
Nuno Gabriel da Silva Areal
grupo 010
75209
João Nuno Gomes Rodrigues de Almeida
grupo 010
75654
Mário Costa Silva
grupo 011
54280
Álvaro António Fontes Marques da Silva
grupo 011
75362
Vítor Domingos Araújo Gomes
grupo 011
82349
Miguel Ângelo Moreira Ramos Brandão
grupo 012
80741
José Pedro Milhazes Carvalho Pinto
grupo 012
80760
Alexandre de Freitas Ferreira Pacheco
grupo 012
82523
Diogo José Cruz Sobral
grupo 013
34900
Cecília da Conceição de Oliveira Soares
grupo 013
81047
Catarina Araújo Machado
grupo 013
82339
João Pedro Machado Vilaça
grupo 014
77252
Filipe José Vieira Barbosa
grupo 014
77368
Nuno Daniel Simões Morais
grupo 014
78555
Hugo André Novais Ferreira
grupo 015
81064
Ricardo Filipe Sousa Caçador
grupo 015
82005
João Pedro Oliveira da Silva
grupo 015
82547
Diogo Filipe Ribeiro Ferreira Braga
grupo 016
77730
Sérgio Tiago Oliveira Jorge
grupo 016
77870
Vítor José Ribeiro Castro
grupo 016
79116
Marcos Rafael Paiva Gonçalves Pereira
grupo 017
80165
Luís Miguel Andrade Alves
grupo 017
81909
Miguel Ângelo Abreu de Carvalho
grupo 017
82136
José Luís Sousa Costa
grupo 018
78352
Bruno Cruz Veloso
grupo 018
80757
Jaime Ricardo Faria Leite
grupo 018
80874
João Pedro Torres Pimentel
grupo 019
80524
André Guilherme Nunes Viveiros
grupo 019
81241
José Alberto Martins Boticas
grupo 019
86264
Gonçalo Rui Alves Faria
grupo 020
80229
Filipe Pimenta Oliveira Monteiro
grupo 020
82582
Adriana Henriques Esteves Teixeira Meireles
grupo 020
83344
Eduardo Jorge Lima Pinto Barbosa
grupo 021
80908
João Ribeiro Imperadeiro
grupo 021
81640
Ricardo Jorge Valadares Machado Carneiro Vieira
grupo 021
82405
José Gonçalo Macedo da Costa
grupo 022
78171
Bruna Vieira Cruz
grupo 022
80264
Bruno Manuel Pereira Antunes
grupo 022
81480
Paulo Jorge da Silva Barbosa
grupo 023
80494
Luís José Rodrigues da Silva Macedo
grupo 023
81302
Daniel Vilar da Costa
grupo 023
81946
Carlos Peixoto Antunes de Castro
grupo 024
80328
Pedro Miguel Fernandes de Lima
grupo 024
80624
Sofia Almeida Teixeira
grupo 024
82238
João Pedro Rodrigues Gomes
grupo 025
76964
Luis Filipe de Carvalho Bigas Arruda Ribeiro
grupo 025
80433
Rui Alexandre Dias Neto
grupo 025
82726
Matias Abreu Capitão
grupo 026
62156
Carlos Alberto Simões da Silva
grupo 026
74448
Ana Cristina Marques dos Santos
grupo 026
76534
Diogo António Oliveira Brandão Carneiro
grupo 027
72626
Inês Marques Sampaio
grupo 027
73639
Frederico Daniel Pereira Pinto
grupo 027
74568
Ricardo Manuel Cerineu Canela
grupo 028
82202
Joel Filipe Esteves Gama
grupo 028
82441
Alexandre Mendonça Pinho
grupo 028
82491
Tiago Martins Pinheiro
grupo 029
67671
Alberto Rui Vilaverde Monteiro da Silva
grupo 029
68243
José Pedro Pinheiro da Silva
grupo 029
81728
Mariana Pereira Fernandes
grupo 030
76268
João Gonçalves de Macedo
grupo 030
77808
Paulo Alexandre Gonçalves Pacheco
grupo 030
78173
Nelson Adriano Sequeira Gonçalves
grupo 031
42040
Miriam Miranda Pinto
grupo 031
82200
Henrique José Carvalho Faria
grupo 031
82885
José Augusto Ferreira Alves
grupo 032
81716
Rodolfo António Vieira da Silva
grupo 032
81971
Marcelo Araújo de Sousa
grupo 032
82313
Pedro Teixeira Gonçalves
grupo 033
77841
João Manuel da Costa Ferraz Soares
grupo 033
78793
Fábio Quintas Gonçalves
grupo 033
79845
Paulo Filipe Silva Ribeiro
grupo 034
78416
Francisco Jose Moreira Oliveira
grupo 034
79175
Vitor Emanuel Carvalho Peixoto
grupo 034
79617
Raul Vilas Boas
grupo 035
76387
André Tiago Gonçalves Ramalho
grupo 035
77045
Ricardo Barros Pereira
grupo 035
78997
Bruno José Infante de Sousa
grupo 036
82061
Jéssica Andreia Fernandes Lemos
grupo 036
82474
Ana Marta Santos Ribeiro
grupo 036
82535
Pedro Mendes Pinto
grupo 037
77377
Pedro Henrique Moreira Gomes Fernandes
grupo 037
78679
Diana Ribeiro Barbosa
grupo 037
78806
José Pedro Ferreira de Oliveira
grupo 038
81139
Paulo Jorge Bento Rosa
grupo 038
82108
Fábio Carvalho Senra
grupo 038
82886
Paulo Alexandre Ferreira Barbosa
grupo 039
74016
Joana Fernandes Cunha
grupo 039
76190
Francisco André Dantas Ribeiro
grupo 039
76331
João Manuel da Silva Gomes Fernandes
grupo 040
75587
Pedro Alexandre Alves Marta
grupo 040
76438
João Carlos Faria Padrão
grupo 040
76712
Luís Tiago Batoca Fernandes
grupo 041
80261
Henrique Manuel Palmeira Pereira
grupo 041
81135
Pedro Miguel Moreira Ferreira
grupo 041
82364
Pedro Miguel Braga Moreira
grupo 042
81141
Luís Rafael Barbosa Correia
grupo 042
81317
José António Pereira Pinto
grupo 042
82068
Pedro André Dias Barbosa
grupo 043
74246
Luís Daniel da Silva Félix
grupo 043
74408
Maria Manuela Soares Silva
grupo 043
74550
Pedro Miguel Mimoso Lopes Ferreira da Silva
grupo 045
82260
André Gonçalo Castro Peixoto
grupo 045
82549
Adelino Miguel Alves Silva
grupo 045
83099
Luís Filipe da Costa Cunha
grupo 046
78890
Alexandre Reis da Costa
grupo 046
80426
Guilherme Marques e Andrade
grupo 046
81022
Rui Alexandre Azevedo Oliveira
grupo 047
61066
Nuno Alberto Pires Fernandes
grupo 047
66669
André Filipe Ribeiro Costa
grupo 047
67664
Bruno André Araújo Henriques
grupo 048
77508
Gonçalo Nuno Esteves Duarte
grupo 048
77768
João Pedro Meneses de Sousa
grupo 048
79021
Diogo Manuel Macedo e Silva
grupo 049
81644
César Augusto da Costa Borges
grupo 049
81736
Marco Filipe Leitão Dantas
grupo 049
82467
José Carlos Pereira Fernandes
grupo 050
78494
José Miguel Silva Dias
grupo 050
78607
Luís Manuel Meruje Ferreira
grupo 050
78867
Diogo André Teles Fernandes
grupo 051
74806
João Luis Pereira Amorim
grupo 051
74814
João Bernardo Coutinho Barreiros de Freitas
grupo 051
77523
Alexandre Oliveira Martins
grupo 052
76132
Emanuel de Jesus Pedrosa Viana
grupo 052
77617
André Paradela Salgueiro
grupo 052
78508
Fábio Rafael Pereira Araújo
grupo 053
81663
João Manuel Silva Antunes
grupo 053
81673
André Miguel Lopes Salgado
grupo 053
82066
Francisco Domingos Martins Oliveira
grupo 054
81960
Luís Filipe da Costa Capa
grupo 054
82263
Moisés Araújo Antunes
grupo 054
83170
Pedro Miguel da Costa Capa
grupo 055
80207
Rui Nuno Vilaça Ribeiro
grupo 055
81922
Tiago Dias de Sousa
grupo 055
82053
Nelson Tiago da Silva Sousa
grupo 056
73591
Gonçalo Leal da Mota Meireles Moreira
grupo 056
73825
Diogo Mendes Gomes
grupo 056
74819
Luís Manuel Leite Costa
grupo 057
81012
Roberto Miguel Castro Cachada
grupo 057
81248
João Manuel da Rocha Rodrigues
grupo 057
81986
Nuno Afonso Goncalves Solha Moreira Valente
grupo 058
70565
Bruno Manuel Borlido Arieira
grupo 058
73864
João Miguel Freitas Palmeira
grupo 058
74264
Rafael Machado da Silva
grupo 059
81015
Filipa Barbosa Ferraz Silva
grupo 059
81952
Mateus Ferreira da Silva
grupo 059
86268
Maria José Borges Pires
grupo 060
32954
Raquel Susana Teixeira de Abreu Dias
grupo 060
58657
José Ricardo Oliveira Gonçalves
grupo 060
64951
Miguel José Almeida Campos
grupo 061
76958
Joaquim Manuel Gonçalves Oliveira
grupo 061
78029
Ana Catarina Lopes Carvalho Sousa
grupo 061
79196
André Filipe Amorim Pereira
grupo 062
81403
Pedro Henrique de Passos Ferreira
grupo 062
81451
Alexandre Rzepecki Rodrigues
grupo 062
82145
Filipa Correia Parente
grupo 063
75084
Bruno José Oliveira Abreu
grupo 063
76628
João Paulo Silva Ferreira
grupo 063
82291
Nélson Ramos Alves
grupo 064
47419
João Miguel Novais e Bastos
grupo 064
47423
Tiago Moreira Correia Tulha
grupo 064
80752
Hugo Afonso da Gião
grupo 065
65059
Carlos Filipe Gomes da Silva
grupo 065
73312
Ângelo Dias Teixeira
grupo 065
77689
Simão Paulo Leal Barbosa
grupo 066
74618
Bernardo Miguel Teixeira Dias Viseu de Carvalho
grupo 066
75496
Fernando Manuel de Araújo Pereira
grupo 066
75569
João Pedro Lima Cardoso Leal
grupo 067
67713
Manuel Maria Furtado Cunha Miranda Moreno
grupo 067
74545
Adriana da Santa Guedes
grupo 067
74678
José Carlos do Vale e Sousa
grupo 068
74301
Pedro Manuel Barbosa de Almeida
grupo 068
75278
Marco Aurélio Salsa Barbosa
grupo 068
75536
Eduardo Semanas de Oliveira Araújo
grupo 069
73883
Cesário Miguel Pereira Perneta
grupo 069
74092
Tiago Miguel Fraga Santos
grupo 069
76618
Pedro Miguel Gomes da Silva
grupo 070
71548
Luís Miguel Rodrigues Cracel Viana
grupo 070
72443
José Miguel da Silva Santos
grupo 070
72620
Mário Jorge Dias Real
grupo 071
81826
João Paulo Oliveira de Andrade Marques
grupo 071
81918
Nuno Miguel Nóbrega Rei
grupo 071
82888
Luís Filipe Simões de Abreu
grupo 072
80056
Leonardo Lopes Neri Rodrigues
grupo 072
80410
Bruno Manuel Chaves Martins
grupo 072
82400
Márcio Alexandre Mota Sousa
grupo 073
42952
Raúl Nelson Brito Saraiva
grupo 073
42969
Ricardo Manuel Pereira Correia da Silva
grupo 073
67683
César Eduardo da Silva Magalhães
grupo 074
61855
Ana Paula da Costa Leal de Carvalho
grupo 074
73831
João Miguel Pires Barreira
grupo 074
77048
Eduardo Gil Ribeiro da Rocha
grupo 075
74658
Rui Filipe Silva Vieira
grupo 075
75480
Marco Matias Pereira Gonçalves
grupo 075
80824
André Teixeira da Costa
grupo 076
80785
Pedro Jorge Rito Lima
grupo 076
81860
Diogo Alexandre Domingues Gonçalves
grupo 076
82418
José Pedro Amorim Gomes
grupo 077
77185
Carlos António Soares de Castro Gomes
grupo 077
78156
Nuno Ricardo Araújo da Silva
grupo 077
82331
Fábio Fernandes Silva
grupo 078
74036
Manuel João Curopos Monteiro
grupo 078
75008
Filipe Vieira Fortunato
grupo 078
76516
João António Cidade Vieira
grupo 079
78485
Diogo Francisco Araujo Leite da Costa
grupo 079
78824
Mariana Lino Lopes Costa
grupo 079
78957
Diogo Emanuel da Silva Nogueira
grupo 080
62134
Sérgio Diogo Gomes Oliveira
grupo 080
79751
Diogo Miguel Alves Rocha
grupo 080
81919
Ricardo Milhazes Veloso
grupo 081
68547
Lucas Ribeiro Pereira
grupo 081
73577
Ricardo Ribeiro Pereira
grupo 081
75328
Tiago João Fernandes Baptista
grupo 082
73700
Sara Alexandra da Silva Pereira
grupo 082
74155
Bruno Filipe da Silva Ferreira
grupo 082
74813
André Filipe Araújo Pereira de Sousa
grupo 083
71142
Carlos Miguel Barbosa Araújo
grupo 083
73000
Alberto Emanuel Ferreira Pinto
grupo 083
73194
Ângelo Rafael da Silva Coelho
grupo 084
74166
Pedro Daniel Gomes Fonseca
grupo 084
74207
Bruno Rafael Lamas Corredoura Dantas
grupo 084
74745
Carlos José Gomes Campos
grupo 085
68410
Manuel Maciel Roriz Oliveira
grupo 085
76867
Sarah Tifany da Silva
grupo 085
e3640
Vítor Hugo Castro Rodrigues
grupo 086
79799
Gonçalo Nogueira Costeira
grupo 086
79947
Rui Diogo da Silva Costa
grupo 086
80789
Rui Filipe Brito Azevedo
grupo 087
80987
Tiago Rafael da Fonseca Fontes
grupo 087
81362
João David de Azevedo Alves
grupo 087
81822
João Carlos da Silva Costa
grupo 088
81942
Miguel Pimentel de Oliveira
grupo 088
82258
Pedro Rafael Paiva Moura
grupo 088
82457
Gonçalo José da Silva Rodrigues Borges
grupo 089
80813
Ângelo André Castro de Sousa
grupo 089
81765
Joana Isabel Albuquerque Silva Matos
grupo 089
82572
Sara Maria Barreira Melo
grupo 090
80948
Filipe Pedreira Abreu Pereira
grupo 090
81914
João Nuno Brandão Silva
grupo 090
82232
Pedro Daniel Fernandes Abreu
grupo 091
66850
João Gabriel Faria Dias
grupo 091
70925
Nelson Manuel Costa Dias de Sá
grupo 091
e4282
Luís Rafael Macedo da Silva
grupo 092
80298
Arlindo da Fonte Torres
grupo 092
80584
Nélson José Dias Teixeira
grupo 092
82169
Bernardo José Barbosa Alves
grupo 093
71452
Diogo Filipe Ferreira Pereira Monteiro
grupo 093
80309
João Nuno Vieira Carvalho
grupo 093
82725
José Pedro Neto Faria
grupo 094
78038
Eduarda Santos dos Santos
grupo 094
78992
José Filipe de Queiroz Miranda
grupo 094
e3605
Luís Miguel Novais Lopes
grupo 095
77219
Rui Jorge Vieira da Silva
grupo 095
77504
Tiago André Costa Pereira
grupo 095
79008
Bernardo Filipe Alves Rodrigues
grupo 096
79003
Pedro Mendes Félix da Costa
grupo 096
79987
Ana Rita de Sousa e Castro Guimarães
grupo 096
80453
Bárbara Andreia Cardoso Ferreira
grupo 097
71994
Bruno Miguel Gomes Fernandes
grupo 097
76257
Hugo Alberto Gonçalves de Sousa
grupo 097
76361
André Eduardo Matos de Sá
grupo 098
66470
Diogo José Nogueira Teixeira
grupo 098
71754
Luís Miguel Fontão Martins
grupo 098
77518
César Hugo Moreira da Silva
grupo 099
70755
João Pedro Rodrigues da Silva
grupo 099
71191
Tiago Costa Loureiro
grupo 099
e3603
Leonel Ferreira Gonçalves
grupo 100
73974
Carlos Daniel Leitão da Silva Vieira
grupo 100
74216
Rodrigo Tiago Oliveira Ferreira
grupo 100
75876
Jorge Fernando Vieira Cardoso
grupo 101
73768
Daniela Eduarda Cruz Fernandes
grupo 101
77456
André Filipe Furtado Amaral
grupo 101
78961
Tiago André Araújo Monteiro
grupo 102
68703
Renato Mendes Pinheiro
grupo 102
73967
Vítor Ferreira Brito
grupo 102
e3582
Diogo José Leite Oliveira Araújo
grupo 103
57127
Joana Margarida Miguel
grupo 103
79973
Filipa Alexandra da Silva Faria
grupo 103
80749
Francisco Braga Urbano Rosa
grupo 104
68690
António Pedro Adães de Sá Gomes de Oliveira
grupo 104
68691
Luís Carlos da Silva Marques
grupo 104
e4163
Filipe Gonçalves Macedo
grupo 105
76270
Joana Franqueira Marta da Cruz
grupo 105
77688
José Francisco Gonçalves Petejo e Igreja Matos
grupo 105
78073
João Costeira Faria Gomes
grupo 106
71862
João Emanuel da Silva Mendes
grupo 106
e3619
Norberto João Sobral
grupo 106
e4207
Filipe Daniel da Silva Rosa Neco Mota
grupo 107
33524
Pedro Miguel Paes Machado
grupo 107
80201
Hugo Miguel Lopes Silva
grupo 107
86272
João Manuel Carvalho da Silva Coutinho
grupo 108
78914
Ricardo Rodrigues Martins
grupo 108
80424
José Pedro Saraiva de Carvalho
grupo 108
82324
Carlos Miguel Lopes Sá Barbosa
grupo 109
82088
Luís Tiago Machado Braga
grupo 109
82298
Luís Guilherme Gonçalves Macedo da Silva Martins
Em qualquer altura: via correio electrónico pressionando aqui. Qualquer outro meio de contacto será considerado informal, não se sentindo a equipa docente vinculada a dar uma resposta em tempo útil.
Durante o período de aulas: de acordo com o horário seguinte, sujeito a marcação verbal ou por email, com um mínimo de uma semana de antecedência, junto do respectivo docente:
Q01 - Na questão 9 da ficha 4, não percebo o condicional p -> f, g . h. Não devia ser (p -> f,g). h?R: Devia! Faltam os parênteses - gralha entretanto corrigida na nova versão dessa ficha.
Q02 - Estou a ter problemas ao correr o ficheiro cp1718t.lhs. O erro é o seguinte: "Could not find module ‘Data.Matrix’".R: Isso significa que o módulo Data.Matrix não está instalado na sua máquina. Use cabal install (tal como se refere no enunciado) para o instalar.
Q03 - Não percebo o que faz a função depthQTree: para toda e qualquer QTree passada à função, esta devolve 0...R: Há uma gralha: na definição da função (linha 1294) substituam maximum [a,b,c,d] por 1 + maximum [a,b,c,d] - relacionar com a questão 5 da ficha nrº 10. Já agora, como provariam que a função, tal como está, é a função constante 0?
Q04 - No problema 3, não percebo o que está a fazer o 'n' em 's (d+1) = s n + 1'.R: Trata-se infelizmente de outra gralha: no ficheiro lhs (linha 663) substituam n por d.
Q05 - No problema 2, a função 'compressQTree :: Int -> QTree a -> QTree a' é mesmo polimórfica em 'a'?_
R: Sim, a implementação deverá ser polimórfica em 'a'.
Q06 - Faço o que diz o enunciado para instalar 'lhs2tex', cabal install lhs2tex, corre tudo bem, mas continuo sem ´lhs2tex', e.g. lhs2tex cp1718t.lhs > cp1718t.tex dá erro. (Isto em MAC OS.)R: Se tudo correu bem na instalação, deverá existir o ficheiro executável Library/Haskell/bin/lhs2tex. O que está a faltar é o "link" para esse ficheiro. Uma maneira simples de o fazer é definir, na shell,
alias lhs2tex='/Users/user/Library/Haskell/bin/lhs2tex'
onde user é o nome do utilizador. Para não terem que fazer isso sempre, acrescentem essa linha ao ficheiro .bashrc, que já deve existir na directoria principal de user. (Este ficheiro é executado sempre que criam uma shell ou abrem um terminal.)
Q07 - Em Linux, cabal install JuicyPixels dá erro de instalação indicando que zlib-0.6.2 não foi instalada. Que fazer?R: Basta correr o comando sudo apt-get install libz-dev em Linux e fica a funcionar. (Agradeçam ao vosso colega Pedro Mimoso Silva esta informação.)
Q08 - Estive a fazer testes unitários da minha solução do problema 3 do TP e aparentemente obtenho resultados correctos; no entanto, ao testar com o Quickcheck, a minha solução falha. Não consigo perceber onde está o erro...R: O problema é que, como vem no enunciado, a solução calculada assume n < k, e o QuickCheck não sabe disso. Sugere-se o seguinte: no enunciado, onde aparece a prop3, substituam-na pela versão seguinte:
prop3 (NonNegative n) (NonNegative k) = k <= n ==> (bin n k) == (fac n) % (fac k * (fac ((n-k))))
Q09 - Ao tentar correr a função animatePTree obtenho sempre este erro " ***Exception: user error (unknown GLUT entry glutInit)". Há alguma sujestão de como o resolver?R: É conhecido que chamar o gloss dentro do ghci pode ter problemas. Para os resolver, basta invocar ghci com o argumento -fno-ghci-sandbox, ou compilar com o ghc. No segundo caso, definam uma função main = ... que chame a animação que querem fazer.
Quando correrem, na shell, ./cp1718t, será essa função que será activada.
-- JoseNunoOliveira - 06 Mar 2018
03 Ago - As notas dos exames da época especial estão publicadas em Alunos.
23 Jul - O exame da época especial (24-Jul) será na sala CP2 0.20, das 9h às 11h.
10 Jul - Consulta dos exames: amanhã das 11h às 13h, na sala de reuniões do 2º andar do DIUM.
10 Jul - As notas finais e dos TPs estão publicadas em Alunos.
25 Jun - O horário das defesas dos TPs está disponível nesta página. Cada defesa demora 15 minutos. Cada grupo deverá comparecer na sala indicada 5 mins antes da hora.
21 Jun - Horário para os alunos verem os testes: segunda-feira, dia 25-Jun, das 16h às 18h.
20 Jun - Afixadas as classificações do teste de 6-Jun em Alunos.
18 Jun - As defesas orais dos TP desta disciplina terão lugar de 3 a 5 de Julho. Oportunamente será divulgado o escalonamento dos grupos (gerado aleatoriamente).
17 Jun - Entrega dos TP: ver instruções em Alunos. Data limite: 23 de Junho.
31 Mai - Avisam-se os alunos que a data de submissão do TP desta disciplina foi adiada para sábado, 23 de Junho. Oportunamente serão dadas aqui as instruções para a entrega.
20 Mai - Publicada no Material a ficha nr.13 (última), a preparar para as aulas TP da semana de 21-Mai.
06 Mai - Publicada no Material a ficha nr.12, a preparar para as aulas TP da semana de 07-Mai.
06 Mai - Chama-se à atenção que a aula de reposição do turno MiEI/TP2 será não será no E1 mas sim na sala 1.03 do E2 - ver Sumários.
29 Abr - Publicada no Material a ficha nr.11, a preparar para as aulas TP da semana de 30-Abr.
22 Abr - Publicada no Material a ficha nr.10, a preparar para as aulas TP da semana de 23-Abr.
20 Abr - Trabalho prático: enunciado e material publicados em Material.
14 Abr - Publicada no Material a ficha nr.9, a preparar para as aulas TP da semana de 16-Abr.
09 Abr - Chama-se a atenção para a mudança de sala do turno MiEI/TP2, cf. Horário.
07 Abr - Publicada no Material a ficha nr.8, a preparar para as aulas TP da semana de 09-Abr.
03 Abr - A comunicação dos grupos de trabalho de CP deverá ser feita em http://www.di.uminho.pt/grupo_cp/ até dia 17 de Abril.
02 Abr - Publicada no Material a ficha nr.7, a preparar para as aulas TP da semana de 03-Abr.
17 Mar - Publicada no Material a ficha nr.6, a preparar para as aulas TP da semana de 19-Mar.
11 Mar - Publicada no Material a ficha nr.5, a preparar para as aulas TP da semana de 12-Mar.
03 Mar - Publicada no Material a ficha nr.4, a preparar para as aulas TP da semana de 05-Mar.
03 Mar - Notas TP de 16/17 - ver Alunos.
27 Fev - Aviso: não haverá aula LCC/TP2 esta sexta-feira, 2-Março. O docente combinará com os alunos deste turno uma aula de substituição.
24 Fev - Publicada no Material a ficha nr.3, a preparar para as aulas TP da semana de 26-Fev.
20 Fev - Chama-se a atenção para a mudança dos anfiteatros das aulas teóricas dos 2 cursos, cf. Horário.
17 Fev - Publicada no Material a ficha nr.2, a preparar para as aulas TP da semana de 19-Fev.
01 Fev - Início das aulas: semana de 12-Fev. Começarão primeiro as aulas TP com uma ficha de revisão de PF (Programação Funcional).
01 Fev - Criada esta página de avisos.
J.N. Oliveira. Program Design by Calculation. Departamento de Informática, Universidade do Minho. Os capítulos deste livro (em preparação) essenciais para esta disciplina no corrente ano lectivo são o segundo ( 619K), o terceiro ( 621K) e o quarto ( 606K).
(NB: O anexo e a bibliografia deste texto estão diponíveis aqui.)
Bibliografia complementar
A. Cunha. Cálculo de Programas: notas teórico-práticas. Departamento de Informática, Universidade do Minho, 2005. (290k).
R. Bird and O. de Moor. Algebra of Programming. Series in Computer Science. Prentice-Hall International, 1997. C. A. R. Hoare, series editor. BGUM 510.5-B
O material para realização do TP desta disciplina consta de um enunciado (cp1718t.pdf) e de um zip (cp1718t.zip) contendo a respectiva fonte (ficheiro cp1718t.lhs) + outros ficheiros auxiliares.
Os alunos devem deixar para o fim o último problema, cuja matéria só na semana que vem começará a ser leccionada.
A data de entrega é sábado, 23 de Junho. Oportunamente serão dadas informações sobre o processo de submissão dos TPs.
Bibliotecas de Software (em Haskell)
St.hs contendo uma versão simplificada do mónade de estado.
google.hs - ilustração da arquitectura map-reduce que foi mostrada nas aulas.
FTree.hs - biblioteca contendo os cata/ana/hilomorfismos do tipo de dados árvores binárias completas (informação nos nós e nas folhas).
Exp.hs - biblioteca contendo os cata/ana/hilomorfismos do tipo de dados expressões com variáveis que é usada em google.hs.
LTree.hs - biblioteca contendo os cata/ana/hilomorfismos do tipo de dados árvores binárias de folhas - LTree a = Leaf a | Fork (LTree a, LTree a) e aplicações suas (e.g. Fibonacci, duplo factorial, `merge-sort', etc).
BTree.hs - biblioteca para o tipo de dados árvores binárias - data BTree a = Empty | Node(a, (BTree a, BTree a)), e aplicações suas (e.g. torres de Hanói, `quick-sort', etc).
List.hs - biblioteca geral para listas em Haskell, contendo combinadores (e.g. catamorfismos) e exemplos de utilização.
Nat.hs - biblioteca de naturais (combinador ciclo-for, etc).
Cp.hs - contendo os combinadores de base do cálculo de programas, e.g. split, ><, -|- etc.
A nota final terá uma componente teórica (T) e uma componente prática (TP).
O trabalho de grupo (TP) é obrigatório, será avaliado em prova oral e valerá 40% da nota final. A nota TP mínima é 10 valores.
Os restantes 60% (T) serão avaliados num teste (ou exame de recurso) sem consulta. A nota T mínima é 8 valores.
Os grupos TP serão de 3 alunos cada. As notas TP são individuais, conforme prestação de cada aluno no trabalho e na defesa oral.
Congelamento de notas TP: para os alunos que assim o desejarem, consideram-se congeladas as notas dos seus trabalhos de CP do ano passado (e apenas desse ano), sendo nesse caso usada a respectiva fórmula de cálculo.
Melhorias: só se podem fazer à parte T, caso o aluno tenha esse direito; para alunos de anos anteriores, a fórmula de cálculo é a do ano em que a nota a melhorar foi obtida.
Regime de Faltas
Adopta-se o regime geral em vigor na universidade.
-- JoseNunoOliveira - 04 Feb 2018
TWiki's Education/CP1718 webThe Education/CP1718 web of TWiki. TWiki is a Web-Based Collaboration Platform for the Enterprise.http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718Copyright 2020 by contributing authors2020-10-30T14:39:10ZWebStatisticshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebStatistics2020-10-30T14:39:10ZStatistics for Education/CP1718 Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for topic ... (last changed by TWikiGuest)TWikiGuestAlunoshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Alunos2019-07-07T09:16:40ZAlunos As classificações constantes desta página foram removidas no final do ano lectivo. Defesas do Trabalho Prático (TP) O horário das defesas dos TPs está dispon ... (last changed by JoseNunoOliveira)JoseNunoOliveiraMaterialPedagogicohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/MaterialPedagogico2019-05-29T14:46:04ZMaterial Pedagógico Disponível à medida que a disciplina for progredindo. Fichas das aulas práticas Ficha 1 (revisões de PF) Ficha 2 Ficha 3 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebHomehttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebHome2019-05-29T14:42:38ZBenvindo a Cálculo de Programas Bem vindo à página da edição de 2017/18 da disciplina de de Programas. Eu chamo me Nuno Oliveira e sou o responsável por esta disciplina ... (last changed by JoseNunoOliveira)JoseNunoOliveiraAvisoshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Avisos2019-02-08T18:45:29Z03 Ago As notas dos exames da época especial estão publicadas em Alunos. 23 Jul O exame da época especial (24 Jul) será na sala CP2 0.20, das 9h às 11h. 10 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraHorarioSalasDocenteshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/HorarioSalasDocentes2018-06-23T19:11:46ZHorário e turnos Curso Turno Dia Hora Sala Docente LCC TP1 3a feira 16H00 18H00 CG Edificio 1 0 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraAtendimentohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Atendimento2018-06-21T11:09:29ZHorário de Atendimento Em qualquer altura: via correio electrónico pressionando aqui. Qualquer outro meio de contacto será considerado informal, não se sentindo ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebSideBarhttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebSideBar2018-06-17T23:29:19ZTópicos Apresentação Alunos Atendimento Docentes Horário Regime de Avaliação Sumários Bibliografia Material ... (last changed by JoseNunoOliveira)JoseNunoOliveiraBibliografiahttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Bibliografia2018-05-04T11:36:24ZBibliografia Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Os capítulos deste livro ... (last changed by JoseNunoOliveira)JoseNunoOliveiraCalendariohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Calendario2018-04-29T17:20:22ZSumários da disciplina Actualização contínua no calendário: JoseNunoOliveira 01 Feb 2018 (last changed by JoseNunoOliveira)JoseNunoOliveiraEquipaDocentehttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/EquipaDocente2018-02-09T22:04:37ZEquipa docente Nuno Oliveira Cunha Pacheco Pacheco JoseNunoOliveira 09 Feb 2018 (last changed by JoseNunoOliveira)JoseNunoOliveiraRegimeAvaliacaohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/RegimeAvaliacao2018-02-04T23:18:09ZRegime de Avaliação A nota final terá uma componente teórica (T) e uma componente prática (TP). O trabalho de grupo (TP) é obrigatório, será avaliado em prova oral ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebPreferenceshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebPreferences2018-02-01T10:38:59ZEducation/CP1718 Web Preferences The following settings are web preferences of the Education/CP1718 web. These preferences overwrite the site level preferences ... (last changed by AlcinoCunha)AlcinoCunhaWebTopicActionshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebTopicActions2007-05-18T08:03:35Z (last changed by AlcinoCunha)AlcinoCunhaWebCsshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebCss2007-02-16T14:32:59Z.natRevision { width:0px; height:0px; overflow:hidden; } .natBreadCrumbs { width:0px; height:0px; overflow:hidden; } .avisos { color: #444; font size ... (last changed by AlcinoCunha)AlcinoCunhaWebTopBarhttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebTopBar2007-02-13T14:43:04Z (last changed by AlcinoCunha)AlcinoCunha
Alunos As classificações constantes desta página foram removidas no final do ano lectivo. Defesas do Trabalho Prático (TP) O horário das defesas dos TPs está dispon ...
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2017/18 da disciplina de de Programas. Eu chamo me Nuno Oliveira e sou o responsável por esta disciplina ...
03 Ago As notas dos exames da época especial estão publicadas em Alunos. 23 Jul O exame da época especial (24 Jul) será na sala CP2 0.20, das 9h às 11h. 10 ...
Horário de Atendimento Em qualquer altura: via correio electrónico pressionando aqui. Qualquer outro meio de contacto será considerado informal, não se sentindo ...
Bibliografia Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Os capítulos deste livro ...
Regime de Avaliação A nota final terá uma componente teórica (T) e uma componente prática (TP). O trabalho de grupo (TP) é obrigatório, será avaliado em prova oral ...
Education/CP1718 Web Preferences The following settings are web preferences of the Education/CP1718 web. These preferences overwrite the site level preferences ...
Bem vindo à página da edição de 2017/18 da disciplina de Cálculo de Programas.
Eu chamo-me José Nuno Oliveira e sou o responsável por esta disciplina, que conta com uma
equipa
de docentes qualificados na investigação de métodos que, como os que se leccionam nesta disciplina, estão na base da abordagem científica ao desenvolvimento de software.
Todos fazemos parte do Laboratório HASLab (High-Assurance Software Laboratory) onde se encontra consolidado know-how em métodos formais de programação desde há mais de 30 anos.
A palavra "programa" vem do grego "programma", uma derivação de "prographein" = "pro" (antes) + "graphein" (escrever).
Isto sugere que alguém que programa deve pensar antes no que vai fazer.
Cada vez mais, a indústria pede às universidades que ensinem a programar de forma sistemática e reflectida, capaz de evitar ao máximo erros de programação. Para isso, é preciso introduzir a noção de cálculo em programação, isto é, uma disciplina que nos ajude a pensar os programas, raciocinar sobre eles e obter versões eficientes sem introduzir erros.
A Universidade do Minho tem uma longa tradição neste tipo de ensino.
Prestes a completar 20 anos de leccionação,
Cálculo de Programas é uma das cadeiras que ensinam tais competências. Mais do que tecnologia ensina-se método, que é afinal aquilo que a maioria dos programadores acaba por não ter.
Resultados da Aprendizagem
Programação composicional: aprender a escrever programas complexos por composição de programas mais simples (princípio da composicionalidade).
Programação construtiva: aprender a escrever programas funcionais com recurso a combinadores algébricos.
Transformação de programas: recurso à algebra da programação para se obter eficiência sem sacrifício da correcção.
Arquitectura da programação: Análise, compreensão e catalogação de programas: recurso à factorização em pares "fold" + "unfold" (hilomorfismos) como forma de se perceber a arquitectura dos algoritmos e sua taxonomia.
Síntese de programas: cálculo de ciclos-for a partir de definições indutivas da matemática.
Programação funcional avançada: construir e raciocinar sobre programas funcionais com efeitos sob a forma de mónades.
Página principal
Para ver todas as edições da disciplina entrar aqui.
Alunos As classificações constantes desta página foram removidas no final do ano lectivo. Defesas do Trabalho Prático (TP) O horário das defesas dos TPs está dispon ...
Horário de Atendimento Em qualquer altura: via correio electrónico pressionando aqui. Qualquer outro meio de contacto será considerado informal, não se sentindo ...
03 Ago As notas dos exames da época especial estão publicadas em Alunos. 23 Jul O exame da época especial (24 Jul) será na sala CP2 0.20, das 9h às 11h. 10 ...
Bibliografia Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Os capítulos deste livro ...
Regime de Avaliação A nota final terá uma componente teórica (T) e uma componente prática (TP). O trabalho de grupo (TP) é obrigatório, será avaliado em prova oral ...
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2017/18 da disciplina de de Programas. Eu chamo me Nuno Oliveira e sou o responsável por esta disciplina ...
Education/CP1718 Web Preferences The following settings are web preferences of the Education/CP1718 web. These preferences overwrite the site level preferences ...
This is a subscription service to be automatically notified by e-mail when topics change in this Education/CP1718 web. This is a convenient service, so you do not have to come back and check all the time if something has changed. To subscribe, please add a bullet with your WikiName in alphabetical order to this list:
Each TWiki web has an automatic e-mail notification service that sends you an e-mail with links to all of the topics modified since the last alert.
Users subscribe to email notifications using their WikiName or an alternative email address, and can specify the webs/topics they wish to track using one of these bullet list formats:
three spaces * [ webname . ] wikiName - SMTP mail address three spaces * [ webName . ] wikiName three spaces * SMTP mail address three spaces * SMTP mail address : topics three spaces * [ webname . ] wikiName : topics
In the above examples, topics is a space-separated list of topic names. The user may further customize the specific content they will receive using the following formats:
Specify topics without a Web. prefix
Topics must exist in this web.
Topics may be specified using * wildcards
Each topic may optionally be preceded by a '+' or '-' sign. The '+' sign means "subscribe to this topic" (the same as not putting anything). The '-' sign means "unsubscribe" or "don't send notifications regarding this topic". This allows users to elect to filter out certain topics (and their children, to an arbitrary depth). Topic filters ('-') take precedence over topic includes ('+').
Each topic may optionally be followed by an integer in parentheses, indicating the depth of the tree of children below that topic. Changes in all these children will be detected and reported along with changes to the topic itself. Note This uses the TWiki "Topic parent" feature.
Each topic may optionally be immediately followed by an exclamation mark ! or a question mark ? with no intervening spaces, indicating that the topic (and children if there is a tree depth specifier as well) should be mailed out as complete topics instead of change summaries. ! causes the topic to be mailed every time even if there have been no changes, ? will mail the topic only if there have been changes to it. This only makes sense for subscriptions.
For example:
Subscribe Daisy to all changes to topics in this web.
* daisy.cutter@flowers.com
Subscribe Daisy to all changes in all webs that start with Web.
* daisy.cutter@flowers.com: Web*
Subscribe Daisy to changes to topics starting with Petal, and their immediate children, WeedKillers and children to a depth of 3, and all topics that match start with Pretty and end with Flowers e.g. PrettyPinkFlowers
Subscribe Daisy to the full content of NewsLetter whenever it has changed
* daisy@flowers.com: TWiki.NewsLetter?
Subscribe buttercup to NewsLetter and its immediate children, even if it hasn't changed.
* buttercup@flowers.com: TWiki.NewsLetter! (1)
Subscribe GardenGroup (which includes Petunia) to all changed topics under AllnewsLetters to a depth of 3. Then unsubscribe Petunia from the ManureNewsLetter, which she would normally get as a member of GardenGroup? :
A user may be listed many times in the WebNotify topic. Where a user has several lines in WebNotify that all match the same topic, they will only be notified about changes that topic once (though they will still receive individual mails for news topics).
If a TWiki group is listed for notification, the group will be recursively expanded to the e-mail addresses of all members.
Tip: List names in alphabetical order to make it easier to find the names.
Note for System Administrators: Notification is supported by an add-on to the TWiki kernel called the MailerContrib. See the MailerContrib topic for details of how to set up this service.
Note: If you prefer a news feed, point your reader to WebRss (for RSS 1.0 feeds) or WebAtom (for ATOM 1.0 feeds). Learn more at WebRssBase and WebAtomBase, respectively.
Related topics:WebChangesAlert, TWikiUsers, TWikiRegistration
These settings override the defaults for this web only. See full list of defaults with explanation. Many of the settings below are commented out. Remove the # sign to enable a local customisation.
Natural Skin configuration
Web-specific background color: (Pick a lighter one of the StandardColors).
Set WEBBGCOLOR = #D0D0D0
Note: This setting is automatically configured when you create a web
Image, URL and alternate tooltip text of web's logo. Note: Don't add your own local logos to the TWikiLogos topic; create your own logos topic instead.
List this web in the SiteMap. If you want the web listed, then set SITEMAPLIST to on, do not set NOSEARCHALL, and add the "what" and "use to..." description for the site map. Use links that include the name of the web, i.e. Education/CP1718.Topic links. Note: Unlike other variables, the setting of SITEMAPLIST is not inherited from parent webs. It has to be set in every web that is to be listed in the SiteMap
Set SITEMAPLIST = on
Set SITEMAPWHAT = Cálculo de Programas
Set SITEMAPUSETO = Mestrado Integrado em Engenharia Informática e Licenciatura em Ciências da Computação
Note: Above settings are automatically configured when you create a web
Exclude web from a web="all" search: (Set to on for hidden webs).
Set NOSEARCHALL =
Note: This setting is automatically configured when you create a web
Prevent automatic linking of WikiWords and acronyms (if set to on); link WikiWords (if empty); can be overwritten by web preferences:
#Set NOAUTOLINK =
Note: You can still use the [[...][...]] syntax to link topics if you disabled WikiWord linking. The <noautolink> ... </noautolink> syntax can be used to prevents links within a block of text.
Default template for new topics for this web:
WebTopicEditTemplate? : Default template for new topics in this web. (Site-level is used if topic does not exist)
Comma separated list of forms that can be attached to topics in this web. See TWikiForms for more information.
Set WEBFORMS =
Users or groups who are not / are allowed to view / change / rename topics in the Education/CP1718 web: (See TWikiAccessControl). Remove the # to enable any of these settings. Remember that an empty setting is a valid setting; setting DENYWEBVIEW to nothing means that anyone can view the web.
Preferences are used as TWikiVariables by enclosing the name in percent signs. Example:
When you write variable %WEBBGCOLOR% , it gets expanded to #D0D0D0
The sequential order of the preference settings is significant. Define preferences that use other preferences first, i.e. set WEBCOPYRIGHT before WIKIWEBMASTER since %WEBCOPYRIGHT% uses the %WIKIWEBMASTER% variable.
You can introduce your own preferences variables and use them in your topics and templates.
TWiki search results for \.*
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718
The Education/CP1718 web of TWiki. TWiki is a Web-Based Collaboration Platform for the Enterprise.en-usCopyright 2020 by contributing authorsTWiki Administrator [webmaster@di.uminho.pt]The contributing authors of TWikiTWikiDIUM.Education/CP1718
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718
/twiki/pub/Main/LocalLogos/um_eengP.jpgAlunos
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Alunos
Alunos As classificações constantes desta página foram removidas no final do ano lectivo. Defesas do Trabalho Prático (TP) O horário das defesas dos TPs está dispon ... (last changed by JoseNunoOliveira)2019-07-07T09:16:40ZJoseNunoOliveiraMaterialPedagogico
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/MaterialPedagogico
Material Pedagógico Disponível à medida que a disciplina for progredindo. Fichas das aulas práticas Ficha 1 (revisões de PF) Ficha 2 Ficha 3 ... (last changed by JoseNunoOliveira)2019-05-29T14:46:04ZJoseNunoOliveiraWebHome
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebHome
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2017/18 da disciplina de de Programas. Eu chamo me Nuno Oliveira e sou o responsável por esta disciplina ... (last changed by JoseNunoOliveira)2019-05-29T14:42:38ZJoseNunoOliveiraAvisos
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Avisos
03 Ago As notas dos exames da época especial estão publicadas em Alunos. 23 Jul O exame da época especial (24 Jul) será na sala CP2 0.20, das 9h às 11h. 10 ... (last changed by JoseNunoOliveira)2019-02-08T18:45:29ZJoseNunoOliveiraHorarioSalasDocentes
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/HorarioSalasDocentes
Horário e turnos Curso Turno Dia Hora Sala Docente LCC TP1 3a feira 16H00 18H00 CG Edificio 1 0 ... (last changed by JoseNunoOliveira)2018-06-23T19:11:46ZJoseNunoOliveiraAtendimento
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Atendimento
Horário de Atendimento Em qualquer altura: via correio electrónico pressionando aqui. Qualquer outro meio de contacto será considerado informal, não se sentindo ... (last changed by JoseNunoOliveira)2018-06-21T11:09:29ZJoseNunoOliveiraWebSideBar
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebSideBar
Tópicos Apresentação Alunos Atendimento Docentes Horário Regime de Avaliação Sumários Bibliografia Material ... (last changed by JoseNunoOliveira)2018-06-17T23:29:19ZJoseNunoOliveiraBibliografia
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Bibliografia
Bibliografia Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Os capítulos deste livro ... (last changed by JoseNunoOliveira)2018-05-04T11:36:24ZJoseNunoOliveiraCalendario
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Calendario
Sumários da disciplina Actualização contínua no calendário: JoseNunoOliveira 01 Feb 2018 (last changed by JoseNunoOliveira)2018-04-29T17:20:22ZJoseNunoOliveiraEquipaDocente
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/EquipaDocente
Equipa docente Nuno Oliveira Cunha Pacheco Pacheco JoseNunoOliveira 09 Feb 2018 (last changed by JoseNunoOliveira)2018-02-09T22:04:37ZJoseNunoOliveiraRegimeAvaliacao
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/RegimeAvaliacao
Regime de Avaliação A nota final terá uma componente teórica (T) e uma componente prática (TP). O trabalho de grupo (TP) é obrigatório, será avaliado em prova oral ... (last changed by JoseNunoOliveira)2018-02-04T23:18:09ZJoseNunoOliveiraWebPreferences
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebPreferences
Education/CP1718 Web Preferences The following settings are web preferences of the Education/CP1718 web. These preferences overwrite the site level preferences ... (last changed by AlcinoCunha)2018-02-01T10:38:59ZAlcinoCunhaWebTopicActions
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebTopicActions
(last changed by AlcinoCunha)2007-05-18T08:03:35ZAlcinoCunhaWebCss
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebCss
.natRevision { width:0px; height:0px; overflow:hidden; } .natBreadCrumbs { width:0px; height:0px; overflow:hidden; } .avisos { color: #444; font size ... (last changed by AlcinoCunha)2007-02-16T14:32:59ZAlcinoCunhaWebTopBar
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebTopBar
(last changed by AlcinoCunha)2007-02-13T14:43:04ZAlcinoCunhaWebLeftBar
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebLeftBar
Apresentação Sumários Projectos Material (last changed by AlcinoCunha)2007-02-13T10:35:33ZAlcinoCunha
As classificações constantes desta página foram removidas no final do ano lectivo.
Defesas do Trabalho Prático (TP)
O horário das defesas dos TPs está disponível nesta página. Cada defesa demora 15 minutos. Cada grupo deverá comparecer na sala indicada 5 mins antes da hora.
Entrega do Trabalho Prático (TP)
Entrar em http://www.di.uminho.pt/submissao_cp/ e submeter um arquivo zip de apenas dois ficheiros: cp1718t.lhs e cp1718t.pdf. (Serão ignorados quaisquer outros ficheiros que o zip possa conter.)
Data limite: 23-Junho, até às 23:59.
Grupos TP/1718
grupo 001
80580
Pedro Rafael Bernardo Medeiros
grupo 001
81712
Ana Filipa Vilela Pereira
grupo 001
82500
Helena Poças Martins
grupo 002
80564
Carla Isabel Novais da Cruz
grupo 002
80975
Pedro Miguel Marques Freitas
grupo 002
81611
Maria Carlos Martins da Nova Dias
grupo 003
77284
Filipe Pereira Da Silva
grupo 003
78425
Alexandre Miguel Costa Dias
grupo 003
79097
Ricardo Furtado Da Ponte
grupo 004
80368
André da Silva Gonçalves
grupo 004
80516
Rafaela Cristina Riço Rodrigues
grupo 004
82982
Francisco André Vieira Reinolds
grupo 005
81146
Mariana de Oliveira Pereira
grupo 005
81761
João Duarte Vila Verde Silva
grupo 005
82617
Shahzod Yusupov
grupo 006
80970
Davide da Silva Matos
grupo 006
81580
Francisco José Oliveira Freitas
grupo 006
82516
Artur Bernardo da Silva Ribeiro
grupo 007
66695
Carlos Gabriel da Silva Pereira
grupo 007
74899
Gabriela Almeida Vaz
grupo 007
74944
Diana Cristina Abreu Lopes
grupo 008
55872
João Pedro Rodrigues Sepúlveda Marques
grupo 008
80142
Carolina Alves da Cunha
grupo 008
80791
João Diogo Mendes Teixeira da Mota
grupo 009
76849
Rui Pedro Sousa Rodrigues do Souto
grupo 009
77211
Gonçalo Medeiros São Pedro Raposo
grupo 009
77953
João Aloísio Sousa Araújo
grupo 010
74714
Nuno Gabriel da Silva Areal
grupo 010
75209
João Nuno Gomes Rodrigues de Almeida
grupo 010
75654
Mário Costa Silva
grupo 011
54280
Álvaro António Fontes Marques da Silva
grupo 011
75362
Vítor Domingos Araújo Gomes
grupo 011
82349
Miguel Ângelo Moreira Ramos Brandão
grupo 012
80741
José Pedro Milhazes Carvalho Pinto
grupo 012
80760
Alexandre de Freitas Ferreira Pacheco
grupo 012
82523
Diogo José Cruz Sobral
grupo 013
34900
Cecília da Conceição de Oliveira Soares
grupo 013
81047
Catarina Araújo Machado
grupo 013
82339
João Pedro Machado Vilaça
grupo 014
77252
Filipe José Vieira Barbosa
grupo 014
77368
Nuno Daniel Simões Morais
grupo 014
78555
Hugo André Novais Ferreira
grupo 015
81064
Ricardo Filipe Sousa Caçador
grupo 015
82005
João Pedro Oliveira da Silva
grupo 015
82547
Diogo Filipe Ribeiro Ferreira Braga
grupo 016
77730
Sérgio Tiago Oliveira Jorge
grupo 016
77870
Vítor José Ribeiro Castro
grupo 016
79116
Marcos Rafael Paiva Gonçalves Pereira
grupo 017
80165
Luís Miguel Andrade Alves
grupo 017
81909
Miguel Ângelo Abreu de Carvalho
grupo 017
82136
José Luís Sousa Costa
grupo 018
78352
Bruno Cruz Veloso
grupo 018
80757
Jaime Ricardo Faria Leite
grupo 018
80874
João Pedro Torres Pimentel
grupo 019
80524
André Guilherme Nunes Viveiros
grupo 019
81241
José Alberto Martins Boticas
grupo 019
86264
Gonçalo Rui Alves Faria
grupo 020
80229
Filipe Pimenta Oliveira Monteiro
grupo 020
82582
Adriana Henriques Esteves Teixeira Meireles
grupo 020
83344
Eduardo Jorge Lima Pinto Barbosa
grupo 021
80908
João Ribeiro Imperadeiro
grupo 021
81640
Ricardo Jorge Valadares Machado Carneiro Vieira
grupo 021
82405
José Gonçalo Macedo da Costa
grupo 022
78171
Bruna Vieira Cruz
grupo 022
80264
Bruno Manuel Pereira Antunes
grupo 022
81480
Paulo Jorge da Silva Barbosa
grupo 023
80494
Luís José Rodrigues da Silva Macedo
grupo 023
81302
Daniel Vilar da Costa
grupo 023
81946
Carlos Peixoto Antunes de Castro
grupo 024
80328
Pedro Miguel Fernandes de Lima
grupo 024
80624
Sofia Almeida Teixeira
grupo 024
82238
João Pedro Rodrigues Gomes
grupo 025
76964
Luis Filipe de Carvalho Bigas Arruda Ribeiro
grupo 025
80433
Rui Alexandre Dias Neto
grupo 025
82726
Matias Abreu Capitão
grupo 026
62156
Carlos Alberto Simões da Silva
grupo 026
74448
Ana Cristina Marques dos Santos
grupo 026
76534
Diogo António Oliveira Brandão Carneiro
grupo 027
72626
Inês Marques Sampaio
grupo 027
73639
Frederico Daniel Pereira Pinto
grupo 027
74568
Ricardo Manuel Cerineu Canela
grupo 028
82202
Joel Filipe Esteves Gama
grupo 028
82441
Alexandre Mendonça Pinho
grupo 028
82491
Tiago Martins Pinheiro
grupo 029
67671
Alberto Rui Vilaverde Monteiro da Silva
grupo 029
68243
José Pedro Pinheiro da Silva
grupo 029
81728
Mariana Pereira Fernandes
grupo 030
76268
João Gonçalves de Macedo
grupo 030
77808
Paulo Alexandre Gonçalves Pacheco
grupo 030
78173
Nelson Adriano Sequeira Gonçalves
grupo 031
42040
Miriam Miranda Pinto
grupo 031
82200
Henrique José Carvalho Faria
grupo 031
82885
José Augusto Ferreira Alves
grupo 032
81716
Rodolfo António Vieira da Silva
grupo 032
81971
Marcelo Araújo de Sousa
grupo 032
82313
Pedro Teixeira Gonçalves
grupo 033
77841
João Manuel da Costa Ferraz Soares
grupo 033
78793
Fábio Quintas Gonçalves
grupo 033
79845
Paulo Filipe Silva Ribeiro
grupo 034
78416
Francisco Jose Moreira Oliveira
grupo 034
79175
Vitor Emanuel Carvalho Peixoto
grupo 034
79617
Raul Vilas Boas
grupo 035
76387
André Tiago Gonçalves Ramalho
grupo 035
77045
Ricardo Barros Pereira
grupo 035
78997
Bruno José Infante de Sousa
grupo 036
82061
Jéssica Andreia Fernandes Lemos
grupo 036
82474
Ana Marta Santos Ribeiro
grupo 036
82535
Pedro Mendes Pinto
grupo 037
77377
Pedro Henrique Moreira Gomes Fernandes
grupo 037
78679
Diana Ribeiro Barbosa
grupo 037
78806
José Pedro Ferreira de Oliveira
grupo 038
81139
Paulo Jorge Bento Rosa
grupo 038
82108
Fábio Carvalho Senra
grupo 038
82886
Paulo Alexandre Ferreira Barbosa
grupo 039
74016
Joana Fernandes Cunha
grupo 039
76190
Francisco André Dantas Ribeiro
grupo 039
76331
João Manuel da Silva Gomes Fernandes
grupo 040
75587
Pedro Alexandre Alves Marta
grupo 040
76438
João Carlos Faria Padrão
grupo 040
76712
Luís Tiago Batoca Fernandes
grupo 041
80261
Henrique Manuel Palmeira Pereira
grupo 041
81135
Pedro Miguel Moreira Ferreira
grupo 041
82364
Pedro Miguel Braga Moreira
grupo 042
81141
Luís Rafael Barbosa Correia
grupo 042
81317
José António Pereira Pinto
grupo 042
82068
Pedro André Dias Barbosa
grupo 043
74246
Luís Daniel da Silva Félix
grupo 043
74408
Maria Manuela Soares Silva
grupo 043
74550
Pedro Miguel Mimoso Lopes Ferreira da Silva
grupo 045
82260
André Gonçalo Castro Peixoto
grupo 045
82549
Adelino Miguel Alves Silva
grupo 045
83099
Luís Filipe da Costa Cunha
grupo 046
78890
Alexandre Reis da Costa
grupo 046
80426
Guilherme Marques e Andrade
grupo 046
81022
Rui Alexandre Azevedo Oliveira
grupo 047
61066
Nuno Alberto Pires Fernandes
grupo 047
66669
André Filipe Ribeiro Costa
grupo 047
67664
Bruno André Araújo Henriques
grupo 048
77508
Gonçalo Nuno Esteves Duarte
grupo 048
77768
João Pedro Meneses de Sousa
grupo 048
79021
Diogo Manuel Macedo e Silva
grupo 049
81644
César Augusto da Costa Borges
grupo 049
81736
Marco Filipe Leitão Dantas
grupo 049
82467
José Carlos Pereira Fernandes
grupo 050
78494
José Miguel Silva Dias
grupo 050
78607
Luís Manuel Meruje Ferreira
grupo 050
78867
Diogo André Teles Fernandes
grupo 051
74806
João Luis Pereira Amorim
grupo 051
74814
João Bernardo Coutinho Barreiros de Freitas
grupo 051
77523
Alexandre Oliveira Martins
grupo 052
76132
Emanuel de Jesus Pedrosa Viana
grupo 052
77617
André Paradela Salgueiro
grupo 052
78508
Fábio Rafael Pereira Araújo
grupo 053
81663
João Manuel Silva Antunes
grupo 053
81673
André Miguel Lopes Salgado
grupo 053
82066
Francisco Domingos Martins Oliveira
grupo 054
81960
Luís Filipe da Costa Capa
grupo 054
82263
Moisés Araújo Antunes
grupo 054
83170
Pedro Miguel da Costa Capa
grupo 055
80207
Rui Nuno Vilaça Ribeiro
grupo 055
81922
Tiago Dias de Sousa
grupo 055
82053
Nelson Tiago da Silva Sousa
grupo 056
73591
Gonçalo Leal da Mota Meireles Moreira
grupo 056
73825
Diogo Mendes Gomes
grupo 056
74819
Luís Manuel Leite Costa
grupo 057
81012
Roberto Miguel Castro Cachada
grupo 057
81248
João Manuel da Rocha Rodrigues
grupo 057
81986
Nuno Afonso Goncalves Solha Moreira Valente
grupo 058
70565
Bruno Manuel Borlido Arieira
grupo 058
73864
João Miguel Freitas Palmeira
grupo 058
74264
Rafael Machado da Silva
grupo 059
81015
Filipa Barbosa Ferraz Silva
grupo 059
81952
Mateus Ferreira da Silva
grupo 059
86268
Maria José Borges Pires
grupo 060
32954
Raquel Susana Teixeira de Abreu Dias
grupo 060
58657
José Ricardo Oliveira Gonçalves
grupo 060
64951
Miguel José Almeida Campos
grupo 061
76958
Joaquim Manuel Gonçalves Oliveira
grupo 061
78029
Ana Catarina Lopes Carvalho Sousa
grupo 061
79196
André Filipe Amorim Pereira
grupo 062
81403
Pedro Henrique de Passos Ferreira
grupo 062
81451
Alexandre Rzepecki Rodrigues
grupo 062
82145
Filipa Correia Parente
grupo 063
75084
Bruno José Oliveira Abreu
grupo 063
76628
João Paulo Silva Ferreira
grupo 063
82291
Nélson Ramos Alves
grupo 064
47419
João Miguel Novais e Bastos
grupo 064
47423
Tiago Moreira Correia Tulha
grupo 064
80752
Hugo Afonso da Gião
grupo 065
65059
Carlos Filipe Gomes da Silva
grupo 065
73312
Ângelo Dias Teixeira
grupo 065
77689
Simão Paulo Leal Barbosa
grupo 066
74618
Bernardo Miguel Teixeira Dias Viseu de Carvalho
grupo 066
75496
Fernando Manuel de Araújo Pereira
grupo 066
75569
João Pedro Lima Cardoso Leal
grupo 067
67713
Manuel Maria Furtado Cunha Miranda Moreno
grupo 067
74545
Adriana da Santa Guedes
grupo 067
74678
José Carlos do Vale e Sousa
grupo 068
74301
Pedro Manuel Barbosa de Almeida
grupo 068
75278
Marco Aurélio Salsa Barbosa
grupo 068
75536
Eduardo Semanas de Oliveira Araújo
grupo 069
73883
Cesário Miguel Pereira Perneta
grupo 069
74092
Tiago Miguel Fraga Santos
grupo 069
76618
Pedro Miguel Gomes da Silva
grupo 070
71548
Luís Miguel Rodrigues Cracel Viana
grupo 070
72443
José Miguel da Silva Santos
grupo 070
72620
Mário Jorge Dias Real
grupo 071
81826
João Paulo Oliveira de Andrade Marques
grupo 071
81918
Nuno Miguel Nóbrega Rei
grupo 071
82888
Luís Filipe Simões de Abreu
grupo 072
80056
Leonardo Lopes Neri Rodrigues
grupo 072
80410
Bruno Manuel Chaves Martins
grupo 072
82400
Márcio Alexandre Mota Sousa
grupo 073
42952
Raúl Nelson Brito Saraiva
grupo 073
42969
Ricardo Manuel Pereira Correia da Silva
grupo 073
67683
César Eduardo da Silva Magalhães
grupo 074
61855
Ana Paula da Costa Leal de Carvalho
grupo 074
73831
João Miguel Pires Barreira
grupo 074
77048
Eduardo Gil Ribeiro da Rocha
grupo 075
74658
Rui Filipe Silva Vieira
grupo 075
75480
Marco Matias Pereira Gonçalves
grupo 075
80824
André Teixeira da Costa
grupo 076
80785
Pedro Jorge Rito Lima
grupo 076
81860
Diogo Alexandre Domingues Gonçalves
grupo 076
82418
José Pedro Amorim Gomes
grupo 077
77185
Carlos António Soares de Castro Gomes
grupo 077
78156
Nuno Ricardo Araújo da Silva
grupo 077
82331
Fábio Fernandes Silva
grupo 078
74036
Manuel João Curopos Monteiro
grupo 078
75008
Filipe Vieira Fortunato
grupo 078
76516
João António Cidade Vieira
grupo 079
78485
Diogo Francisco Araujo Leite da Costa
grupo 079
78824
Mariana Lino Lopes Costa
grupo 079
78957
Diogo Emanuel da Silva Nogueira
grupo 080
62134
Sérgio Diogo Gomes Oliveira
grupo 080
79751
Diogo Miguel Alves Rocha
grupo 080
81919
Ricardo Milhazes Veloso
grupo 081
68547
Lucas Ribeiro Pereira
grupo 081
73577
Ricardo Ribeiro Pereira
grupo 081
75328
Tiago João Fernandes Baptista
grupo 082
73700
Sara Alexandra da Silva Pereira
grupo 082
74155
Bruno Filipe da Silva Ferreira
grupo 082
74813
André Filipe Araújo Pereira de Sousa
grupo 083
71142
Carlos Miguel Barbosa Araújo
grupo 083
73000
Alberto Emanuel Ferreira Pinto
grupo 083
73194
Ângelo Rafael da Silva Coelho
grupo 084
74166
Pedro Daniel Gomes Fonseca
grupo 084
74207
Bruno Rafael Lamas Corredoura Dantas
grupo 084
74745
Carlos José Gomes Campos
grupo 085
68410
Manuel Maciel Roriz Oliveira
grupo 085
76867
Sarah Tifany da Silva
grupo 085
e3640
Vítor Hugo Castro Rodrigues
grupo 086
79799
Gonçalo Nogueira Costeira
grupo 086
79947
Rui Diogo da Silva Costa
grupo 086
80789
Rui Filipe Brito Azevedo
grupo 087
80987
Tiago Rafael da Fonseca Fontes
grupo 087
81362
João David de Azevedo Alves
grupo 087
81822
João Carlos da Silva Costa
grupo 088
81942
Miguel Pimentel de Oliveira
grupo 088
82258
Pedro Rafael Paiva Moura
grupo 088
82457
Gonçalo José da Silva Rodrigues Borges
grupo 089
80813
Ângelo André Castro de Sousa
grupo 089
81765
Joana Isabel Albuquerque Silva Matos
grupo 089
82572
Sara Maria Barreira Melo
grupo 090
80948
Filipe Pedreira Abreu Pereira
grupo 090
81914
João Nuno Brandão Silva
grupo 090
82232
Pedro Daniel Fernandes Abreu
grupo 091
66850
João Gabriel Faria Dias
grupo 091
70925
Nelson Manuel Costa Dias de Sá
grupo 091
e4282
Luís Rafael Macedo da Silva
grupo 092
80298
Arlindo da Fonte Torres
grupo 092
80584
Nélson José Dias Teixeira
grupo 092
82169
Bernardo José Barbosa Alves
grupo 093
71452
Diogo Filipe Ferreira Pereira Monteiro
grupo 093
80309
João Nuno Vieira Carvalho
grupo 093
82725
José Pedro Neto Faria
grupo 094
78038
Eduarda Santos dos Santos
grupo 094
78992
José Filipe de Queiroz Miranda
grupo 094
e3605
Luís Miguel Novais Lopes
grupo 095
77219
Rui Jorge Vieira da Silva
grupo 095
77504
Tiago André Costa Pereira
grupo 095
79008
Bernardo Filipe Alves Rodrigues
grupo 096
79003
Pedro Mendes Félix da Costa
grupo 096
79987
Ana Rita de Sousa e Castro Guimarães
grupo 096
80453
Bárbara Andreia Cardoso Ferreira
grupo 097
71994
Bruno Miguel Gomes Fernandes
grupo 097
76257
Hugo Alberto Gonçalves de Sousa
grupo 097
76361
André Eduardo Matos de Sá
grupo 098
66470
Diogo José Nogueira Teixeira
grupo 098
71754
Luís Miguel Fontão Martins
grupo 098
77518
César Hugo Moreira da Silva
grupo 099
70755
João Pedro Rodrigues da Silva
grupo 099
71191
Tiago Costa Loureiro
grupo 099
e3603
Leonel Ferreira Gonçalves
grupo 100
73974
Carlos Daniel Leitão da Silva Vieira
grupo 100
74216
Rodrigo Tiago Oliveira Ferreira
grupo 100
75876
Jorge Fernando Vieira Cardoso
grupo 101
73768
Daniela Eduarda Cruz Fernandes
grupo 101
77456
André Filipe Furtado Amaral
grupo 101
78961
Tiago André Araújo Monteiro
grupo 102
68703
Renato Mendes Pinheiro
grupo 102
73967
Vítor Ferreira Brito
grupo 102
e3582
Diogo José Leite Oliveira Araújo
grupo 103
57127
Joana Margarida Miguel
grupo 103
79973
Filipa Alexandra da Silva Faria
grupo 103
80749
Francisco Braga Urbano Rosa
grupo 104
68690
António Pedro Adães de Sá Gomes de Oliveira
grupo 104
68691
Luís Carlos da Silva Marques
grupo 104
e4163
Filipe Gonçalves Macedo
grupo 105
76270
Joana Franqueira Marta da Cruz
grupo 105
77688
José Francisco Gonçalves Petejo e Igreja Matos
grupo 105
78073
João Costeira Faria Gomes
grupo 106
71862
João Emanuel da Silva Mendes
grupo 106
e3619
Norberto João Sobral
grupo 106
e4207
Filipe Daniel da Silva Rosa Neco Mota
grupo 107
33524
Pedro Miguel Paes Machado
grupo 107
80201
Hugo Miguel Lopes Silva
grupo 107
86272
João Manuel Carvalho da Silva Coutinho
grupo 108
78914
Ricardo Rodrigues Martins
grupo 108
80424
José Pedro Saraiva de Carvalho
grupo 108
82324
Carlos Miguel Lopes Sá Barbosa
grupo 109
82088
Luís Tiago Machado Braga
grupo 109
82298
Luís Guilherme Gonçalves Macedo da Silva Martins
Em qualquer altura: via correio electrónico pressionando aqui. Qualquer outro meio de contacto será considerado informal, não se sentindo a equipa docente vinculada a dar uma resposta em tempo útil.
Durante o período de aulas: de acordo com o horário seguinte, sujeito a marcação verbal ou por email, com um mínimo de uma semana de antecedência, junto do respectivo docente:
Q01 - Na questão 9 da ficha 4, não percebo o condicional p -> f, g . h. Não devia ser (p -> f,g). h?R: Devia! Faltam os parênteses - gralha entretanto corrigida na nova versão dessa ficha.
Q02 - Estou a ter problemas ao correr o ficheiro cp1718t.lhs. O erro é o seguinte: "Could not find module ‘Data.Matrix’".R: Isso significa que o módulo Data.Matrix não está instalado na sua máquina. Use cabal install (tal como se refere no enunciado) para o instalar.
Q03 - Não percebo o que faz a função depthQTree: para toda e qualquer QTree passada à função, esta devolve 0...R: Há uma gralha: na definição da função (linha 1294) substituam maximum [a,b,c,d] por 1 + maximum [a,b,c,d] - relacionar com a questão 5 da ficha nrº 10. Já agora, como provariam que a função, tal como está, é a função constante 0?
Q04 - No problema 3, não percebo o que está a fazer o 'n' em 's (d+1) = s n + 1'.R: Trata-se infelizmente de outra gralha: no ficheiro lhs (linha 663) substituam n por d.
Q05 - No problema 2, a função 'compressQTree :: Int -> QTree a -> QTree a' é mesmo polimórfica em 'a'?_
R: Sim, a implementação deverá ser polimórfica em 'a'.
Q06 - Faço o que diz o enunciado para instalar 'lhs2tex', cabal install lhs2tex, corre tudo bem, mas continuo sem ´lhs2tex', e.g. lhs2tex cp1718t.lhs > cp1718t.tex dá erro. (Isto em MAC OS.)R: Se tudo correu bem na instalação, deverá existir o ficheiro executável Library/Haskell/bin/lhs2tex. O que está a faltar é o "link" para esse ficheiro. Uma maneira simples de o fazer é definir, na shell,
alias lhs2tex='/Users/user/Library/Haskell/bin/lhs2tex'
onde user é o nome do utilizador. Para não terem que fazer isso sempre, acrescentem essa linha ao ficheiro .bashrc, que já deve existir na directoria principal de user. (Este ficheiro é executado sempre que criam uma shell ou abrem um terminal.)
Q07 - Em Linux, cabal install JuicyPixels dá erro de instalação indicando que zlib-0.6.2 não foi instalada. Que fazer?R: Basta correr o comando sudo apt-get install libz-dev em Linux e fica a funcionar. (Agradeçam ao vosso colega Pedro Mimoso Silva esta informação.)
Q08 - Estive a fazer testes unitários da minha solução do problema 3 do TP e aparentemente obtenho resultados correctos; no entanto, ao testar com o Quickcheck, a minha solução falha. Não consigo perceber onde está o erro...R: O problema é que, como vem no enunciado, a solução calculada assume n < k, e o QuickCheck não sabe disso. Sugere-se o seguinte: no enunciado, onde aparece a prop3, substituam-na pela versão seguinte:
prop3 (TWiki.NonNegative n) (TWiki.NonNegative k) = k <= n ==> (bin n k) == (fac n) % (fac k * (fac ((n-k))))
Q09 - Ao tentar correr a função animatePTree obtenho sempre este erro " ***Exception: user error (unknown GLUT entry glutInit)". Há alguma sujestão de como o resolver?R: É conhecido que chamar o gloss dentro do ghci pode ter problemas. Para os resolver, basta invocar ghci com o argumento -fno-ghci-sandbox, ou compilar com o ghc. No segundo caso, definam uma função main = ... que chame a animação que querem fazer.
Quando correrem, na shell, ./cp1718t, será essa função que será activada.
-- JoseNunoOliveira - 06 Mar 2018
03 Ago - As notas dos exames da época especial estão publicadas em Alunos.
23 Jul - O exame da época especial (24-Jul) será na sala CP2 0.20, das 9h às 11h.
10 Jul - Consulta dos exames: amanhã das 11h às 13h, na sala de reuniões do 2º andar do DIUM.
10 Jul - As notas finais e dos TPs estão publicadas em Alunos.
25 Jun - O horário das defesas dos TPs está disponível nesta página. Cada defesa demora 15 minutos. Cada grupo deverá comparecer na sala indicada 5 mins antes da hora.
21 Jun - Horário para os alunos verem os testes: segunda-feira, dia 25-Jun, das 16h às 18h.
20 Jun - Afixadas as classificações do teste de 6-Jun em Alunos.
18 Jun - As defesas orais dos TP desta disciplina terão lugar de 3 a 5 de Julho. Oportunamente será divulgado o escalonamento dos grupos (gerado aleatoriamente).
17 Jun - Entrega dos TP: ver instruções em Alunos. Data limite: 23 de Junho.
31 Mai - Avisam-se os alunos que a data de submissão do TP desta disciplina foi adiada para sábado, 23 de Junho. Oportunamente serão dadas aqui as instruções para a entrega.
20 Mai - Publicada no Material a ficha nr.13 (última), a preparar para as aulas TP da semana de 21-Mai.
06 Mai - Publicada no Material a ficha nr.12, a preparar para as aulas TP da semana de 07-Mai.
06 Mai - Chama-se à atenção que a aula de reposição do turno MiEI/TP2 será não será no E1 mas sim na sala 1.03 do E2 - ver Sumários.
29 Abr - Publicada no Material a ficha nr.11, a preparar para as aulas TP da semana de 30-Abr.
22 Abr - Publicada no Material a ficha nr.10, a preparar para as aulas TP da semana de 23-Abr.
20 Abr - Trabalho prático: enunciado e material publicados em Material.
14 Abr - Publicada no Material a ficha nr.9, a preparar para as aulas TP da semana de 16-Abr.
09 Abr - Chama-se a atenção para a mudança de sala do turno MiEI/TP2, cf. Horário.
07 Abr - Publicada no Material a ficha nr.8, a preparar para as aulas TP da semana de 09-Abr.
03 Abr - A comunicação dos grupos de trabalho de CP deverá ser feita em http://www.di.uminho.pt/grupo_cp/ até dia 17 de Abril.
02 Abr - Publicada no Material a ficha nr.7, a preparar para as aulas TP da semana de 03-Abr.
17 Mar - Publicada no Material a ficha nr.6, a preparar para as aulas TP da semana de 19-Mar.
11 Mar - Publicada no Material a ficha nr.5, a preparar para as aulas TP da semana de 12-Mar.
03 Mar - Publicada no Material a ficha nr.4, a preparar para as aulas TP da semana de 05-Mar.
03 Mar - Notas TP de 16/17 - ver Alunos.
27 Fev - Aviso: não haverá aula LCC/TP2 esta sexta-feira, 2-Março. O docente combinará com os alunos deste turno uma aula de substituição.
24 Fev - Publicada no Material a ficha nr.3, a preparar para as aulas TP da semana de 26-Fev.
20 Fev - Chama-se a atenção para a mudança dos anfiteatros das aulas teóricas dos 2 cursos, cf. Horário.
17 Fev - Publicada no Material a ficha nr.2, a preparar para as aulas TP da semana de 19-Fev.
01 Fev - Início das aulas: semana de 12-Fev. Começarão primeiro as aulas TP com uma ficha de revisão de PF (Programação Funcional).
01 Fev - Criada esta página de avisos.
J.N. Oliveira. Program Design by Calculation. Departamento de Informática, Universidade do Minho. Os capítulos deste livro (em preparação) essenciais para esta disciplina no corrente ano lectivo são o segundo ( 619K), o terceiro ( 621K) e o quarto ( 606K).
(NB: O anexo e a bibliografia deste texto estão diponíveis aqui.)
Bibliografia complementar
A. Cunha. Cálculo de Programas: notas teórico-práticas. Departamento de Informática, Universidade do Minho, 2005. (290k).
R. Bird and O. de Moor. Algebra of Programming. Series in Computer Science. Prentice-Hall International, 1997. C. A. R. Hoare, series editor. BGUM 510.5-B
O material para realização do TP desta disciplina consta de um enunciado (cp1718t.pdf) e de um zip (cp1718t.zip) contendo a respectiva fonte (ficheiro cp1718t.lhs) + outros ficheiros auxiliares.
Os alunos devem deixar para o fim o último problema, cuja matéria só na semana que vem começará a ser leccionada.
A data de entrega é sábado, 23 de Junho. Oportunamente serão dadas informações sobre o processo de submissão dos TPs.
Bibliotecas de Software (em Haskell)
St.hs contendo uma versão simplificada do mónade de estado.
google.hs - ilustração da arquitectura map-reduce que foi mostrada nas aulas.
FTree.hs - biblioteca contendo os cata/ana/hilomorfismos do tipo de dados árvores binárias completas (informação nos nós e nas folhas).
Exp.hs - biblioteca contendo os cata/ana/hilomorfismos do tipo de dados expressões com variáveis que é usada em google.hs.
LTree.hs - biblioteca contendo os cata/ana/hilomorfismos do tipo de dados árvores binárias de folhas - LTree a = Leaf a | Fork (LTree a, LTree a) e aplicações suas (e.g. Fibonacci, duplo factorial, `merge-sort', etc).
BTree.hs - biblioteca para o tipo de dados árvores binárias - data BTree a = Empty | Node(a, (BTree a, BTree a)), e aplicações suas (e.g. torres de Hanói, `quick-sort', etc).
List.hs - biblioteca geral para listas em Haskell, contendo combinadores (e.g. catamorfismos) e exemplos de utilização.
Nat.hs - biblioteca de naturais (combinador ciclo-for, etc).
Cp.hs - contendo os combinadores de base do cálculo de programas, e.g. split, ><, -|- etc.
A nota final terá uma componente teórica (T) e uma componente prática (TP).
O trabalho de grupo (TP) é obrigatório, será avaliado em prova oral e valerá 40% da nota final. A nota TP mínima é 10 valores.
Os restantes 60% (T) serão avaliados num teste (ou exame de recurso) sem consulta. A nota T mínima é 8 valores.
Os grupos TP serão de 3 alunos cada. As notas TP são individuais, conforme prestação de cada aluno no trabalho e na defesa oral.
Congelamento de notas TP: para os alunos que assim o desejarem, consideram-se congeladas as notas dos seus trabalhos de CP do ano passado (e apenas desse ano), sendo nesse caso usada a respectiva fórmula de cálculo.
Melhorias: só se podem fazer à parte T, caso o aluno tenha esse direito; para alunos de anos anteriores, a fórmula de cálculo é a do ano em que a nota a melhorar foi obtida.
Regime de Faltas
Adopta-se o regime geral em vigor na universidade.
-- JoseNunoOliveira - 04 Feb 2018
TWiki's Education/CP1718 webThe Education/CP1718 web of TWiki. TWiki is a Web-Based Collaboration Platform for the Enterprise.http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718Copyright 2020 by contributing authors2020-10-30T14:39:10ZWebStatisticshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebStatistics2020-10-30T14:39:10ZStatistics for Education/CP1718 Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for topic ... (last changed by TWikiGuest)TWikiGuestAlunoshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Alunos2019-07-07T09:16:40ZAlunos As classificações constantes desta página foram removidas no final do ano lectivo. Defesas do Trabalho Prático (TP) O horário das defesas dos TPs está dispon ... (last changed by JoseNunoOliveira)JoseNunoOliveiraMaterialPedagogicohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/MaterialPedagogico2019-05-29T14:46:04ZMaterial Pedagógico Disponível à medida que a disciplina for progredindo. Fichas das aulas práticas Ficha 1 (revisões de PF) Ficha 2 Ficha 3 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebHomehttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebHome2019-05-29T14:42:38ZBenvindo a Cálculo de Programas Bem vindo à página da edição de 2017/18 da disciplina de de Programas. Eu chamo me Nuno Oliveira e sou o responsável por esta disciplina ... (last changed by JoseNunoOliveira)JoseNunoOliveiraAvisoshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Avisos2019-02-08T18:45:29Z03 Ago As notas dos exames da época especial estão publicadas em Alunos. 23 Jul O exame da época especial (24 Jul) será na sala CP2 0.20, das 9h às 11h. 10 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraHorarioSalasDocenteshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/HorarioSalasDocentes2018-06-23T19:11:46ZHorário e turnos Curso Turno Dia Hora Sala Docente LCC TP1 3a feira 16H00 18H00 CG Edificio 1 0 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraAtendimentohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Atendimento2018-06-21T11:09:29ZHorário de Atendimento Em qualquer altura: via correio electrónico pressionando aqui. Qualquer outro meio de contacto será considerado informal, não se sentindo ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebSideBarhttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebSideBar2018-06-17T23:29:19ZTópicos Apresentação Alunos Atendimento Docentes Horário Regime de Avaliação Sumários Bibliografia Material ... (last changed by JoseNunoOliveira)JoseNunoOliveiraBibliografiahttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Bibliografia2018-05-04T11:36:24ZBibliografia Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Os capítulos deste livro ... (last changed by JoseNunoOliveira)JoseNunoOliveiraCalendariohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Calendario2018-04-29T17:20:22ZSumários da disciplina Actualização contínua no calendário: JoseNunoOliveira 01 Feb 2018 (last changed by JoseNunoOliveira)JoseNunoOliveiraEquipaDocentehttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/EquipaDocente2018-02-09T22:04:37ZEquipa docente Nuno Oliveira Cunha Pacheco Pacheco JoseNunoOliveira 09 Feb 2018 (last changed by JoseNunoOliveira)JoseNunoOliveiraRegimeAvaliacaohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/RegimeAvaliacao2018-02-04T23:18:09ZRegime de Avaliação A nota final terá uma componente teórica (T) e uma componente prática (TP). O trabalho de grupo (TP) é obrigatório, será avaliado em prova oral ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebPreferenceshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebPreferences2018-02-01T10:38:59ZEducation/CP1718 Web Preferences The following settings are web preferences of the Education/CP1718 web. These preferences overwrite the site level preferences ... (last changed by AlcinoCunha)AlcinoCunhaWebTopicActionshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebTopicActions2007-05-18T08:03:35Z (last changed by AlcinoCunha)AlcinoCunhaWebCsshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebCss2007-02-16T14:32:59Z.natRevision { width:0px; height:0px; overflow:hidden; } .natBreadCrumbs { width:0px; height:0px; overflow:hidden; } .avisos { color: #444; font size ... (last changed by AlcinoCunha)AlcinoCunhaWebTopBarhttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebTopBar2007-02-13T14:43:04Z (last changed by AlcinoCunha)AlcinoCunha
Alunos As classificações constantes desta página foram removidas no final do ano lectivo. Defesas do Trabalho Prático (TP) O horário das defesas dos TPs está dispon ...
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2017/18 da disciplina de de Programas. Eu chamo me Nuno Oliveira e sou o responsável por esta disciplina ...
03 Ago As notas dos exames da época especial estão publicadas em Alunos. 23 Jul O exame da época especial (24 Jul) será na sala CP2 0.20, das 9h às 11h. 10 ...
Horário de Atendimento Em qualquer altura: via correio electrónico pressionando aqui. Qualquer outro meio de contacto será considerado informal, não se sentindo ...
Bibliografia Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Os capítulos deste livro ...
Regime de Avaliação A nota final terá uma componente teórica (T) e uma componente prática (TP). O trabalho de grupo (TP) é obrigatório, será avaliado em prova oral ...
Education/CP1718 Web Preferences The following settings are web preferences of the Education/CP1718 web. These preferences overwrite the site level preferences ...
Bem vindo à página da edição de 2017/18 da disciplina de Cálculo de Programas.
Eu chamo-me José Nuno Oliveira e sou o responsável por esta disciplina, que conta com uma
equipa
de docentes qualificados na investigação de métodos que, como os que se leccionam nesta disciplina, estão na base da abordagem científica ao desenvolvimento de software.
Todos fazemos parte do Laboratório HASLab (High-Assurance Software Laboratory) onde se encontra consolidado know-how em métodos formais de programação desde há mais de 30 anos.
A palavra "programa" vem do grego "programma", uma derivação de "prographein" = "pro" (antes) + "graphein" (escrever).
Isto sugere que alguém que programa deve pensar antes no que vai fazer.
Cada vez mais, a indústria pede às universidades que ensinem a programar de forma sistemática e reflectida, capaz de evitar ao máximo erros de programação. Para isso, é preciso introduzir a noção de cálculo em programação, isto é, uma disciplina que nos ajude a pensar os programas, raciocinar sobre eles e obter versões eficientes sem introduzir erros.
A Universidade do Minho tem uma longa tradição neste tipo de ensino.
Prestes a completar 20 anos de leccionação,
Cálculo de Programas é uma das cadeiras que ensinam tais competências. Mais do que tecnologia ensina-se método, que é afinal aquilo que a maioria dos programadores acaba por não ter.
Resultados da Aprendizagem
Programação composicional: aprender a escrever programas complexos por composição de programas mais simples (princípio da composicionalidade).
Programação construtiva: aprender a escrever programas funcionais com recurso a combinadores algébricos.
Transformação de programas: recurso à algebra da programação para se obter eficiência sem sacrifício da correcção.
Arquitectura da programação: Análise, compreensão e catalogação de programas: recurso à factorização em pares "fold" + "unfold" (hilomorfismos) como forma de se perceber a arquitectura dos algoritmos e sua taxonomia.
Síntese de programas: cálculo de ciclos-for a partir de definições indutivas da matemática.
Programação funcional avançada: construir e raciocinar sobre programas funcionais com efeitos sob a forma de mónades.
Página principal
Para ver todas as edições da disciplina entrar aqui.
Alunos As classificações constantes desta página foram removidas no final do ano lectivo. Defesas do Trabalho Prático (TP) O horário das defesas dos TPs está dispon ...
Horário de Atendimento Em qualquer altura: via correio electrónico pressionando aqui. Qualquer outro meio de contacto será considerado informal, não se sentindo ...
03 Ago As notas dos exames da época especial estão publicadas em Alunos. 23 Jul O exame da época especial (24 Jul) será na sala CP2 0.20, das 9h às 11h. 10 ...
Bibliografia Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Os capítulos deste livro ...
Regime de Avaliação A nota final terá uma componente teórica (T) e uma componente prática (TP). O trabalho de grupo (TP) é obrigatório, será avaliado em prova oral ...
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2017/18 da disciplina de de Programas. Eu chamo me Nuno Oliveira e sou o responsável por esta disciplina ...
Education/CP1718 Web Preferences The following settings are web preferences of the Education/CP1718 web. These preferences overwrite the site level preferences ...
This is a subscription service to be automatically notified by e-mail when topics change in this Education/CP1718 web. This is a convenient service, so you do not have to come back and check all the time if something has changed. To subscribe, please add a bullet with your WikiName in alphabetical order to this list:
Each TWiki web has an automatic e-mail notification service that sends you an e-mail with links to all of the topics modified since the last alert.
Users subscribe to email notifications using their WikiName or an alternative email address, and can specify the webs/topics they wish to track using one of these bullet list formats:
three spaces * [ webname . ] wikiName - SMTP mail address three spaces * [ webName . ] wikiName three spaces * SMTP mail address three spaces * SMTP mail address : topics three spaces * [ webname . ] wikiName : topics
In the above examples, topics is a space-separated list of topic names. The user may further customize the specific content they will receive using the following formats:
Specify topics without a Web. prefix
Topics must exist in this web.
Topics may be specified using * wildcards
Each topic may optionally be preceded by a '+' or '-' sign. The '+' sign means "subscribe to this topic" (the same as not putting anything). The '-' sign means "unsubscribe" or "don't send notifications regarding this topic". This allows users to elect to filter out certain topics (and their children, to an arbitrary depth). Topic filters ('-') take precedence over topic includes ('+').
Each topic may optionally be followed by an integer in parentheses, indicating the depth of the tree of children below that topic. Changes in all these children will be detected and reported along with changes to the topic itself. Note This uses the TWiki "Topic parent" feature.
Each topic may optionally be immediately followed by an exclamation mark ! or a question mark ? with no intervening spaces, indicating that the topic (and children if there is a tree depth specifier as well) should be mailed out as complete topics instead of change summaries. ! causes the topic to be mailed every time even if there have been no changes, ? will mail the topic only if there have been changes to it. This only makes sense for subscriptions.
For example:
Subscribe Daisy to all changes to topics in this web.
* daisy.cutter@flowers.com
Subscribe Daisy to all changes in all webs that start with Web.
* daisy.cutter@flowers.com: Web*
Subscribe Daisy to changes to topics starting with Petal, and their immediate children, WeedKillers and children to a depth of 3, and all topics that match start with Pretty and end with Flowers e.g. PrettyPinkFlowers
Subscribe Daisy to the full content of NewsLetter whenever it has changed
* daisy@flowers.com: TWiki.NewsLetter?
Subscribe buttercup to NewsLetter and its immediate children, even if it hasn't changed.
* buttercup@flowers.com: TWiki.NewsLetter! (1)
Subscribe GardenGroup (which includes Petunia) to all changed topics under AllnewsLetters to a depth of 3. Then unsubscribe Petunia from the ManureNewsLetter, which she would normally get as a member of GardenGroup? :
A user may be listed many times in the WebNotify topic. Where a user has several lines in WebNotify that all match the same topic, they will only be notified about changes that topic once (though they will still receive individual mails for news topics).
If a TWiki group is listed for notification, the group will be recursively expanded to the e-mail addresses of all members.
Tip: List names in alphabetical order to make it easier to find the names.
Note for System Administrators: Notification is supported by an add-on to the TWiki kernel called the MailerContrib. See the MailerContrib topic for details of how to set up this service.
Note: If you prefer a news feed, point your reader to WebRss (for RSS 1.0 feeds) or WebAtom (for ATOM 1.0 feeds). Learn more at WebRssBase and WebAtomBase, respectively.
Related topics:WebChangesAlert, TWikiUsers, TWikiRegistration
These settings override the defaults for this web only. See full list of defaults with explanation. Many of the settings below are commented out. Remove the # sign to enable a local customisation.
Natural Skin configuration
Web-specific background color: (Pick a lighter one of the StandardColors).
Set WEBBGCOLOR = #D0D0D0
Note: This setting is automatically configured when you create a web
Image, URL and alternate tooltip text of web's logo. Note: Don't add your own local logos to the TWikiLogos topic; create your own logos topic instead.
List this web in the SiteMap. If you want the web listed, then set SITEMAPLIST to on, do not set NOSEARCHALL, and add the "what" and "use to..." description for the site map. Use links that include the name of the web, i.e. Education/CP1718.Topic links. Note: Unlike other variables, the setting of SITEMAPLIST is not inherited from parent webs. It has to be set in every web that is to be listed in the SiteMap
Set SITEMAPLIST = on
Set SITEMAPWHAT = Cálculo de Programas
Set SITEMAPUSETO = Mestrado Integrado em Engenharia Informática e Licenciatura em Ciências da Computação
Note: Above settings are automatically configured when you create a web
Exclude web from a web="all" search: (Set to on for hidden webs).
Set NOSEARCHALL =
Note: This setting is automatically configured when you create a web
Prevent automatic linking of WikiWords and acronyms (if set to on); link WikiWords (if empty); can be overwritten by web preferences:
#Set NOAUTOLINK =
Note: You can still use the [[...][...]] syntax to link topics if you disabled WikiWord linking. The <noautolink> ... </noautolink> syntax can be used to prevents links within a block of text.
Default template for new topics for this web:
WebTopicEditTemplate? : Default template for new topics in this web. (Site-level is used if topic does not exist)
Comma separated list of forms that can be attached to topics in this web. See TWikiForms for more information.
Set WEBFORMS =
Users or groups who are not / are allowed to view / change / rename topics in the Education/CP1718 web: (See TWikiAccessControl). Remove the # to enable any of these settings. Remember that an empty setting is a valid setting; setting DENYWEBVIEW to nothing means that anyone can view the web.
Preferences are used as TWikiVariables by enclosing the name in percent signs. Example:
When you write variable %WEBBGCOLOR% , it gets expanded to #D0D0D0
The sequential order of the preference settings is significant. Define preferences that use other preferences first, i.e. set WEBCOPYRIGHT before WIKIWEBMASTER since %WEBCOPYRIGHT% uses the %WIKIWEBMASTER% variable.
You can introduce your own preferences variables and use them in your topics and templates.
TWiki search results for \.*
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718
The Education/CP1718 web of TWiki. TWiki is a Web-Based Collaboration Platform for the Enterprise.en-usCopyright 2020 by contributing authorsTWiki Administrator [webmaster@di.uminho.pt]The contributing authors of TWikiTWikiDIUM.Education/CP1718
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718
/twiki/pub/Main/LocalLogos/um_eengP.jpgAlunos
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Alunos
Alunos As classificações constantes desta página foram removidas no final do ano lectivo. Defesas do Trabalho Prático (TP) O horário das defesas dos TPs está dispon ... (last changed by JoseNunoOliveira)2019-07-07T09:16:40ZJoseNunoOliveiraMaterialPedagogico
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/MaterialPedagogico
Material Pedagógico Disponível à medida que a disciplina for progredindo. Fichas das aulas práticas Ficha 1 (revisões de PF) Ficha 2 Ficha 3 ... (last changed by JoseNunoOliveira)2019-05-29T14:46:04ZJoseNunoOliveiraWebHome
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebHome
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2017/18 da disciplina de de Programas. Eu chamo me Nuno Oliveira e sou o responsável por esta disciplina ... (last changed by JoseNunoOliveira)2019-05-29T14:42:38ZJoseNunoOliveiraAvisos
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Avisos
03 Ago As notas dos exames da época especial estão publicadas em Alunos. 23 Jul O exame da época especial (24 Jul) será na sala CP2 0.20, das 9h às 11h. 10 ... (last changed by JoseNunoOliveira)2019-02-08T18:45:29ZJoseNunoOliveiraHorarioSalasDocentes
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/HorarioSalasDocentes
Horário e turnos Curso Turno Dia Hora Sala Docente LCC TP1 3a feira 16H00 18H00 CG Edificio 1 0 ... (last changed by JoseNunoOliveira)2018-06-23T19:11:46ZJoseNunoOliveiraAtendimento
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Atendimento
Horário de Atendimento Em qualquer altura: via correio electrónico pressionando aqui. Qualquer outro meio de contacto será considerado informal, não se sentindo ... (last changed by JoseNunoOliveira)2018-06-21T11:09:29ZJoseNunoOliveiraWebSideBar
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebSideBar
Tópicos Apresentação Alunos Atendimento Docentes Horário Regime de Avaliação Sumários Bibliografia Material ... (last changed by JoseNunoOliveira)2018-06-17T23:29:19ZJoseNunoOliveiraBibliografia
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Bibliografia
Bibliografia Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Os capítulos deste livro ... (last changed by JoseNunoOliveira)2018-05-04T11:36:24ZJoseNunoOliveiraCalendario
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/Calendario
Sumários da disciplina Actualização contínua no calendário: JoseNunoOliveira 01 Feb 2018 (last changed by JoseNunoOliveira)2018-04-29T17:20:22ZJoseNunoOliveiraEquipaDocente
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/EquipaDocente
Equipa docente Nuno Oliveira Cunha Pacheco Pacheco JoseNunoOliveira 09 Feb 2018 (last changed by JoseNunoOliveira)2018-02-09T22:04:37ZJoseNunoOliveiraRegimeAvaliacao
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/RegimeAvaliacao
Regime de Avaliação A nota final terá uma componente teórica (T) e uma componente prática (TP). O trabalho de grupo (TP) é obrigatório, será avaliado em prova oral ... (last changed by JoseNunoOliveira)2018-02-04T23:18:09ZJoseNunoOliveiraWebPreferences
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebPreferences
Education/CP1718 Web Preferences The following settings are web preferences of the Education/CP1718 web. These preferences overwrite the site level preferences ... (last changed by AlcinoCunha)2018-02-01T10:38:59ZAlcinoCunhaWebTopicActions
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebTopicActions
(last changed by AlcinoCunha)2007-05-18T08:03:35ZAlcinoCunhaWebCss
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebCss
.natRevision { width:0px; height:0px; overflow:hidden; } .natBreadCrumbs { width:0px; height:0px; overflow:hidden; } .avisos { color: #444; font size ... (last changed by AlcinoCunha)2007-02-16T14:32:59ZAlcinoCunhaWebTopBar
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebTopBar
(last changed by AlcinoCunha)2007-02-13T14:43:04ZAlcinoCunhaWebLeftBar
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1718/WebLeftBar
Apresentação Sumários Projectos Material (last changed by AlcinoCunha)2007-02-13T10:35:33ZAlcinoCunha
03 Ago - As notas dos exames da época especial estão publicadas em Alunos.
23 Jul - O exame da época especial (24-Jul) será na sala CP2 0.20, das 9h às 11h.
10 Jul - Consulta dos exames: amanhã das 11h às 13h, na sala de reuniões do 2º andar do DIUM.
10 Jul - As notas finais e dos TPs estão publicadas em Alunos.
25 Jun - O horário das defesas dos TPs está disponível nesta página. Cada defesa demora 15 minutos. Cada grupo deverá comparecer na sala indicada 5 mins antes da hora.
21 Jun - Horário para os alunos verem os testes: segunda-feira, dia 25-Jun, das 16h às 18h.
20 Jun - Afixadas as classificações do teste de 6-Jun em Alunos.
18 Jun - As defesas orais dos TP desta disciplina terão lugar de 3 a 5 de Julho. Oportunamente será divulgado o escalonamento dos grupos (gerado aleatoriamente).
17 Jun - Entrega dos TP: ver instruções em Alunos. Data limite: 23 de Junho.
31 Mai - Avisam-se os alunos que a data de submissão do TP desta disciplina foi adiada para sábado, 23 de Junho. Oportunamente serão dadas aqui as instruções para a entrega.
20 Mai - Publicada no Material a ficha nr.13 (última), a preparar para as aulas TP da semana de 21-Mai.
06 Mai - Publicada no Material a ficha nr.12, a preparar para as aulas TP da semana de 07-Mai.
06 Mai - Chama-se à atenção que a aula de reposição do turno MiEI/TP2 será não será no E1 mas sim na sala 1.03 do E2 - ver Sumários.
29 Abr - Publicada no Material a ficha nr.11, a preparar para as aulas TP da semana de 30-Abr.
22 Abr - Publicada no Material a ficha nr.10, a preparar para as aulas TP da semana de 23-Abr.
20 Abr - Trabalho prático: enunciado e material publicados em Material.
14 Abr - Publicada no Material a ficha nr.9, a preparar para as aulas TP da semana de 16-Abr.
09 Abr - Chama-se a atenção para a mudança de sala do turno MiEI/TP2, cf. Horário.
07 Abr - Publicada no Material a ficha nr.8, a preparar para as aulas TP da semana de 09-Abr.
03 Abr - A comunicação dos grupos de trabalho de CP deverá ser feita em http://www.di.uminho.pt/grupo_cp/ até dia 17 de Abril.
02 Abr - Publicada no Material a ficha nr.7, a preparar para as aulas TP da semana de 03-Abr.
17 Mar - Publicada no Material a ficha nr.6, a preparar para as aulas TP da semana de 19-Mar.
11 Mar - Publicada no Material a ficha nr.5, a preparar para as aulas TP da semana de 12-Mar.
03 Mar - Publicada no Material a ficha nr.4, a preparar para as aulas TP da semana de 05-Mar.
03 Mar - Notas TP de 16/17 - ver Alunos.
27 Fev - Aviso: não haverá aula LCC/TP2 esta sexta-feira, 2-Março. O docente combinará com os alunos deste turno uma aula de substituição.
24 Fev - Publicada no Material a ficha nr.3, a preparar para as aulas TP da semana de 26-Fev.
20 Fev - Chama-se a atenção para a mudança dos anfiteatros das aulas teóricas dos 2 cursos, cf. Horário.
17 Fev - Publicada no Material a ficha nr.2, a preparar para as aulas TP da semana de 19-Fev.
01 Fev - Início das aulas: semana de 12-Fev. Começarão primeiro as aulas TP com uma ficha de revisão de PF (Programação Funcional).
01 Fev - Criada esta página de avisos.
03 Ago - As notas dos exames da época especial estão publicadas em Alunos.
23 Jul - O exame da época especial (24-Jul) será na sala CP2 0.20, das 9h às 11h.
10 Jul - Consulta dos exames: amanhã das 11h às 13h, na sala de reuniões do 2º andar do DIUM.
10 Jul - As notas finais e dos TPs estão publicadas em Alunos.
25 Jun - O horário das defesas dos TPs está disponível nesta página. Cada defesa demora 15 minutos. Cada grupo deverá comparecer na sala indicada 5 mins antes da hora.
21 Jun - Horário para os alunos verem os testes: segunda-feira, dia 25-Jun, das 16h às 18h.
20 Jun - Afixadas as classificações do teste de 6-Jun em Alunos.
18 Jun - As defesas orais dos TP desta disciplina terão lugar de 3 a 5 de Julho. Oportunamente será divulgado o escalonamento dos grupos (gerado aleatoriamente).
17 Jun - Entrega dos TP: ver instruções em Alunos. Data limite: 23 de Junho.
31 Mai - Avisam-se os alunos que a data de submissão do TP desta disciplina foi adiada para sábado, 23 de Junho. Oportunamente serão dadas aqui as instruções para a entrega.
20 Mai - Publicada no Material a ficha nr.13 (última), a preparar para as aulas TP da semana de 21-Mai.
06 Mai - Publicada no Material a ficha nr.12, a preparar para as aulas TP da semana de 07-Mai.
06 Mai - Chama-se à atenção que a aula de reposição do turno MiEI/TP2 será não será no E1 mas sim na sala 1.03 do E2 - ver Sumários.
29 Abr - Publicada no Material a ficha nr.11, a preparar para as aulas TP da semana de 30-Abr.
22 Abr - Publicada no Material a ficha nr.10, a preparar para as aulas TP da semana de 23-Abr.
20 Abr - Trabalho prático: enunciado e material publicados em Material.
14 Abr - Publicada no Material a ficha nr.9, a preparar para as aulas TP da semana de 16-Abr.
09 Abr - Chama-se a atenção para a mudança de sala do turno MiEI/TP2, cf. Horário.
07 Abr - Publicada no Material a ficha nr.8, a preparar para as aulas TP da semana de 09-Abr.
03 Abr - A comunicação dos grupos de trabalho de CP deverá ser feita em http://www.di.uminho.pt/grupo_cp/ até dia 17 de Abril.
02 Abr - Publicada no Material a ficha nr.7, a preparar para as aulas TP da semana de 03-Abr.
17 Mar - Publicada no Material a ficha nr.6, a preparar para as aulas TP da semana de 19-Mar.
11 Mar - Publicada no Material a ficha nr.5, a preparar para as aulas TP da semana de 12-Mar.
03 Mar - Publicada no Material a ficha nr.4, a preparar para as aulas TP da semana de 05-Mar.
03 Mar - Notas TP de 16/17 - ver Alunos.
27 Fev - Aviso: não haverá aula LCC/TP2 esta sexta-feira, 2-Março. O docente combinará com os alunos deste turno uma aula de substituição.
24 Fev - Publicada no Material a ficha nr.3, a preparar para as aulas TP da semana de 26-Fev.
20 Fev - Chama-se a atenção para a mudança dos anfiteatros das aulas teóricas dos 2 cursos, cf. Horário.
17 Fev - Publicada no Material a ficha nr.2, a preparar para as aulas TP da semana de 19-Fev.
01 Fev - Início das aulas: semana de 12-Fev. Começarão primeiro as aulas TP com uma ficha de revisão de PF (Programação Funcional).
01 Fev - Criada esta página de avisos.