30 Set - Classificações finais dos alunos que fizeram exame da época especial: - ver Alunos12 Set - Data, hora e sala do exame da época especial - ver sumários25 Jul - Publicadas em Alunos as notas finais da disciplina.
9 Jul - Publicado no Material Pedagógico o enunciado do teste de 18-Jun com 5 questões resolvidas.
8 Jul - Hora e salas do exame de recurso de 12-Jul - ver sumários.
30 Jun - As classificações dos alunos com avaliação após teste de 18-Jun estão disponíveis em Alunos18 Jun - Tal como se avisou a 22-Fev, a equipa docente insiste que não poderá assegurar a componente de avaliação contínua aos alunos que não tiverem a sua fotografia no BB.
14 Jun - Não serão distribuídos formulários no teste de 18-Jun. Quem desejar pode levar o formulário que está disponível no Material Pedagógico e que é o único elemento de consulta.
12 Jun - As classificações das fichas de avaliação do Método A estão disponíveis em Alunos.
9 Jun - Publicadas no Material Pedagógico as fichas de avaliação do Método A.
28 Mai - Publicada no Material Pedagógico a ficha nr.12, destinada às aulas práticas da última semana de aulas.
27 Mai - Hora e salas do teste individual - ver sumários.
21 Mai - Publicada no Material Pedagógico a ficha nr.11, destinada às aulas práticas da semana que começa a 23-Mai.
15 Mai - Publicada na Bibliografia a última parte do texto de apoio à disciplina.
14 Mai - Publicada no Material Pedagógico a ficha nr.10, destinada às aulas práticas da semana que começa a 16-Mai.
04 Mai - Publicados no Material Pedagógico (secção "Bibliotecas") uma série de ficheiros em Haskell de apoio às aulas sobre a segunda parte da matéria.
30 Abr - Publicada no Material Pedagógico a ficha nr.9, destinada às aulas práticas da semana que começa a 2-Mai.
16 Abr - Publicada no Material Pedagógico a ficha nr.8, destinada às aulas práticas da semana que começa a 26-Abr.
11 Abr - Tendo sido por vários alunos manifestada vontade de anularem a ficha de avaliação nr.1 e transitarem para o método B, informa-se que o prazo limite para tomarem essa decisão é a próxima 6a-feira, dia 15-Abr, comunicando-o ao docente responsável carregando aqui.
09 Abr - Publicada no Material Pedagógico a ficha nr.7, destinada às aulas práticas da semana que começa a 11-Abr.
02 Abr - Método A - recorda-se que a avaliação nr.1 decorrerá nas aulas práticas da próxima semana. O único material de consulta é o formulário (em papel).
02 Abr - Publicadas no Material Pedagógico: (a) duas notas de apoio às aulas teóricas T-09 e T-10; (b) a ficha nr.6, destinada às aulas práticas da semana que começa a 4-Abr.
02 Abr - Publicado na Bibliografia mais um capítulo do texto de apoio à disciplina.
26 Mar - Publicada no Material Pedagógico a ficha nr.5, destinada às aulas práticas da semana que começa a 28-Mar.
19 Mar - Publicada no Material Pedagógico a ficha nr.4, destinada às aulas práticas da semana que começa a 21-Mar.
12 Mar - Publicada no Material Pedagógico a ficha nr.3, destinada às aulas práticas da semana que começa a 14-Mar.
5 Mar - Publicada nos sumários a calendarização prevista para as avaliações do Método A.
5 Mar - Publicada no Material Pedagógico a ficha nr.2, destinada às aulas práticas da semana que começa a 7-Mar.
26 Fev - Publicada no Material Pedagógico a ficha nr.1, destinada às aulas práticas da semana que começa a 28-Fev.
26 Fev - Publicada em Alunos a alocação aos turnos práticos revista de acordo com as condições de frequência do método A.
23 Fev - Mensagens para a equpa docente: usem Contacto ou no mínimo garantam que o string "CP/1011" aparece no assunto; de outra forma, não há garantia de se não perderem nos filtros de SPAM.
22 Fev - Fotografias: os alunos que não tem fotografia no portal académico (logo também não no BB) devem colocá-la o mais depressa possível.
22 Fev - Tendo a equipa docente recebido emails de alunos que se enganaram na sua inscrição, informa-se que essas situações serão tratadas após o fecho das inscrições, por ordem de chegada.
21 Fev - Inscrição nos turnos práticos: ver as condições de frequência em Regime de Avaliação.
19 Fev - Turnos práticos: a inscrição electrónica nos turnos práticos terá lugar 3ª-feira, dia 22-Fev das 10h00 às 18h00 via Blackboard (código: 1011.8204N5).
19 Fev - Os alunos devem estar atentos aos
Avisos da página da disciplina.
16 Fev - As aulas teóricas começam na próxima 5ª-feira, 24-Fev, às 09h00 - ver sumários.
16 Fev - Já estão calendarizadas as provas de avaliação -- ver
calendário da disciplina.
15 Fev - Foi criada esta página.
J.N. Oliveira. Program Design by Calculation. Departamento de Informática, Universidade do Minho. Livro em preparação: os capítulos relevantes para esta disciplina são o segundo, o terceiro e o quarto.
A. Cunha. Cálculo de Programas: notas teórico-práticas. Departamento de Informática, Universidade do Minho, 2005. Documento em preparação: (PDF).
Bibliografia complementar
R. Bird and O. de Moor. Algebra of Programming. Series in Computer Science. Prentice-Hall International, 1997. C. A. R. Hoare, series editor.
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 junto do respectivo docente, com um mínimo de uma semana de antecedência:
demos.hs - contendo material auxiliar para a visualização em HTML da estrutura de dados virtual (intermédia) dos hilomorfismos qSort, hanoi, mSort etc das bibliotecas BTree.hs e LTree.hs. Experimentar qSort_vtree [6,3,9,1,7,18] e hanoi_vtree (True, 7), por exemplo. Encontrar-se-á a visualização no ficheiro _.html da directoria corrente.
LTree.hs - biblioteca contendo os cata/ana/hilomorfismos do tipo de dados árvores binárias de folhas - LTree a = Leaf a | Split (LTree a, LTree a) e aplicações suas (e.g. duplo factorial, `merge-sort', Fibonacci etc).
BTree.hs - biblioteca contendo os cata/ana/hilomorfismos do 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 a respectiva bateria de combinadores ana+cata+hilo e exemplos de utilização, que incluem os dados nas aulas.
Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade e reutilização. «Pacotes» de programação.
Programação funcional: sua motivação e antecendentes históricos. Composição de funções. Noções de abstracção e de isomorfismo.
Iniciação à estruturação de dados. Combinadores básicos e suas propriedades estruturais (reflexão, fusão, absorção, cancelamento e de functorialidade). Álgebra de um tipo de dados. Lei da troca.
Introdução às estruturas de dados indutivas regulares. Álgebras de functores. A triologia «cata-ana-hilo». Recursividade polinomial. Caso de estudo: algoritmos de ordenação.
Parametrização e polimorfismo. Inferência de tipos polimórficos. Programação genérica. Functores de tipo. Introdução ao politipismo.
Programação funcional com efeitos. Mónades e sua teoria. Construção de programas monádicos. Exemplos: excepções, processamento de listas, computações com estado. Breve referência ao `input/output'.
Programa detalhado
1. Teoria e método em programação. Concepção composicional e reutilização. Combinadores de programas. Modelação funcional de problemas.
2. Introdução à Programação funcional. Conceito de função. A função como contrato. Diagramas de blocos. Domínio e codomínio de uma função. Igualdade extensional. Diagramas funcionais. Recurso a setas f : A -> B e diagramas. Notação funcional com ou sem variáveis.
3. Combinadores de programas funcionais. A composição f · g como combinador elementar de funções. Associatividade da composição: Função identidade id. O polimorfismo de id e a propriedade f ·id = id ·f = f e seu diagramas comutativo. O combinador <f,g> e o produto A × B (analogia com «struct» em C) e suas projecções. O combinador [f,g] e o coproduto A + B (analogia com «union» em C) e suas injecções. Os combinadores f × g e f + g . Noção de isomorfismo entre tipos de dados. Funções bijectivas ou isomorfismos. Função inversa. Predicados e guardas. Condicional de McCarthy.
4. Álgebra da programação funcional. Inferência de tipos polimórficos com recurso a diagramas. Propriedades naturais e propridades universais. Propriedades de reflexão. Propriedades de cancelamento e fusão. Lei da troca. Propriedades de absorção e propriedades functoriais. Leis de fusão do condicional de McCarthy.
5. Programação funcional em HASKELL. Costumização de produtos e coprodutos. Álgebras e coálgebras de tipos de dados. O conceito de «apontador» 1 + A (Maybe a em HASKELL). Funções parciais.
6. Programação com tipos de dados indutivos. Tipos de dados recursivos vistos como equações. Os número naturais e a equação N =1 + N. As listas ligadas e a equação L = 1 + A × L. Noção de combinadores recursivos. Exemplos: catamorfismos e anamorfismos. Hilomorfismos (anamorfismos seguidos de catamorfismos). Apresentação do módulo List.hs. Estudo da triologia cata-ana-hilo associada ao tipo List. O algoritmo de cálculo do quadrado de um número visto como hilomorfismo sobre a estrutura List a. O algoritmo de ordenação por inserção simples visto como hilomorfismo sobre a estrutura List a. Introdução ao tipo de dados árvores binárias simples, ou listas bi-lineares. Estudo da triologia cata-ana-hilo associada ao tipo BTree. Exemplo: o hilomorfismo qSort (`quick sort'). Estudo da triologia cata-ana-hilo associada ao tipo LTree. Exemplos: o hilomorfismo fib (série de Fibonacci) e o hilomorfismo mSort (`merge sort').
7. Definição genérica de um tipo indutivo de dados. Noção de functor de base. Operadores fmap vs catamorfismos: Politipismo da definição T a = B(a,T a) de um tipo indutivo genérico paramétrico. Noção de functor de tipo e sua formulação genérica como o catamorfismo T f =cata (in ·B(f,id)). Propriedade universal de um catamorfismo cata (f) do tipo genérico T a =B(a,t a) e suas derivadas: cancelamento-cata e reflexão-cata.
8. Classificação algorítmica. Quadro sinóptico dos principais algoritmos analisados e estudados ao longo da disciplina. Polimorfismo versus politipismo. Programação dita «genérica».
9. Programação funcional monádica. Motivação: funções parciais e sua composição. Manipulação de erros e mecanismos de excepção («exception handling»). Funções monádicas envolvendo listas. Mónadas versus functores. Noção de functor. Propriedades functoriais. Functores em HASKELL: a class Functor e o operador fmap. Regra geral para a composição monádica. Definição formal de mónade. Composição e sua unidade. Multiplicação e suas propriedades. Exemplos: listas e Maybe. Mónadas em HASKELL: a class Monad e os operadores return, (»=) e ». A notação do. Introdução à notação em compreensão. A definição fmap f x = do { a <- x ; return (f a) }. Regras para a monadificação de funções arbitrárias com recurso à notação "do".
Os alunos devem escolher um dos seguintes métodos de avaliação (época normal):
Método A:
3 Fichas individuais (2 questões, sem consulta) a realizar nas aulas TP: 12 valores, com nota mínima de 8 valores
Prova individual escrita (sem consulta e só para alunos com essa nota mínima): 8 valores.
Método B:
Prova individual escrita (sem consulta): 20 valores, com nota mínima de 10 valores.
NB: As provas individuais escritas acima referidas terão lugar no dia 18-Jun (sábado), às 9h00, nas salas 2202, 2203, 2204, 2205.
IMPORTANTE: Condições de frequência/avaliação:
Alunos de 1ª inscrição: podem escolher entre os métodos de A ou B.
Outros alunos: quem frequentou o método de avaliação A em (quaisquer) anos anteriores só pode escolher o método B. (A sua inscrição no método A será liminarmente rejeitada.)
TWiki's Education/CP1011 webThe Education/CP1011 web of TWiki. TWiki is a Web-Based Collaboration Platform for the Enterprise.http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011Copyright 2020 by contributing authors2020-10-30T14:39:02ZWebStatisticshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebStatistics2020-10-30T14:39:02ZStatistics for Education/CP1011 Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for topic ... (last changed by TWikiGuest)TWikiGuestAvisoshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Avisos2012-02-20T12:27:35Z30 Set Classificações finais dos alunos que fizeram exame da época especial: ver Alunos 12 Set Data, hora e sala do exame da época especial ver sumários ... (last changed by JoseNunoOliveira)JoseNunoOliveiraHorarioAtendimentohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/HorarioAtendimento2012-02-20T12:26:55ZHorá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)JoseNunoOliveiraAlunoshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Alunos2011-10-04T13:06:11ZClassificações Finais: Classificações da época especial por ordem crescente de número mecanográfico (SI sem informação): 38207 F ; 41829 F ; 43137 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebSideBarhttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebSideBar2011-10-04T12:35:18ZTópicos Apresentação Docentes Contacto (1011.8204N5) pública Alunos Regime de Avaliação Horário Atendimento Sumários ... (last changed by JoseNunoOliveira)JoseNunoOliveiraProgramahttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Programa2011-07-12T14:38:02ZPrograma resumido Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade ... (last changed by JoseNunoOliveira)JoseNunoOliveiraMaterialPedagogicohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/MaterialPedagogico2011-07-12T14:32:12ZMaterial Pedagógico Fichas das aulas práticas Ficha 1 Ficha 2 Ficha 3 Ficha 4 Ficha 5 Ficha 6 Ficha 7 Ficha 8 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraRegimeAvaliacaohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/RegimeAvaliacao2011-06-07T08:13:43ZRegime de Avaliação Os alunos devem escolher um dos seguintes métodos de avaliação (época normal): Método A: 3 Fichas individuais (2 questões, sem consulta ... (last changed by JoseNunoOliveira)JoseNunoOliveiraCalendariohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Calendario2011-05-27T13:17:53ZSumários da disciplina Formato PDF (última actualização: 2011.Mai.27) : calendar 2011 01 01 2011 08 02.pdf. Formato ICS (última actualização: 2011.Mai.27) : ... (last changed by JoseNunoOliveira)JoseNunoOliveiraBibliografiahttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Bibliografia2011-05-21T07:53:54ZBibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Livro em preparação: os capítulos relevantes ... (last changed by JoseNunoOliveira)JoseNunoOliveiraHorarioSalasDocenteshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/HorarioSalasDocentes2011-04-26T21:18:34ZHorário Ref Dia Hora Tipo (turno) Método Sala Curso Docente 1 2. feira 11h00 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebHomehttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebHome2011-02-22T14:06:30ZBenvindo a Cálculo de Programas Bem vindo à página da edição de 2010/11 da disciplina de de Programas. O meu nome é José Nuno Oliveira e sou o responsável por esta ... (last changed by JoseNunoOliveira)JoseNunoOliveiraEquipaDocentehttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/EquipaDocente2011-02-15T12:03:14ZDocentes Docente Código Aulas Licenciaturas Nuno Oliveira 406006 T TP LEI Soares Barbosa 406023 TP LEI Pacheco ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebPreferenceshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebPreferences2011-02-15T11:42:47ZEducation/CP1011 Web Preferences The following settings are web preferences of the Education/CP1011 web. These preferences overwrite the site level preferences ... (last changed by AlcinoCunha)AlcinoCunhaWebTopicActionshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebTopicActions2007-05-18T08:03:35Z (last changed by AlcinoCunha)AlcinoCunhaWebCsshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/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)AlcinoCunha
30 Set Classificações finais dos alunos que fizeram exame da época especial: ver Alunos 12 Set Data, hora e sala do exame da época especial ver sumários ...
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 ...
Programa resumido Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade ...
Regime de Avaliação Os alunos devem escolher um dos seguintes métodos de avaliação (época normal): Método A: 3 Fichas individuais (2 questões, sem consulta ...
Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Livro em preparação: os capítulos relevantes ...
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2010/11 da disciplina de de Programas. O meu nome é José Nuno Oliveira e sou o responsável por esta ...
Education/CP1011 Web Preferences The following settings are web preferences of the Education/CP1011 web. These preferences overwrite the site level preferences ...
Bem vindo à página da edição de 2010/11 da disciplina de Cálculo de Programas.
O meu nome é José Nuno Oliveira e sou o responsável por esta disciplina, que conta com uma
equipa de docentes altamente qualificados na investigação e ensino 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 (Formal Methods for High-Assurance Software), em que se vem consolidando know-how em métodos formais de programação desde há mais de 25 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 a sério, isto é, de forma reflectida, capaz de evitar 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 que a sua correcção fique comprometida.
A Universidade do Minho tem uma longa tradição neste tipo de ensino.
Cálculo de Programas é a cadeira que, nas licenciaturas de
Eng. Informática e Ciências da Computação, ensina tais competências. Mais do que tecnologia ensina-se método, que é afinal aquilo que a maioria dos programadores não tem de facto.
Resultados da Aprendizagem
Quien sabe por Algebra, sabe scientificamente. Pedro Nunes(1502-1578) in Libro de Algebra, 1567, fol 270r.
Construção de programas: escrever programas funcionais de forma composicional, com recurso a combinadores algébricos.
Transformação de programas: recurso à algebra da programação para se obterem programas mais eficientes sem comprometer as sua correcção.
Análise e compreensão de programas: recurso à factorização em pares "fold" + "unfold" (hilomorfismos) como forma de se perceber a arquitectura dos algoritmos e sua catalogação.
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.
30 Set Classificações finais dos alunos que fizeram exame da época especial: ver Alunos 12 Set Data, hora e sala do exame da época especial ver sumários ...
Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Livro em preparação: os capítulos relevantes ...
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 ...
Programa resumido Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade ...
Regime de Avaliação Os alunos devem escolher um dos seguintes métodos de avaliação (época normal): Método A: 3 Fichas individuais (2 questões, sem consulta ...
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2010/11 da disciplina de de Programas. O meu nome é José Nuno Oliveira e sou o responsável por esta ...
Education/CP1011 Web Preferences The following settings are web preferences of the Education/CP1011 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/CP1011 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/CP1011.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 = Licenciatura em Engenharia Informática
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/CP1011 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/CP1011
The Education/CP1011 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/CP1011
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011
/twiki/pub/Main/LocalLogos/um_eengP.jpgAvisos
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Avisos
30 Set Classificações finais dos alunos que fizeram exame da época especial: ver Alunos 12 Set Data, hora e sala do exame da época especial ver sumários ... (last changed by JoseNunoOliveira)2012-02-20T12:27:35ZJoseNunoOliveiraHorarioAtendimento
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/HorarioAtendimento
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)2012-02-20T12:26:55ZJoseNunoOliveiraAlunos
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Alunos
Classificações Finais: Classificações da época especial por ordem crescente de número mecanográfico (SI sem informação): 38207 F ; 41829 F ; 43137 ... (last changed by JoseNunoOliveira)2011-10-04T13:06:11ZJoseNunoOliveiraWebSideBar
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebSideBar
Tópicos Apresentação Docentes Contacto (1011.8204N5) pública Alunos Regime de Avaliação Horário Atendimento Sumários ... (last changed by JoseNunoOliveira)2011-10-04T12:35:18ZJoseNunoOliveiraPrograma
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Programa
Programa resumido Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade ... (last changed by JoseNunoOliveira)2011-07-12T14:38:02ZJoseNunoOliveiraMaterialPedagogico
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/MaterialPedagogico
Material Pedagógico Fichas das aulas práticas Ficha 1 Ficha 2 Ficha 3 Ficha 4 Ficha 5 Ficha 6 Ficha 7 Ficha 8 ... (last changed by JoseNunoOliveira)2011-07-12T14:32:12ZJoseNunoOliveiraRegimeAvaliacao
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/RegimeAvaliacao
Regime de Avaliação Os alunos devem escolher um dos seguintes métodos de avaliação (época normal): Método A: 3 Fichas individuais (2 questões, sem consulta ... (last changed by JoseNunoOliveira)2011-06-07T08:13:43ZJoseNunoOliveiraCalendario
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Calendario
Sumários da disciplina Formato PDF (última actualização: 2011.Mai.27) : calendar 2011 01 01 2011 08 02.pdf. Formato ICS (última actualização: 2011.Mai.27) : ... (last changed by JoseNunoOliveira)2011-05-27T13:17:53ZJoseNunoOliveiraBibliografia
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Bibliografia
Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Livro em preparação: os capítulos relevantes ... (last changed by JoseNunoOliveira)2011-05-21T07:53:54ZJoseNunoOliveiraHorarioSalasDocentes
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/HorarioSalasDocentes
Horário Ref Dia Hora Tipo (turno) Método Sala Curso Docente 1 2. feira 11h00 ... (last changed by JoseNunoOliveira)2011-04-26T21:18:34ZJoseNunoOliveiraWebHome
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebHome
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2010/11 da disciplina de de Programas. O meu nome é José Nuno Oliveira e sou o responsável por esta ... (last changed by JoseNunoOliveira)2011-02-22T14:06:30ZJoseNunoOliveiraEquipaDocente
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/EquipaDocente
Docentes Docente Código Aulas Licenciaturas Nuno Oliveira 406006 T TP LEI Soares Barbosa 406023 TP LEI Pacheco ... (last changed by JoseNunoOliveira)2011-02-15T12:03:14ZJoseNunoOliveiraWebPreferences
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebPreferences
Education/CP1011 Web Preferences The following settings are web preferences of the Education/CP1011 web. These preferences overwrite the site level preferences ... (last changed by AlcinoCunha)2011-02-15T11:42:47ZAlcinoCunhaWebTopicActions
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebTopicActions
(last changed by AlcinoCunha)2007-05-18T08:03:35ZAlcinoCunhaWebCss
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/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/CP1011/WebTopBar
(last changed by AlcinoCunha)2007-02-13T14:43:04ZAlcinoCunha
30 Set - Classificações finais dos alunos que fizeram exame da época especial: - ver Alunos12 Set - Data, hora e sala do exame da época especial - ver sumários25 Jul - Publicadas em Alunos as notas finais da disciplina.
9 Jul - Publicado no Material Pedagógico o enunciado do teste de 18-Jun com 5 questões resolvidas.
8 Jul - Hora e salas do exame de recurso de 12-Jul - ver sumários.
30 Jun - As classificações dos alunos com avaliação após teste de 18-Jun estão disponíveis em Alunos18 Jun - Tal como se avisou a 22-Fev, a equipa docente insiste que não poderá assegurar a componente de avaliação contínua aos alunos que não tiverem a sua fotografia no BB.
14 Jun - Não serão distribuídos formulários no teste de 18-Jun. Quem desejar pode levar o formulário que está disponível no Material Pedagógico e que é o único elemento de consulta.
12 Jun - As classificações das fichas de avaliação do Método A estão disponíveis em Alunos.
9 Jun - Publicadas no Material Pedagógico as fichas de avaliação do Método A.
28 Mai - Publicada no Material Pedagógico a ficha nr.12, destinada às aulas práticas da última semana de aulas.
27 Mai - Hora e salas do teste individual - ver sumários.
21 Mai - Publicada no Material Pedagógico a ficha nr.11, destinada às aulas práticas da semana que começa a 23-Mai.
15 Mai - Publicada na Bibliografia a última parte do texto de apoio à disciplina.
14 Mai - Publicada no Material Pedagógico a ficha nr.10, destinada às aulas práticas da semana que começa a 16-Mai.
04 Mai - Publicados no Material Pedagógico (secção "Bibliotecas") uma série de ficheiros em Haskell de apoio às aulas sobre a segunda parte da matéria.
30 Abr - Publicada no Material Pedagógico a ficha nr.9, destinada às aulas práticas da semana que começa a 2-Mai.
16 Abr - Publicada no Material Pedagógico a ficha nr.8, destinada às aulas práticas da semana que começa a 26-Abr.
11 Abr - Tendo sido por vários alunos manifestada vontade de anularem a ficha de avaliação nr.1 e transitarem para o método B, informa-se que o prazo limite para tomarem essa decisão é a próxima 6a-feira, dia 15-Abr, comunicando-o ao docente responsável carregando aqui.
09 Abr - Publicada no Material Pedagógico a ficha nr.7, destinada às aulas práticas da semana que começa a 11-Abr.
02 Abr - Método A - recorda-se que a avaliação nr.1 decorrerá nas aulas práticas da próxima semana. O único material de consulta é o formulário (em papel).
02 Abr - Publicadas no Material Pedagógico: (a) duas notas de apoio às aulas teóricas T-09 e T-10; (b) a ficha nr.6, destinada às aulas práticas da semana que começa a 4-Abr.
02 Abr - Publicado na Bibliografia mais um capítulo do texto de apoio à disciplina.
26 Mar - Publicada no Material Pedagógico a ficha nr.5, destinada às aulas práticas da semana que começa a 28-Mar.
19 Mar - Publicada no Material Pedagógico a ficha nr.4, destinada às aulas práticas da semana que começa a 21-Mar.
12 Mar - Publicada no Material Pedagógico a ficha nr.3, destinada às aulas práticas da semana que começa a 14-Mar.
5 Mar - Publicada nos sumários a calendarização prevista para as avaliações do Método A.
5 Mar - Publicada no Material Pedagógico a ficha nr.2, destinada às aulas práticas da semana que começa a 7-Mar.
26 Fev - Publicada no Material Pedagógico a ficha nr.1, destinada às aulas práticas da semana que começa a 28-Fev.
26 Fev - Publicada em Alunos a alocação aos turnos práticos revista de acordo com as condições de frequência do método A.
23 Fev - Mensagens para a equpa docente: usem Contacto ou no mínimo garantam que o string "CP/1011" aparece no assunto; de outra forma, não há garantia de se não perderem nos filtros de SPAM.
22 Fev - Fotografias: os alunos que não tem fotografia no portal académico (logo também não no BB) devem colocá-la o mais depressa possível.
22 Fev - Tendo a equipa docente recebido emails de alunos que se enganaram na sua inscrição, informa-se que essas situações serão tratadas após o fecho das inscrições, por ordem de chegada.
21 Fev - Inscrição nos turnos práticos: ver as condições de frequência em Regime de Avaliação.
19 Fev - Turnos práticos: a inscrição electrónica nos turnos práticos terá lugar 3ª-feira, dia 22-Fev das 10h00 às 18h00 via Blackboard (código: 1011.8204N5).
19 Fev - Os alunos devem estar atentos aos
Avisos da página da disciplina.
16 Fev - As aulas teóricas começam na próxima 5ª-feira, 24-Fev, às 09h00 - ver sumários.
16 Fev - Já estão calendarizadas as provas de avaliação -- ver
calendário da disciplina.
15 Fev - Foi criada esta página.
J.N. Oliveira. Program Design by Calculation. Departamento de Informática, Universidade do Minho. Livro em preparação: os capítulos relevantes para esta disciplina são o segundo, o terceiro e o quarto.
A. Cunha. Cálculo de Programas: notas teórico-práticas. Departamento de Informática, Universidade do Minho, 2005. Documento em preparação: (PDF).
Bibliografia complementar
R. Bird and O. de Moor. Algebra of Programming. Series in Computer Science. Prentice-Hall International, 1997. C. A. R. Hoare, series editor.
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 junto do respectivo docente, com um mínimo de uma semana de antecedência:
demos.hs - contendo material auxiliar para a visualização em HTML da estrutura de dados virtual (intermédia) dos hilomorfismos qSort, hanoi, mSort etc das bibliotecas BTree.hs e LTree.hs. Experimentar qSort_vtree [6,3,9,1,7,18] e hanoi_vtree (True, 7), por exemplo. Encontrar-se-á a visualização no ficheiro _.html da directoria corrente.
LTree.hs - biblioteca contendo os cata/ana/hilomorfismos do tipo de dados árvores binárias de folhas - LTree a = Leaf a | Split (LTree a, LTree a) e aplicações suas (e.g. duplo factorial, `merge-sort', Fibonacci etc).
BTree.hs - biblioteca contendo os cata/ana/hilomorfismos do 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 a respectiva bateria de combinadores ana+cata+hilo e exemplos de utilização, que incluem os dados nas aulas.
Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade e reutilização. «Pacotes» de programação.
Programação funcional: sua motivação e antecendentes históricos. Composição de funções. Noções de abstracção e de isomorfismo.
Iniciação à estruturação de dados. Combinadores básicos e suas propriedades estruturais (reflexão, fusão, absorção, cancelamento e de functorialidade). Álgebra de um tipo de dados. Lei da troca.
Introdução às estruturas de dados indutivas regulares. Álgebras de functores. A triologia «cata-ana-hilo». Recursividade polinomial. Caso de estudo: algoritmos de ordenação.
Parametrização e polimorfismo. Inferência de tipos polimórficos. Programação genérica. Functores de tipo. Introdução ao politipismo.
Programação funcional com efeitos. Mónades e sua teoria. Construção de programas monádicos. Exemplos: excepções, processamento de listas, computações com estado. Breve referência ao `input/output'.
Programa detalhado
1. Teoria e método em programação. Concepção composicional e reutilização. Combinadores de programas. Modelação funcional de problemas.
2. Introdução à Programação funcional. Conceito de função. A função como contrato. Diagramas de blocos. Domínio e codomínio de uma função. Igualdade extensional. Diagramas funcionais. Recurso a setas f : A -> B e diagramas. Notação funcional com ou sem variáveis.
3. Combinadores de programas funcionais. A composição f · g como combinador elementar de funções. Associatividade da composição: Função identidade id. O polimorfismo de id e a propriedade f ·id = id ·f = f e seu diagramas comutativo. O combinador <f,g> e o produto A × B (analogia com «struct» em C) e suas projecções. O combinador [f,g] e o coproduto A + B (analogia com «union» em C) e suas injecções. Os combinadores f × g e f + g . Noção de isomorfismo entre tipos de dados. Funções bijectivas ou isomorfismos. Função inversa. Predicados e guardas. Condicional de McCarthy.
4. Álgebra da programação funcional. Inferência de tipos polimórficos com recurso a diagramas. Propriedades naturais e propridades universais. Propriedades de reflexão. Propriedades de cancelamento e fusão. Lei da troca. Propriedades de absorção e propriedades functoriais. Leis de fusão do condicional de McCarthy.
5. Programação funcional em HASKELL. Costumização de produtos e coprodutos. Álgebras e coálgebras de tipos de dados. O conceito de «apontador» 1 + A (Maybe a em HASKELL). Funções parciais.
6. Programação com tipos de dados indutivos. Tipos de dados recursivos vistos como equações. Os número naturais e a equação N =1 + N. As listas ligadas e a equação L = 1 + A × L. Noção de combinadores recursivos. Exemplos: catamorfismos e anamorfismos. Hilomorfismos (anamorfismos seguidos de catamorfismos). Apresentação do módulo List.hs. Estudo da triologia cata-ana-hilo associada ao tipo List. O algoritmo de cálculo do quadrado de um número visto como hilomorfismo sobre a estrutura List a. O algoritmo de ordenação por inserção simples visto como hilomorfismo sobre a estrutura List a. Introdução ao tipo de dados árvores binárias simples, ou listas bi-lineares. Estudo da triologia cata-ana-hilo associada ao tipo BTree. Exemplo: o hilomorfismo qSort (`quick sort'). Estudo da triologia cata-ana-hilo associada ao tipo LTree. Exemplos: o hilomorfismo fib (série de Fibonacci) e o hilomorfismo mSort (`merge sort').
7. Definição genérica de um tipo indutivo de dados. Noção de functor de base. Operadores fmap vs catamorfismos: Politipismo da definição T a = B(a,T a) de um tipo indutivo genérico paramétrico. Noção de functor de tipo e sua formulação genérica como o catamorfismo T f =cata (in ·B(f,id)). Propriedade universal de um catamorfismo cata (f) do tipo genérico T a =B(a,t a) e suas derivadas: cancelamento-cata e reflexão-cata.
8. Classificação algorítmica. Quadro sinóptico dos principais algoritmos analisados e estudados ao longo da disciplina. Polimorfismo versus politipismo. Programação dita «genérica».
9. Programação funcional monádica. Motivação: funções parciais e sua composição. Manipulação de erros e mecanismos de excepção («exception handling»). Funções monádicas envolvendo listas. Mónadas versus functores. Noção de functor. Propriedades functoriais. Functores em HASKELL: a class Functor e o operador fmap. Regra geral para a composição monádica. Definição formal de mónade. Composição e sua unidade. Multiplicação e suas propriedades. Exemplos: listas e Maybe. Mónadas em HASKELL: a class Monad e os operadores return, (»=) e ». A notação do. Introdução à notação em compreensão. A definição fmap f x = do { a <- x ; return (f a) }. Regras para a monadificação de funções arbitrárias com recurso à notação "do".
Os alunos devem escolher um dos seguintes métodos de avaliação (época normal):
Método A:
3 Fichas individuais (2 questões, sem consulta) a realizar nas aulas TP: 12 valores, com nota mínima de 8 valores
Prova individual escrita (sem consulta e só para alunos com essa nota mínima): 8 valores.
Método B:
Prova individual escrita (sem consulta): 20 valores, com nota mínima de 10 valores.
NB: As provas individuais escritas acima referidas terão lugar no dia 18-Jun (sábado), às 9h00, nas salas 2202, 2203, 2204, 2205.
IMPORTANTE: Condições de frequência/avaliação:
Alunos de 1ª inscrição: podem escolher entre os métodos de A ou B.
Outros alunos: quem frequentou o método de avaliação A em (quaisquer) anos anteriores só pode escolher o método B. (A sua inscrição no método A será liminarmente rejeitada.)
TWiki's Education/CP1011 webThe Education/CP1011 web of TWiki. TWiki is a Web-Based Collaboration Platform for the Enterprise.http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011Copyright 2020 by contributing authors2020-10-30T14:39:02ZWebStatisticshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebStatistics2020-10-30T14:39:02ZStatistics for Education/CP1011 Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for topic ... (last changed by TWikiGuest)TWikiGuestAvisoshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Avisos2012-02-20T12:27:35Z30 Set Classificações finais dos alunos que fizeram exame da época especial: ver Alunos 12 Set Data, hora e sala do exame da época especial ver sumários ... (last changed by JoseNunoOliveira)JoseNunoOliveiraHorarioAtendimentohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/HorarioAtendimento2012-02-20T12:26:55ZHorá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)JoseNunoOliveiraAlunoshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Alunos2011-10-04T13:06:11ZClassificações Finais: Classificações da época especial por ordem crescente de número mecanográfico (SI sem informação): 38207 F ; 41829 F ; 43137 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebSideBarhttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebSideBar2011-10-04T12:35:18ZTópicos Apresentação Docentes Contacto (1011.8204N5) pública Alunos Regime de Avaliação Horário Atendimento Sumários ... (last changed by JoseNunoOliveira)JoseNunoOliveiraProgramahttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Programa2011-07-12T14:38:02ZPrograma resumido Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade ... (last changed by JoseNunoOliveira)JoseNunoOliveiraMaterialPedagogicohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/MaterialPedagogico2011-07-12T14:32:12ZMaterial Pedagógico Fichas das aulas práticas Ficha 1 Ficha 2 Ficha 3 Ficha 4 Ficha 5 Ficha 6 Ficha 7 Ficha 8 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraRegimeAvaliacaohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/RegimeAvaliacao2011-06-07T08:13:43ZRegime de Avaliação Os alunos devem escolher um dos seguintes métodos de avaliação (época normal): Método A: 3 Fichas individuais (2 questões, sem consulta ... (last changed by JoseNunoOliveira)JoseNunoOliveiraCalendariohttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Calendario2011-05-27T13:17:53ZSumários da disciplina Formato PDF (última actualização: 2011.Mai.27) : calendar 2011 01 01 2011 08 02.pdf. Formato ICS (última actualização: 2011.Mai.27) : ... (last changed by JoseNunoOliveira)JoseNunoOliveiraBibliografiahttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Bibliografia2011-05-21T07:53:54ZBibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Livro em preparação: os capítulos relevantes ... (last changed by JoseNunoOliveira)JoseNunoOliveiraHorarioSalasDocenteshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/HorarioSalasDocentes2011-04-26T21:18:34ZHorário Ref Dia Hora Tipo (turno) Método Sala Curso Docente 1 2. feira 11h00 ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebHomehttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebHome2011-02-22T14:06:30ZBenvindo a Cálculo de Programas Bem vindo à página da edição de 2010/11 da disciplina de de Programas. O meu nome é José Nuno Oliveira e sou o responsável por esta ... (last changed by JoseNunoOliveira)JoseNunoOliveiraEquipaDocentehttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/EquipaDocente2011-02-15T12:03:14ZDocentes Docente Código Aulas Licenciaturas Nuno Oliveira 406006 T TP LEI Soares Barbosa 406023 TP LEI Pacheco ... (last changed by JoseNunoOliveira)JoseNunoOliveiraWebPreferenceshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebPreferences2011-02-15T11:42:47ZEducation/CP1011 Web Preferences The following settings are web preferences of the Education/CP1011 web. These preferences overwrite the site level preferences ... (last changed by AlcinoCunha)AlcinoCunhaWebTopicActionshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebTopicActions2007-05-18T08:03:35Z (last changed by AlcinoCunha)AlcinoCunhaWebCsshttp://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/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)AlcinoCunha
30 Set Classificações finais dos alunos que fizeram exame da época especial: ver Alunos 12 Set Data, hora e sala do exame da época especial ver sumários ...
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 ...
Programa resumido Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade ...
Regime de Avaliação Os alunos devem escolher um dos seguintes métodos de avaliação (época normal): Método A: 3 Fichas individuais (2 questões, sem consulta ...
Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Livro em preparação: os capítulos relevantes ...
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2010/11 da disciplina de de Programas. O meu nome é José Nuno Oliveira e sou o responsável por esta ...
Education/CP1011 Web Preferences The following settings are web preferences of the Education/CP1011 web. These preferences overwrite the site level preferences ...
Bem vindo à página da edição de 2010/11 da disciplina de Cálculo de Programas.
O meu nome é José Nuno Oliveira e sou o responsável por esta disciplina, que conta com uma
equipa de docentes altamente qualificados na investigação e ensino 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 (Formal Methods for High-Assurance Software), em que se vem consolidando know-how em métodos formais de programação desde há mais de 25 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 a sério, isto é, de forma reflectida, capaz de evitar 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 que a sua correcção fique comprometida.
A Universidade do Minho tem uma longa tradição neste tipo de ensino.
Cálculo de Programas é a cadeira que, nas licenciaturas de
Eng. Informática e Ciências da Computação, ensina tais competências. Mais do que tecnologia ensina-se método, que é afinal aquilo que a maioria dos programadores não tem de facto.
Resultados da Aprendizagem
Quien sabe por Algebra, sabe scientificamente. Pedro Nunes(1502-1578) in Libro de Algebra, 1567, fol 270r.
Construção de programas: escrever programas funcionais de forma composicional, com recurso a combinadores algébricos.
Transformação de programas: recurso à algebra da programação para se obterem programas mais eficientes sem comprometer as sua correcção.
Análise e compreensão de programas: recurso à factorização em pares "fold" + "unfold" (hilomorfismos) como forma de se perceber a arquitectura dos algoritmos e sua catalogação.
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.
30 Set Classificações finais dos alunos que fizeram exame da época especial: ver Alunos 12 Set Data, hora e sala do exame da época especial ver sumários ...
Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Livro em preparação: os capítulos relevantes ...
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 ...
Programa resumido Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade ...
Regime de Avaliação Os alunos devem escolher um dos seguintes métodos de avaliação (época normal): Método A: 3 Fichas individuais (2 questões, sem consulta ...
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2010/11 da disciplina de de Programas. O meu nome é José Nuno Oliveira e sou o responsável por esta ...
Education/CP1011 Web Preferences The following settings are web preferences of the Education/CP1011 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/CP1011 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/CP1011.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 = Licenciatura em Engenharia Informática
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/CP1011 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/CP1011
The Education/CP1011 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/CP1011
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011
/twiki/pub/Main/LocalLogos/um_eengP.jpgAvisos
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Avisos
30 Set Classificações finais dos alunos que fizeram exame da época especial: ver Alunos 12 Set Data, hora e sala do exame da época especial ver sumários ... (last changed by JoseNunoOliveira)2012-02-20T12:27:35ZJoseNunoOliveiraHorarioAtendimento
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/HorarioAtendimento
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)2012-02-20T12:26:55ZJoseNunoOliveiraAlunos
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Alunos
Classificações Finais: Classificações da época especial por ordem crescente de número mecanográfico (SI sem informação): 38207 F ; 41829 F ; 43137 ... (last changed by JoseNunoOliveira)2011-10-04T13:06:11ZJoseNunoOliveiraWebSideBar
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebSideBar
Tópicos Apresentação Docentes Contacto (1011.8204N5) pública Alunos Regime de Avaliação Horário Atendimento Sumários ... (last changed by JoseNunoOliveira)2011-10-04T12:35:18ZJoseNunoOliveiraPrograma
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Programa
Programa resumido Motivação. Teoria e método em programação. Cálculo e raciocínio sobre programas. Composicionalidade. Combinadores de programas. Modularidade ... (last changed by JoseNunoOliveira)2011-07-12T14:38:02ZJoseNunoOliveiraMaterialPedagogico
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/MaterialPedagogico
Material Pedagógico Fichas das aulas práticas Ficha 1 Ficha 2 Ficha 3 Ficha 4 Ficha 5 Ficha 6 Ficha 7 Ficha 8 ... (last changed by JoseNunoOliveira)2011-07-12T14:32:12ZJoseNunoOliveiraRegimeAvaliacao
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/RegimeAvaliacao
Regime de Avaliação Os alunos devem escolher um dos seguintes métodos de avaliação (época normal): Método A: 3 Fichas individuais (2 questões, sem consulta ... (last changed by JoseNunoOliveira)2011-06-07T08:13:43ZJoseNunoOliveiraCalendario
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Calendario
Sumários da disciplina Formato PDF (última actualização: 2011.Mai.27) : calendar 2011 01 01 2011 08 02.pdf. Formato ICS (última actualização: 2011.Mai.27) : ... (last changed by JoseNunoOliveira)2011-05-27T13:17:53ZJoseNunoOliveiraBibliografia
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/Bibliografia
Bibliografia essencial J.N. Oliveira. Program Design by Calculation . Departamento de Informática, Universidade do Minho. Livro em preparação: os capítulos relevantes ... (last changed by JoseNunoOliveira)2011-05-21T07:53:54ZJoseNunoOliveiraHorarioSalasDocentes
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/HorarioSalasDocentes
Horário Ref Dia Hora Tipo (turno) Método Sala Curso Docente 1 2. feira 11h00 ... (last changed by JoseNunoOliveira)2011-04-26T21:18:34ZJoseNunoOliveiraWebHome
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebHome
Benvindo a Cálculo de Programas Bem vindo à página da edição de 2010/11 da disciplina de de Programas. O meu nome é José Nuno Oliveira e sou o responsável por esta ... (last changed by JoseNunoOliveira)2011-02-22T14:06:30ZJoseNunoOliveiraEquipaDocente
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/EquipaDocente
Docentes Docente Código Aulas Licenciaturas Nuno Oliveira 406006 T TP LEI Soares Barbosa 406023 TP LEI Pacheco ... (last changed by JoseNunoOliveira)2011-02-15T12:03:14ZJoseNunoOliveiraWebPreferences
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebPreferences
Education/CP1011 Web Preferences The following settings are web preferences of the Education/CP1011 web. These preferences overwrite the site level preferences ... (last changed by AlcinoCunha)2011-02-15T11:42:47ZAlcinoCunhaWebTopicActions
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/WebTopicActions
(last changed by AlcinoCunha)2007-05-18T08:03:35ZAlcinoCunhaWebCss
http://wiki.di.uminho.pt/twiki/bin/view/Education/CP1011/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/CP1011/WebTopBar
(last changed by AlcinoCunha)2007-02-13T14:43:04ZAlcinoCunha
30 Set - Classificações finais dos alunos que fizeram exame da época especial: - ver Alunos12 Set - Data, hora e sala do exame da época especial - ver sumários25 Jul - Publicadas em Alunos as notas finais da disciplina.
9 Jul - Publicado no Material Pedagógico o enunciado do teste de 18-Jun com 5 questões resolvidas.
8 Jul - Hora e salas do exame de recurso de 12-Jul - ver sumários.
30 Jun - As classificações dos alunos com avaliação após teste de 18-Jun estão disponíveis em Alunos18 Jun - Tal como se avisou a 22-Fev, a equipa docente insiste que não poderá assegurar a componente de avaliação contínua aos alunos que não tiverem a sua fotografia no BB.
14 Jun - Não serão distribuídos formulários no teste de 18-Jun. Quem desejar pode levar o formulário que está disponível no Material Pedagógico e que é o único elemento de consulta.
12 Jun - As classificações das fichas de avaliação do Método A estão disponíveis em Alunos.
9 Jun - Publicadas no Material Pedagógico as fichas de avaliação do Método A.
28 Mai - Publicada no Material Pedagógico a ficha nr.12, destinada às aulas práticas da última semana de aulas.
27 Mai - Hora e salas do teste individual - ver sumários.
21 Mai - Publicada no Material Pedagógico a ficha nr.11, destinada às aulas práticas da semana que começa a 23-Mai.
15 Mai - Publicada na Bibliografia a última parte do texto de apoio à disciplina.
14 Mai - Publicada no Material Pedagógico a ficha nr.10, destinada às aulas práticas da semana que começa a 16-Mai.
04 Mai - Publicados no Material Pedagógico (secção "Bibliotecas") uma série de ficheiros em Haskell de apoio às aulas sobre a segunda parte da matéria.
30 Abr - Publicada no Material Pedagógico a ficha nr.9, destinada às aulas práticas da semana que começa a 2-Mai.
16 Abr - Publicada no Material Pedagógico a ficha nr.8, destinada às aulas práticas da semana que começa a 26-Abr.
11 Abr - Tendo sido por vários alunos manifestada vontade de anularem a ficha de avaliação nr.1 e transitarem para o método B, informa-se que o prazo limite para tomarem essa decisão é a próxima 6a-feira, dia 15-Abr, comunicando-o ao docente responsável carregando aqui.
09 Abr - Publicada no Material Pedagógico a ficha nr.7, destinada às aulas práticas da semana que começa a 11-Abr.
02 Abr - Método A - recorda-se que a avaliação nr.1 decorrerá nas aulas práticas da próxima semana. O único material de consulta é o formulário (em papel).
02 Abr - Publicadas no Material Pedagógico: (a) duas notas de apoio às aulas teóricas T-09 e T-10; (b) a ficha nr.6, destinada às aulas práticas da semana que começa a 4-Abr.
02 Abr - Publicado na Bibliografia mais um capítulo do texto de apoio à disciplina.
26 Mar - Publicada no Material Pedagógico a ficha nr.5, destinada às aulas práticas da semana que começa a 28-Mar.
19 Mar - Publicada no Material Pedagógico a ficha nr.4, destinada às aulas práticas da semana que começa a 21-Mar.
12 Mar - Publicada no Material Pedagógico a ficha nr.3, destinada às aulas práticas da semana que começa a 14-Mar.
5 Mar - Publicada nos sumários a calendarização prevista para as avaliações do Método A.
5 Mar - Publicada no Material Pedagógico a ficha nr.2, destinada às aulas práticas da semana que começa a 7-Mar.
26 Fev - Publicada no Material Pedagógico a ficha nr.1, destinada às aulas práticas da semana que começa a 28-Fev.
26 Fev - Publicada em Alunos a alocação aos turnos práticos revista de acordo com as condições de frequência do método A.
23 Fev - Mensagens para a equpa docente: usem Contacto ou no mínimo garantam que o string "CP/1011" aparece no assunto; de outra forma, não há garantia de se não perderem nos filtros de SPAM.
22 Fev - Fotografias: os alunos que não tem fotografia no portal académico (logo também não no BB) devem colocá-la o mais depressa possível.
22 Fev - Tendo a equipa docente recebido emails de alunos que se enganaram na sua inscrição, informa-se que essas situações serão tratadas após o fecho das inscrições, por ordem de chegada.
21 Fev - Inscrição nos turnos práticos: ver as condições de frequência em Regime de Avaliação.
19 Fev - Turnos práticos: a inscrição electrónica nos turnos práticos terá lugar 3ª-feira, dia 22-Fev das 10h00 às 18h00 via Blackboard (código: 1011.8204N5).
19 Fev - Os alunos devem estar atentos aos
Avisos da página da disciplina.
16 Fev - As aulas teóricas começam na próxima 5ª-feira, 24-Fev, às 09h00 - ver sumários.
16 Fev - Já estão calendarizadas as provas de avaliação -- ver
calendário da disciplina.
15 Fev - Foi criada esta página.
30 Set - Classificações finais dos alunos que fizeram exame da época especial: - ver Alunos12 Set - Data, hora e sala do exame da época especial - ver sumários25 Jul - Publicadas em Alunos as notas finais da disciplina.
9 Jul - Publicado no Material Pedagógico o enunciado do teste de 18-Jun com 5 questões resolvidas.
8 Jul - Hora e salas do exame de recurso de 12-Jul - ver sumários.
30 Jun - As classificações dos alunos com avaliação após teste de 18-Jun estão disponíveis em Alunos18 Jun - Tal como se avisou a 22-Fev, a equipa docente insiste que não poderá assegurar a componente de avaliação contínua aos alunos que não tiverem a sua fotografia no BB.
14 Jun - Não serão distribuídos formulários no teste de 18-Jun. Quem desejar pode levar o formulário que está disponível no Material Pedagógico e que é o único elemento de consulta.
12 Jun - As classificações das fichas de avaliação do Método A estão disponíveis em Alunos.
9 Jun - Publicadas no Material Pedagógico as fichas de avaliação do Método A.
28 Mai - Publicada no Material Pedagógico a ficha nr.12, destinada às aulas práticas da última semana de aulas.
27 Mai - Hora e salas do teste individual - ver sumários.
21 Mai - Publicada no Material Pedagógico a ficha nr.11, destinada às aulas práticas da semana que começa a 23-Mai.
15 Mai - Publicada na Bibliografia a última parte do texto de apoio à disciplina.
14 Mai - Publicada no Material Pedagógico a ficha nr.10, destinada às aulas práticas da semana que começa a 16-Mai.
04 Mai - Publicados no Material Pedagógico (secção "Bibliotecas") uma série de ficheiros em Haskell de apoio às aulas sobre a segunda parte da matéria.
30 Abr - Publicada no Material Pedagógico a ficha nr.9, destinada às aulas práticas da semana que começa a 2-Mai.
16 Abr - Publicada no Material Pedagógico a ficha nr.8, destinada às aulas práticas da semana que começa a 26-Abr.
11 Abr - Tendo sido por vários alunos manifestada vontade de anularem a ficha de avaliação nr.1 e transitarem para o método B, informa-se que o prazo limite para tomarem essa decisão é a próxima 6a-feira, dia 15-Abr, comunicando-o ao docente responsável carregando aqui.
09 Abr - Publicada no Material Pedagógico a ficha nr.7, destinada às aulas práticas da semana que começa a 11-Abr.
02 Abr - Método A - recorda-se que a avaliação nr.1 decorrerá nas aulas práticas da próxima semana. O único material de consulta é o formulário (em papel).
02 Abr - Publicadas no Material Pedagógico: (a) duas notas de apoio às aulas teóricas T-09 e T-10; (b) a ficha nr.6, destinada às aulas práticas da semana que começa a 4-Abr.
02 Abr - Publicado na Bibliografia mais um capítulo do texto de apoio à disciplina.
26 Mar - Publicada no Material Pedagógico a ficha nr.5, destinada às aulas práticas da semana que começa a 28-Mar.
19 Mar - Publicada no Material Pedagógico a ficha nr.4, destinada às aulas práticas da semana que começa a 21-Mar.
12 Mar - Publicada no Material Pedagógico a ficha nr.3, destinada às aulas práticas da semana que começa a 14-Mar.
5 Mar - Publicada nos sumários a calendarização prevista para as avaliações do Método A.
5 Mar - Publicada no Material Pedagógico a ficha nr.2, destinada às aulas práticas da semana que começa a 7-Mar.
26 Fev - Publicada no Material Pedagógico a ficha nr.1, destinada às aulas práticas da semana que começa a 28-Fev.
26 Fev - Publicada em Alunos a alocação aos turnos práticos revista de acordo com as condições de frequência do método A.
23 Fev - Mensagens para a equpa docente: usem Contacto ou no mínimo garantam que o string "CP/1011" aparece no assunto; de outra forma, não há garantia de se não perderem nos filtros de SPAM.
22 Fev - Fotografias: os alunos que não tem fotografia no portal académico (logo também não no BB) devem colocá-la o mais depressa possível.
22 Fev - Tendo a equipa docente recebido emails de alunos que se enganaram na sua inscrição, informa-se que essas situações serão tratadas após o fecho das inscrições, por ordem de chegada.
21 Fev - Inscrição nos turnos práticos: ver as condições de frequência em Regime de Avaliação.
19 Fev - Turnos práticos: a inscrição electrónica nos turnos práticos terá lugar 3ª-feira, dia 22-Fev das 10h00 às 18h00 via Blackboard (código: 1011.8204N5).
19 Fev - Os alunos devem estar atentos aos
Avisos da página da disciplina.
16 Fev - As aulas teóricas começam na próxima 5ª-feira, 24-Fev, às 09h00 - ver sumários.
16 Fev - Já estão calendarizadas as provas de avaliação -- ver
calendário da disciplina.
15 Fev - Foi criada esta página.