Till KTH:s startsida Till KTH:s startsida

Ändringar mellan två versioner

Här visas ändringar i "Lectures" mellan 2013-11-27 09:27 av Johan Montelius och 2013-11-28 14:23 av Johan Montelius.

Visa < föregående | nästa > ändring.

Föreläsningar

sednaVi kommer att ha fjorton föreläsningar under kursens gång, dessa är inte obligatoriska men rekommenderade. Föreläsningarna kommer att diskutera och fördjupa aspekter som som kursliteraturen inte täcker.


* overview.pdf
Under kursens gång kommer presentationer att läggas upp.

Introduktion Grunderna för funktionell programmering och grunderna för Erlang. Lambda-kalkyl och deklarativ semantik, beskriven med omskrivningsregler.


* introduction.pdf
* evaluation.pdf
Erlang Enkla program i Erlang, datatyper, mönstermatchning och hur man kan representera information. Innan föreläsniongen skall ni ha sett de två första delarna i Erlang Solutions kurs:


* Introduction to Erlang
* Basic Erlang
Ni skall också ha läst kapitel 1 och 2 i Erlang Programming.

Rekursion I och II Rekursion är kanske begreppet med högst tröskel inom funktionell programmering, idén är naturligtvis väldigt enkel men ställer till en del huvudbry till en början. Som komplement till dessa två föreläsningar finns Erlang Solutions föreläsningar:


* Sequential Erlang
Under desa två föreläsningar kommer vi att gå igenom mycket av kapitel 2 i Erlang Programming from till och med "Recursion". Läs igenom delarna innan föreläsningarna.


* recursion.pdf
* trees.pdf
Komplexitet Vi tittar närmare på komplexitet och varför funktioner har den komplexitet de har. Eftersom funktioner på binära träd i många avseenden har bättre egenskaper än funktioner över listor, tar vi trädoperationer som exempel. Vi jämför även med motsvarande operationer för tupler och får förhoppningsvis en ökad förståelse för när man skall änvända var.


* complexity.pdf
Moduler och undantag Vi avrundar den funktionella delen av Erlang genom att gå igenom hur vi bygger upp våra program med hjälp av moduler, samt hur vi tar hand om fel som uppstår vid körning. Läs igenom kapitel 3 i kursboken samt andra hälften av kapitel 7 "Records and macros" (records, skall vi hantera senare). Titta även på motsvarande presentationer från Erlang Solutions för att repetera de bregrepp som vi diskuterar.


* modules.pdf
* exceptions.pdf
Processer Erlangs andra sida är att kunna beskriva kommuniserande processer på ett väldigt enkelt sätt. Vi diskuterar den så kallade actor-modellen och hur Erlang väljer att implementera den. Läs kapitel 5, 6 och 7 i kursboken och se på föreläsningarna "Creating Processes and Message Passing" från Erlang Solutions.


* concurrency.pdf
* processes.pdf
Högre ordningens funktioner Vi har sett det i beskrivningen av lambda-kalkylen och sett det skymta förbi i Erlang men vi skall nu gå igenom vad som menas med högre ordningens funktioner, hur vi skall evaluera dem och hur vi kan använda dem till att implementera generella algorithmer som sedan kan specialiceras beroende på domän.¶