News feed
Log in to your course web
You are not logged in KTH, so we cannot customize the content.
Do you have questions regarding this course?
If you are registered on a current course round, please refer to the Canvas course room. You find the right course room under "Courses" in the personal menu.
If you are not registered, see Course PM for ID1019 or contact your student office or study counsellor.
In the News feed, you find updates for pages, schedule and posts from teachers (when aimed also at earlier registered students).
Står det ingeting under "Schema"
Det står flera salar där, men har vi inte tilldelats en sal?
Ska man bara gå till vilken sal som helst och jaga en ledig plats?
Brukar det inte vara så att det finns en lista med namn utnaför varje sal? Jag tror att dessa skrivs ut först dagen innan tentan.
VI brukar få ut mail om salsplacering så vi alla inte springer runt innan tentan.
Minns inte hur det var när man anmälde sig via Daisy, men har för mig det brukade dyka upp där med. Just nu står det "Tentan är planerad att gå i 438,531,532,533,539,Sal E. Den slutliga placeringen är inte gjord än."
Hejsan!
Jag ser att ni har rättat tentorna i ID1019, finns det någon möjlighet att få hämta ut dem och kolla på dem?
Jag undrar också hur man ska göra får att få sina labbar granskade för att kunna höja sitt betyg, som du berättade om tidigare. Hur fungerar det? Får man extra poäng på tentan eller bara höjer man betyget ett snäpp? Nu har jag inte sett poängen på min tenta men det är mycket möjligt att jag med några få extra av det “enkla” poängen höja mig med mer än ett snäpp.
Mail mig
Finns det lösningar till dessa extentor?
Vilken fråga har du problem med?
Har faktiskt inte tittat på någon speciell. Men jag tycker alltid det är skönt att ha facit att luta sig mot.
Jag lovar att försöka lösa uppgifterna på egen hand först.
Johan Montelius edited 12 February 2015
Examination består dels av deltagande och skriftliga rapporter för seminarierna, dels av skriftlig tentamen.
Slutbetyg på kursen ges baserat på betyget på tentamen. Om ni ligger nära gränsen för ett högre betyg kan bra redovisningar från seminarierna göra så att ni ges ett högre betyg.
Nedan finns tentamen från förra året och två tentamina från kursen ID1218 som till viss del överlappar med ID1019.
* 2012-12-10.pdf
* 2013-06-04.pdf
* 2014-01-16.pdf
Upplägget på tentamen kan dock komma att förändras.
I tenta 2014-01-16, facit till fråga 1.1:
Vad står any() för? Betyder det att value, alltså värdet som är kopplat till nyckeln kan vara vad som helst eller betyder det att det kan vara "any" av typerna tree(), node() eller leaf() ?
Johan Montelius edited 6 March 2015
Examination består dels av deltagande och skriftliga rapporter för seminarierna, dels av skriftlig tentamen.
Slutbetyg på kursen ges baserat på betyget på tentamen. Om ni ligger nära gränsen för ett högre betyg kan bra redovisningar från seminarierna göra så att ni ges ett högre betyg.
Nedan finns tentamen från förra året och två tentamina från kursen ID1218 som till viss del överlappar med ID1019.
* 2012-12-10.pdf
* 2013-06-04.pdf
* 2014-01-16.pdf
* 2014-03-10.pdf
Upplägget på tentamen kan dock komma att förändras.
Gränserna för betygen kan komma att ändras (sänkas men inte höjas). Föra året var gränsen för E 16 poäng och gränsen för högre betyg 16,18 och 20 grundpoäng. ¶
Årets tentamen kommer att väva in frågor som är direkt relaterade till de seminarier som vi haft.¶
Finns det något lösningsförslag?
Johan Montelius edited 11 March 2015
Examination består dels av deltagande och skriftliga rapporter för seminarierna, dels av skriftlig tentamen.
Slutbetyg på kursen ges baserat på betyget på tentamen. Om ni ligger nära gränsen för ett högre betyg kan bra redovisningar från seminarierna göra så att ni ges ett högre betyg.
Nedan finns tentamen från förra året och två tentamina från kursen ID1218 som till viss del överlappar med ID1019.
* 2012-12-10.pdf
* 2013-06-04.pdf
* 2014-01-16.pdf
* 2014-03-10.pdf
Upplägget på tentamen kan dock komma att förändras.
Gränserna för betygen kan komma att ändras (sänkas men inte höjas). Föra året var gränsen för E 16 poäng och gränsen för högre betyg 16,18 och 20 grundpoäng.
Årets tentamen kommer att väva in frågor som är direkt relaterade till de seminarier som vi haft.
Johan Montelius edited 13 March 2015
Examination består dels av deltagande och skriftliga rapporter för seminarierna, dels av skriftlig tentamen.
Slutbetyg på kursen ges baserat på betyget på tentamen. Om ni ligger nära gränsen för ett högre betyg kan bra redovisningar från seminarierna göra så att ni ges ett högre betyg.
Nedan finns tentamen från förra året och två tentamina från kursen ID1218 som till viss del överlappar med ID1019.
* 2012-12-10.pdf
* 2013-06-04.pdf
* 2014-01-16.pdf
* 2014-03-10.pdf
Upplägget på tentamen kan dock komma att förändras.
Gränserna för betygen kan komma att ändras (sänkas men inte höjas). Föra året var gränsen för E 16 poäng och gränsen för högre betyg 16,18 och 20 grundpoäng.
Årets tentamen kommer att väva in frågor som är direkt relaterade till de seminarier som vi haft.¶
* Svar på tentafrågor
Hej! När kommer svaren till tentamen 2015-06-11 upp? Och när preliminärt får vi resultaten? :)
Johan Montelius edited 24 June 2015
Examination består dels av deltagande och skriftliga rapporter för seminarierna, dels av skriftlig tentamen.
Slutbetyg på kursen ges baserat på betyget på tentamen. Om ni ligger nära gränsen för ett högre betyg kan bra redovisningar från seminarierna göra så att ni ges ett högre betyg.
Nedan finns tentamen från förra året och två tentamina från kursen ID1218 som till viss del överlappar med ID1019.
* 2012-12-10.pdf
* 2013-06-04.pdf
* 2014-01-16.pdf
* 2014-03-10.pdf
Upplägget på tentamen kan dock komma att förändras.
Gränserna för betygen kan komma att ändras (sänkas men inte höjas). Föra året var gränsen för E 16 poäng och gränsen för högre betyg 16,18 och 20 grundpoäng.
* 2015-03-13-answers.pdf
* 2015-06-11-answers.pdf
Svaren uppe, tentan klar nästa vecka.
Johan Montelius edited 26 February 2016
Examination of the curse is based on a written exam. You need to register for the exam and must do so well in time.
Below are some exams that have been given in the previous years (in Swedish).
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
Johan Montelius edited 26 February 2016
Examination of the curse is based on a written exam. You need to register for the exam and must do so well in time.
Below are some exams that have been given in the previous years (in Swedish).
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
Note that these exams are from the years when the exam was 4.5 credits. Since the exam now is on 7.5 credits it will be larger. The sections that will be added will be directly related to the assignments that we have had during the course. You will have four hours to complete the exam instead of three hours as in previous years.¶
Those of you that do a re-exam will have a 4.5 credit exam that is similar to the old exams - make sure that you get the right exam.¶
Johan Montelius edited 8 March 2016
Examination of the curse is based on a written exam. You need to register for the exam and must do so well in time.
Below are some exams that have been given in the previous years (in Swedish).
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
Same exams but now without answers.¶ :
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
Note that these exams are from the years when the exam was 4.5 credits. Since the exam now is on 7.5 credits it will be larger. The sections that will be added will be directly related to the assignments that we have had during the course. You will have four hours to complete the exam instead of three hours as in previous years.
Those of you that do a re-exam will have a 4.5 credit exam that is similar to the old exams - make sure that you get the right exam.
De övre fyra dokumenten är förmodligen trasiga, jag får bara upp en massa punkter.
Jag testade att öppna dem i firefox och det fungerar fint för mig.
Ngt konstigt med din pdf-läsare, jag kan öppna dem i xpdf och okular utan problem.
Angående Uppgift 4.3 i tentan från 2015-03-13:
Varför blir tidskomplexiteten för pop/1 O(1)?
Om pop(lista) returnerar tupeln {Max, Rest} där Max är största värdet i listan och Rest är den nya listan utan maxvärdet, måste man inte skapa en ny lista då där alla värden utom Max kopieras till en ny datastruktur och därmed får tidskomplexiteten O(N) ?
Tja Jimmy!
gällande din fråga om tidskomplexiteten för pop/1:
Som jag förstått det när det kommer till mönstermatchning av cons-celler så kan headen och tailen "plockas ut" och returneras i konstant tid. Hela meningen med att ha en ordnad lista är för att ha max (eller min) - värdet först i listan för snabb access av värdet. Detta skulle betyda att headen antar maxvärdet och tailen är resterande lista utan maxvärdet.
Med följande mönstermatchning:
[Max | Rest] = L
där L är den inmatade listan kan man nu returnera Max samt Rest tillsammans i en tupel utan att behöva kopiera om hela datastrukturen.
Hoppas att jag inte är felinformerad och att det hjälpte! :)
Sant, av någon anledning tänkte jag på hur tupler fungerar trots att det stod lista. Tack för svaret!
Uppgift 2.6 i tentan från 2014-03-10 saknar väl ett case för deriv({var, _}, _) -> 0 för andra variabler än den vi deriverar över som ges i uppgiften?
stämmer bra
Kommer det att ges en tenta nu i p4?
Kan ni lägga ut svaren för tentan?
Det ges väl alltid en omtenta i P4 för kurser som gick i P3. Ser nu att det inte dyker upp någon i schemat men det skall jag fixa. Prella 9:e juni 9-13.
Tack! Jo, vart lite tveksam för att jag inte såg något i schemat.
Den 9/6 kl 9-13 är det omtenta for OS kursen!
Det är inget bra datum för omtenta för då krockar den med den andra kursen som TIDAB läser i P3!
Skall kolla om de kan flytta den.
När kommer tentas skannas in?
när den är rättat, vilket är snart
Omtentan är: Fri 10 jun 09:00-13:00
Jag har en tenta den dagen från 08:00.12:00 så det krockar
De kan inte schemalägga all omtentor utan att några krockar. I det hör fallet så är det krockar med IS1350 och IK1203 som skall undvikas.
Det är inte möjligt att lägga en omtenta i augusti?
Sedan några år tillbaks är det en tenta och en omtenta som gäller och kurser i P3 har omtentan i slutet av P4.
Johan Montelius edited 8 June 2016
Examination of the curse is based on a written exam. You need to register for the exam and must do so well in time.
Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.
The first years the course was given in Swedish only.
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
Same exams but in English
* 2016-03-19-english-answers.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
In the coming years there will be a 4.5hp exam available, if you do a re-exam make sure that you pick the right exam.
Johan Montelius edited 5 July 2016
Examination of the curse is based on a written exam. You need to register for the exam and must do so well in time.
Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.
The first years the course was given in Swedish only.
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
Same exams but in English
* 2016-03-19-english-answers.pdf
* 2016-06-10.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
In the coming years there will be a 4.5hp exam available, if you do a re-exam make sure that you pick the right exam.
Hej, hur går man tillväga om man har klara 4.5hp tentan men inte seminarierna från tidigare kursupplägget?
Man mallar mig 😀
Hej, tror det är fel på svaret på fråga 2016-06-10, fråga 6.1.1.
Felet händer vid sista bokstaven som ska avkodas.
Sista anropet är decode([], {char, Char}, Trädet) denna kommer aldrig komma ned till rätt call eftersom den kommer gå in i decode([], _,_) -> []; så man missar sista bokstaven!
Det blir dock rätt om man lägger decode([], _,_) -> []; sist!
Johan Montelius edited 18 February 2017
Examination of the curse is based on a written exam. You need to register for the exam and must do so well in time.
Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.
The first years the course was given in Swedish only.
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10-answers.pdf
Same exams but in English
* 2016-03-19.pdf
* 2016-06-10.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
In the coming years there will be a 4.5hp exam available, if you do a re-exam make sure that you pick the right exam.
Helt rätt, man missar sista, lagt upp ngt som fungerar (man kan ordna om dem lite).
Hej.
På prov 2016-03-19 fråga 6.1.1 representera och evaluerar uttryck, om man skulle definiera uttrycket som en lista på detta sätt: [5, '+', 3] som hade gjorts på ett annat prov skulle man få rätt då om den funkade?
Sedan med rättningen om koden funkar som det är tänkt, går igenom kompilatorn felfritt och inte är orimligt mycket kod man skrivit så får man rätt? För man kan skriva koden på lite olika sätt
/Jacob
Det skulle gå att representera uttryck som listor [3, '-', 2, '+', 1] men det kanske blir lite knepigare att skriva funktionen.
En fråga är inte bara att skriva ett svar på som kompilerar, det är en möjlighet att visa att man har lite koll på läget. Om man skriver en funktion på 20 rader som kan skrivas på två så är väl frågan om man har koll på läget.
Ang tentan 2016-03-19 fråga 4.1 traversera ett träd
Tänker som följer, vi besöker N noder, och append-funktionen har komplexitet N, men det blir ändå helt uppåt väggarna att säga att komplexiteten är O(N^2)? Mest bara fundersam på vart resonemanget brister även om jag anar att det kan ha att göra med att append inte sker i löven.
Append har complexitet O(n) men vad är n i de olika operationerna. I den sista append-operationen så är n lika med hälften av alla löv i trädet. Vad är n i de två append-operationerna i nivån under?
Johan Montelius edited 1 March 2017
Examination of the curse is based on a written exam. You need to register for the exam and must do so well in time.
Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.
The first years the course was given in Swedish only.
* 2014-01-16-answers.pdf
* 2014-03-10-answers.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10-answers.pdf
Same exams but in English
* 2016-03-19.pdf
* 2016-06-10.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:¶
* 2016-03-19.pdf
* 2016-06-10.pdf
In the coming years there will be a 4.5hp exam available, if you do a re-exam make sure that you pick the right exam.
Johan Montelius edited 13 March 2017
Examination of the curse is based on a written exam. You need to register for the exam and must do so well in time.
This years exam:¶
* 2017-03-13-english-answers.pdf
* 2017-03-13-answers.pdf
Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.
The first years the course was given in Swedish only.
* 2014-01-16-answers.pdf
* 2014-03-10-answers.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10-answers.pdf
Same exams but in English
* 2016-03-19.pdf
* 2016-06-10.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2016-03-19.pdf
* 2016-06-10.pdf
In the coming years there will be a 4.5hp exam available, if you do a re-exam make sure that you pick the right exam.
Johan Montelius edited 1 April 2017
Examination of the curse is based on a written exam. You need to register for the exam and must do so well in time.
This years exam:
* 2017-03-13-english-answers.pdf
* 2017-03-13-english-answers.pdf
Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.
The first years the course was given in Swedish only.
* 2014-01-16-answers.pdf
* 2014-03-10-answers.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10-answers.pdf
Same exams but in English
* 2016-03-19.pdf
* 2016-06-10.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2016-03-19.pdf
* 2016-06-10.pdf
In the coming years there will be a 4.5hp exam available, if you do a re-exam make sure that you pick the right exam.
På uppgifter där det ska skrivas en rekursiv funktion f/1, är det okej att skriva en f/1-funktion som anropar en funktion f/n-funktion, n>1 med ackumulatorgument så att den blir svansrekursiv?
På till exempel uppgift 2.1 på tentan 2016-06-10, skulle följande lösning ge full poäng? (Det efterfrågas en f/1-funktion).
once(List)-> Once(List,0,0).
once([ ], Sum, Length) -> {Sum, Length};
once([H|T], Sum, Length) -> once(T, Sum+H, Length+1).
@Anders Klasson , skulle rekommendera dig att maila honom direkt. Han brukar svara väldigt snabbt på mail.
hej,
din lösning är naturligtvis helt ok (och mer effektiv än den som finns som svar). Det man inte vill se är:
once(L) -> {sum(L), length(L)}.
eller ngt liknande
Johan Montelius edited 7 June 2017
Examination of the curse is based on a written exam. You need to register for the exam and must do so well in time.
This years exam:
* 2017-03-13-answers.pdf
* 2017-03-13-english-answers.pdf
* 2017-06-07-answers.pdf
* 2017-06-07-english-answers.pdf
Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.
The first years the course was given in Swedish only.
* 2014-01-16-answers.pdf
* 2014-03-10-answers.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10-answers.pdf
Same exams but in English
* 2016-03-19.pdf
* 2016-06-10.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2016-03-19.pdf
* 2016-06-10.pdf
In the coming years there will be a 4.5hp exam available, if you do a re-exam make sure that you pick the right exam.
Kommer vi få in våra resultat den här veckan eller under nästkommande 1-2 veckor?
hinner nog inte denna vecka, har operativsystem att rätta också, nästa vecka skall de komma in
Ok, härligt !
Johan Montelius edited 4 March 2018
* Examination of the curse is based on a written exam.
* You need to register for the exam and must do so well in time. * It's a closed book exam i.e. no cheat sheets.
This years exam:¶
* 2017-03-13-answers.pdf
* 2017-03-13-english-answers.pdf
* 2017-06-07-answers.pdf
* 2017-06-07-english-answers.pdf
* If you do a re-exam you can answer the questions using Erlang instead of Elixir.
Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits. ¶The 4.5 credit exam will be given for the last time spring 2018. The first years the course was given in Swedish only.
* 20147-01-16-answers6-07.pdf
* 20147-03-10-answers3.pdf
* 2016-06-10.pdf
* 20156-03-139.pdf
* 2015-06-11.pdf
* 20165-03-193.pdf
* 20164-063-10-answers.pdf
* 2014-01-16.pdf
Same exams but in English
* 20167-06-07.pdf
* 2017-03-193.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2016-036-190.pdf
* 2016-063-109.pdf
In the coming years there will be a 4.5hp exam available, if you do a re-exam make sure that you pick the right exam.
Johan Montelius edited 7 March 2018
* Examination of the curse is based on a written exam.
* You need to register for the exam and must do so well in time.
* It's a closed book exam i.e. no cheat sheets.
* If you do a re-exam you can answer the questions using Erlang instead of Elixir.
* The rules of the operational semantics in one page will be an appendix to the exam.
Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.The 4.5 credit exam will be given for the last time spring 2018. The first years the course was given in Swedish only.
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
* 2015-06-11.pdf
* 2015-03-13.pdf
* 2014-03-10.pdf
* 2014-01-16.pdf
Same exams but in English
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2016-06-10.pdf
* 2016-03-19.pdf
Johan Montelius edited 13 March 2018
* Examination of the curse is based on a written exam.
* You need to register for the exam and must do so well in time.
* It's a closed book exam i.e. no cheat sheets.
* If you do a re-exam you can answer the questions using Erlang instead of Elixir.
* The rules of the operational semantics in one page will be an appendix to the exam.
The exam 2018
* exam-2018-03-13-answers.pdf
* exam-2018-03-13-english-answers.pdf
Previous exams Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.The 4.5 credit exam will be given for the last time spring 2018. The first years the course was given in Swedish only.
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
* 2015-06-11.pdf
* 2015-03-13.pdf
* 2014-03-10.pdf
* 2014-01-16.pdf
Same exams but in English
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2016-06-10.pdf
* 2016-03-19.pdf
Johan Montelius edited 8 June 2018
* Examination of the curse is based on a written exam.
* You need to register for the exam and must do so well in time.
* It's a closed book exam i.e. no cheat sheets.
* If you do a re-exam you can answer the questions using Erlang instead of Elixir.
* The rules of the operational semantics in one page will be an appendix to the exam.
The exam 2018 in Swedish¶
* exam-2018-03-13-answers.pdf
* exam-2018-06-07-answers.pdf
without answers¶
* exam-2018-03-13.pdf
in English
* exam-2018-03-13-english-answers.pdf
* exam-2018-06-07-english-answers.pdf
without answers
* exam-2018-03-13-english.pdf
Previous exams Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.The 4.5 credit exam will be given for the last time spring 2018. The first years the course was given in Swedish only.
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
* 2015-06-11.pdf
* 2015-03-13.pdf
* 2014-03-10.pdf
* 2014-01-16.pdf
Same exams but in English
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Same exams but now without answers:
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2016-06-10.pdf
* 2016-03-19.pdf
Johan Montelius edited 15 January 2019
* Examination of the curse is based on a written exam.
* You need to register for the exam and must do so well in time.
* It's a closed book exam i.e. no cheat sheets.
* If you do a re-exam you can answer the questions using Erlang instead of Elixir.
* The rules of the operational semantics in one page will be an appendix to the exam.
The exam 2019 The exam for 2019 will mostly follow the structure of the 2018 examslook a bit different from last years exams. The exam will still be divided into a basic part, required for grade E, but this part will now be smaller but also require more points to pass. In order to gain a higher grade one or more of the higher level questions need to be addressed. An example exam will be provided to give you a better understanding of the new structure. ¶
In the mean time, previous years exams are a good way to check your understanding of the concepts that we cover.
Previous exams Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.The 4.5 credit exam will be given for the last time spring 2018. The first years the course was given in Swedish only.
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
* 2015-06-11.pdf
* 2015-03-13.pdf
* 2014-03-10.pdf
* 2014-01-16.pdf
Same exams but in English
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Same exams but now without answers:
* 2018-03-13.pdf
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2018-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Johan Montelius edited 11 February 2019
* Examination of the curse is based on a written exam.
* You need to register for the exam and must do so well in time.
* It's a closed book exam i.e. no cheat sheets.
* If you do a re-exam you can answer the questions using Erlang instead of Elixir.
* The rules of the operational semantics in one page will be an appendix to the exam.
The exam 2019 The exam for 2019 will look a bit different from last years exams. The exam will still be divided into a basic part, required for grade E, but this part will now be smaller but also require more points to pass. In order to gain a higher grade one or more of the higher level questions need to be addressed. An example exam will be provided to give you a better understanding of the new structure. ¶ In the mean time, pis is an example of what it will look like:¶
* exam-example.pdf
* exam-example-english.pdf
Previous years exams are a good way to check your understanding of the concepts that we cover.
Previous exams Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.The 4.5 credit exam will be given for the last time spring 2018. The first years the course was given in Swedish only.
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
* 2015-06-11.pdf
* 2015-03-13.pdf
* 2014-03-10.pdf
* 2014-01-16.pdf
Same exams but in English
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Same exams but now without answers:
* 2018-03-13.pdf
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2018-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Johan Montelius edited 24 February 2019
* Examination of the curse is based on a written exam.
* You need to register for the exam and must do so well in time.
* It's a closed book exam i.e. no cheat sheets.
* If you do a re-exam you can answer the questions using Erlang instead of Elixir.
* The rules of the operational semantics in one page will be an appendix to the exam.
The exam 2019 The exam for 2019 will look a bit different from last years exams. This is an example of what it will look like:
* exam-example.pdf
* exam-example-english.pdf
Previous years exams are a good way to check your understanding of the concepts that we cover.
Previous exams Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.The 4.5 credit exam will be given for the last time spring 2018. The first years the course was given in Swedish only.
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
* 2015-06-11.pdf
* 2015-03-13.pdf
* 2014-03-10.pdf
* 2014-01-16.pdf
Same exams but in English
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Same exams but now without answers:
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Johan Montelius edited 8 March 2019
* Examination of the curse is based on a written exam.
* You need to register for the exam and must do so well in time.
* It's a closed book exam i.e. no cheat sheets.
* If you do a re-exam you can answer the questions using Erlang instead of Elixir.
* The rules of the operational semantics in one page will be an appendix to the exam.
The exam 2019 The
* exam for 2019 will look a bit different from last years exams. This is an example of what it will look like:¶ -2019-03-08.pdf
* exam-example
* exam-2019-03-08-answers.pdf
* exam-example2019-03-08-english.pdf
Previous years exams are a good way to check your understanding of the concepts that we cover.* exam-2019-03-08-english-answers.pdf
Previous exams Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.The 4.5 credit exam will be given for the last time spring 2018. The first years the course was given in Swedish only.
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
* 2015-06-11.pdf
* 2015-03-13.pdf
* 2014-03-10.pdf
* 2014-01-16.pdf
Same exams but in English
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Same exams but now without answers:
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Johan Montelius edited 10 March 2020
The exam 2020 ¶
* exam-2020-03-09.pdf
* exam/exam-2020-03-09-answers.pdf
* exam-2020-03-09-english.pdf
* exam-2020-03-09-english-answers.pdf
The exam 2019 ¶
* exam-2019-06-05.pdf
* exam-2019-06-05-answers.pdf
* exam-2019-06-05-english.pdf
* exam-2019-06-05-english-answers.pdf
* exam-2019-03-08.pdf
* exam-2019-03-08-answers.pdf
* exam-2019-03-08-english.pdf
* exam-2019-03-08-english-answers.pdf
Previous years Below are some exams that have been given in the previous years. Note that the first exams are from the years when the exam was 4.5 credits.The 4.5 credit exam will be given for the last time spring 2018. The first years the course was given in Swedish only.
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
* 2015-06-11.pdf
* 2015-03-13.pdf
* 2014-03-10.pdf
* 2014-01-16.pdf
Same exams but in English
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2017-06-07.pdf
* 2017-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Same exams but now without answers:
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2014-01-16.pdf
* 2014-03-10.pdf
* 2015-03-13.pdf
* 2015-06-11.pdf
* 2016-03-19.pdf
* 2016-06-10.pdf
The two English versions without answers:
* 2018-06-07.pdf
* 2018-03-13.pdf
* 2016-06-10.pdf
* 2016-03-19.pdf
Johan Montelius edited 4 November 2013
Kursens mål är att lära ut grunderna i funktionell programmering och flertrådad programmering. Till vår hjälp har vi prgrammeringsspråket Erlang som erbjuder dessa egeneskaper i ett och samma ramverk.
Erlang finns installerat på skolans datorer men det är enklast att hämta hem och installera en egen version. Detta görs enklast genom:
* för Ubuntus-maskiner genom det vanliga programbiblioteket
* för Windows, eller om man vill ha den senaste versionen, från Erlang.org
* en bättre packning (inklusive wxvidgets som används för gui-programmering) från Erlang Solutions
Som editor rekommenderas Emacs, som också instralleras från Ubuntus bibliotek eller manuellt på Windows. Man kan även använda Eclipse men varför inte ta chansen att lära sig en ny editor.
Erlang Solutions Erlang Solutions,som är det största konsult och utbildningsföretaget för Erlang, har erbjudit oss att använda deras föresläsningspaket som finns online. Ni kommer att kunna registrera er, med er kth.se adress, och skapa ett konto med tillgång till deras föreläsningar under tre månader. Vi kommer att utgå från att ni följer dessa, så att de föreläsningars som vi har kan ta upp andra aspekter.
För att få tillgång till kursmaterialet skall ni först registrera er på följande sida:¶
* Erlang Solutions E-Leraning
NI kommer att få ett email med information om hur ni skall betala mm, strunta i detta email och skicka istället ett email direkt till elearning@erlang-solutions.com där ni meddelar att ni är studenter på KTH och ber dem skapa ert konto. Ni måste använda era @kth.se adresser både när ni registrerar er och när ni skickar ett email till dem så att de ser att ni tillhör kursen.¶
Hello!
The URL to the introduction pdf is broken, could you please fix it? :)
Johan Montelius edited 19 January 2016
The aim of the course is to learn functional and concurrent programming. To achieve this we us the programming language Erlang that provide these paradigms.
Erlang is installed on the student computers but it is easy to install it on your own laptop. The easiest way is to use the packages provided by Erlang Solutions, their packages are more up to date than your regular (Ubuntu) repository. The package from Erlang Solutions also include the wx widget framework that you need for the gui parts in some assignments.
* Erlang Solutions
The Erlang system does not include an IDE so you need to use a seprate development environment. You can use Eclipse but I use Emacs as my editor. The nice thing about using Erlang is that you can switch easily between writing your report in LaTex and running experiments in Erlang.
Introduction During the first two weeks there will be teaching assistants that will help you getting started. Once you have the first hello-world up and running you can start with the following tasks.
* introduction.pdf
Resources Besides the course book there are several good resources th
* Programming Erlang - more advanced
* Learn you some Erlang for the greater of good - a very good introduction
* Erlang Documentation - some good links and and the first part of the course book
I Huffman så finns det ett litet fel i slutet. För att läsa av binären som utf16 måste man lägga till den informationen:
unicode:characters_to_list(<<"this must be an even number.">>, utf16).
Johan Montelius edited 27 November 2013
Vi har sex seminarietillfällen, som alla är obligatoriska. Inför varje tillfälle finns en uppgift att lösas. Inför varje seminarie skall en skriftlig rapport lämnas, uppgiften skall alltså vara löst innan man kommer till seminariet.
Arbeta i grupp Ni uppmanas att arbeta i små grupper när ni löser uppgifterna. Se dock till att ni är i en grupp där sammtliga ligger på er nivå. Om gruppen är för obalanserad så blir det lätt att en gör jobbet och resten flyter med - det är inte roligt för den som sliter och inte särskilt bra för de som inte gör någonting. Bättre är att ha en homogen grupp och anpassa sin lösning efter gruppens förmåga.
Redovisa enskilt Notera att det är enskild redovisning; även om ni har arbetat i en grupp skall vara och en kunna förklara lösningen och motivera varför den ser ut som den gör. En rapport skall lämnas in vid början av varje redovisningstillfälle.
Rapporten Redovisningarna skall beskriva problemet, hur ni har valt att lösa det, problem som ni hade under arbetet och eventuella resultat från testkörningar mm. Redovisingarna skall inte bestå av flera sidor källkod, källkod skall bara användas i rapporten där ni vill beskriva ett visst problem eller lösning. Storleken skall ligga på tre till fyra sidor och ni skall använda er av den LaTeX och den mall som finns nedan.
* LaTex mall för redovisning
Om du kör Ubuntu så installerar du TeX Live och genererad du enklast en pdf genom att använda pdflatex. För Windows rekommenderas Miktex och för Mac finns MacTeX. Installera dessa och prova att generera en liten rapport väl i tid till seminariet.
* MacTex
* Miktex
Uppgifter Uppgifterna ger förhoppningvis inpiration till att gå vidare och att försöka göra saker lite bättre. Det finns oftast tråkiga lösningar som vare sig är vackra eller effektiva men det finns även snygga lösningar som ger en viss tillfredställelse, försök att bara göra de snygga lösningarna - världen är full av programmerare som kan göra de tråkiga.
* Introduktion
* Huffmankodning
* Tågklarering
* Ätande filosofer
* ... flera kommer
Övningstillfällen Inför varje seminarie fins ett övningstillfälle där handledare kommer att hjälpa till och förklara hur man skall ta sig an uppgifterna och hur man kommer över de problem som uppstår. Börja arbeta med de nya uppgifterna så snart som möjligt så att ni kan utnyttja tiden med handledarna på bästa sätt.
Seminarietillfällen Seminarierna sker gruppvis och ni bestämmer själva vilkne grupp ni vill tillhöra. Det finns fyra tillfällen, oftast torsdagar 8-10, 10-12, 13-15 och 15-17. Grupperna kallas därefter och kan väljas via Daisy. Ni skall endast välja grupp en gång och sedan hålla er till den gruppen. Om ni måste byta grupp så meddela detta innan tillfället.
Leif Lindbäck edited 2 December 2013
Vi har sex seminarietillfällen, som alla är obligatoriska. Inför varje tillfälle finns en uppgift att lösas. Inför varje seminarie skall en skriftlig rapport lämnas, uppgiften skall alltså vara löst innan man kommer till seminariet.
Arbeta i grupp Ni uppmanas att arbeta i små grupper när ni löser uppgifterna. Se dock till att ni är i en grupp där sammtliga ligger på er nivå. Om gruppen är för obalanserad så blir det lätt att en gör jobbet och resten flyter med - det är inte roligt för den som sliter och inte särskilt bra för de som inte gör någonting. Bättre är att ha en homogen grupp och anpassa sin lösning efter gruppens förmåga.
Redovisa enskilt Notera att det är enskild redovisning; även om ni har arbetat i en grupp skall vara och en kunna förklara lösningen och motivera varför den ser ut som den gör. En rapport skall lämnas in vid början av varje redovisningstillfälle.
Rapporten Redovisningarna skall beskriva problemet, hur ni har valt att lösa det, problem som ni hade under arbetet och eventuella resultat från testkörningar mm. Redovisingarna skall inte bestå av flera sidor källkod, källkod skall bara användas i rapporten där ni vill beskriva ett visst problem eller lösning. Storleken skall ligga på tre till fyra sidor och ni skall använda er av den LaTeX och den mall som finns nedan.
* LaTex -mall för redovisning
Om du kör Ubuntu så installerar du TeX Live och genererad du enklast en pdf genom att använda pdflatex. För Windows rekommenderas Miktex och för Mac finns MacTeX. Installera dessa och prova att generera en liten rapport väl i tid till seminariet.
* MacTex
* Miktex
Uppgifter Uppgifterna ger förhoppningvis inpiration till att gå vidare och att försöka göra saker lite bättre. Det finns oftast tråkiga lösningar som vare sig är vackra eller effektiva men det finns även snygga lösningar som ger en viss tillfredställelse, försök att bara göra de snygga lösningarna - världen är full av programmerare som kan göra de tråkiga.
* Introduktion
* Huffmankodning
* Tågklarering
* Ätande filosofer
* ... flera kommer
Övningstillfällen Inför varje seminarie finns ett övningstillfälle där handledare kommer att hjälpa till och förklara hur man skall ta sig an uppgifterna och hur man kommer över de problem som uppstår. Börja arbeta med de nya uppgifterna så snart som möjligt så att ni kan utnyttja tiden med handledarna på bästa sätt.
Seminarietillfällen Seminarierna sker gruppvis och ni bestämmer själva vilkne grupp ni vill tillhöra. Det finns fyra tillfällen, oftast torsdagar 8-10, 10-12, 13-15 och 15-17. Grupperna kallas därefter och kan väljas via Daisy. Ni skall endast välja grupp en gång och sedan hålla er till den gruppen. Om ni måste byta grupp så meddela detta innan tillfället.
Det är 4 dagar kvar till tentan och jag vet fortfarande inte var jag ska skriva den...