Till KTH:s startsida Till KTH:s startsida

Seminars

We will have five seminar sessions during the course. The seminars are not compulsory but you're of course encouraged to follow them. In order to join a seminar you should however prepared properly and solved the assignment that is associated to the seminar.

Work in a group

You could, and it is often productive to do so, work in a group when you work with an assignment. However, working in a group can also give you the impression that you know something when in fact you would never be able to solve the problem by yourself. Do not be lured into the false reassurance of being able to explain a given solution, this is not the same thing as being able to solve a problem.

Assistance

Before every seminar there is time set of where teaching assistants will help you with the assignments. They will of course not give you the solutions but they have enough experience of Erlang programming so that they will see the bugs in you code in 5 minutes rather than 50 minutes. Also use them for ideas in how to extend the solutions or discuss pros and cons of different strategies. 

The seminars

At the seminars you should bring  your laptop. We will often extend the solution or try an experiment during the seminars so be prepared to do some coding.

A report

One way of learning a new subject is to write about it. You might think you know something until you try to explain it to others. As a learning process you could therefore write a small report where you describe the problem, how you have solved it and problems that you faced. A report is not one page of source code but three to four pages where you explain the problem and its solution.

Since you should soon write a thesis it's about time that you start using something better then Word. You could therefore use LaTex when you prepare the report and you could use the following template:

If you're running Linux you could install TeX Live and generate a report by using pdflatex. For Windows user there is TeXLive and Miktex and Mac users can use MacTeX. There are also cloud base solutions such as Overleaf.

Do install the system of your choice an learn how to use it.

Going further

The assignments will hopefully give you some inspiration to go further and extend the solution that you have. Maybe you can easily write a program that solves the assignment but can you write a more efficient or beautiful solution - there are too many programmers in the world that can produce the boring solutions, you should not be one of them.

Lärare Johan Montelius skapade sidan 1 november 2013

Lärare Johan Montelius ändrade rättigheterna 1 november 2013

Kan därmed läsas av alla och ändras av lärare.
Lärare kommenterade 20 november 2013

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 redigerade 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 redigerade 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.