Välkommen
Välkomna till kursen Programmering-II.
Kursen bygger på ett antal inlämningsuppgifter som ni skall redovisa i en kort rapport, en eller två för varje uppgift. Föreläsningarna kommer både ge den kunskap som krävs för att göra uppgifterna men kommer även gå djupare in på de områden som berörs.
De föreläsningar som finns inspelade sedan corona-året kommer ligga uppe men de täcker kanske inte allt de som gås igenom på föreläsningarna i sal.
På sidan Kursöversikt finns ett veckoschema över kursens aktiviteter under kursens gång. Eftersom det inte finns någon tenta kommer det vara examinerande seminarier och inlämningsuppgifter även under de två sista veckorna i perioden.
Programmering
Som namnet på kursen avslöjar så kommer det i denna kurs bli en hel del programmering. Eftersom kursen har som mål att lära ut så väl funktionell programmering som flertrådad (concurrent) programmering har vi valt ett språk som täcker båda dessa områden. Vi har valt språket Elixir Links to an external site. som är byggt ovan på språket Erlang Links to an external site. som är ett språk framtaget av Ericsson. Ni förväntas kunna plocka ner och installera de system som krävs men naturligtvis kommer övningsassistenterna hjälpa till om ni fastnar. Ni kan använda er favorit-editor och den går säkert att anpassa så att den stödjer Elixirs syntax (t.ex VScode, Atom, Sublime mm).
Till Elixir finns ett system för att bygga större tillämpningar, Mix Links to an external site.. Vi kommer inte att bygga några större saker i denna kurs så om du inte är van vid att använda byggredskap så kan det vara mer förvirrande än förenklande. Är du van vi t.ex. Maven eller Ant för att arbeta med Java så kommer du känna igen mycket men som sagt, lite over-kill för de program vi kommer att använda.
Inlämningsuppgifter
Det finns ett antal inlämningsuppgifter som ni skall göra och lämna in i tid för att examineras på kursen. Det finns en grupp med uppgifter som alla skall göra för att få godkänt på kursen och ytterligare uppgifter för att få högre betyg.
Nytt för i år är duggor (frågor i canvas) som skall besvaras i tid.
För varje uppgift skall du skriva en kort rapport, 2 till 4 sidor. Du skall inte ta med all kod i rapporten utan bara så mycket kod som behövs för att förklara hur du löst uppgiften. Beskriv varför du har gjort på ett speciellt sätt och om du har haft problem med att lösa uppgiften. Rapporten skall skrivas med dina kursare som tilltänkt läsare dvs, du behöver inte förklara uppgiften en gång till utan kan gå direkt på lösningen.
När du lämnar in dina rapporter så kommer du även få två rapporter från dina kursare; ge korta kommentarer till dessa - vad var bra, vad kunde göras bättre.
Rapporterna skall vara skriven i LaTeX enligt mallen nedan. Den mallen är mer än en mall, det är en hel del regler som du skall följa när du skriver din rapport så läs igenom. Mallen ger också en del tips på hur man kan göra för att plocka in snygga grafer från benchmarks så förhoppningsvis ger den dig lite hjälp på traven. När du läser mallen så bör du även titta pår den LaTeX-kod som genererat mallen. Där ser du hur olika konstruktioner används.
LaTeX får du hjälp av övningsassistenterna med att installera. De flesta använder sig av Overleaf men det kan ha sina fördelar att installera systemet på din egen dator så att du kan arbeta i samma editor som du är van vid. Vill du komma igång snabbt så plocka ner gzip-filen ovan, packa upp och ladda upp: report.tex, fib.png, fib.pdf, fib.dat och screenshot.png till ett nytta overleaf-projekt. Peppar, peppar skall allt nog kompileras utan problem.
Här är några länkar som kan vara till hjälp:
- TexLive Links to an external site.
- MacTex Links to an external site.
- Miktex Links to an external site.
- Overleaf (online, används av flertalet) Links to an external site.
Inlämnade rapporter får 0, 1, eller 2 poäng. All uppgifter har en deadline - om du har problem med att få din rapport färdig så meddela det direkt (inte tre dagar efter deadline).
- 0 - underkänd
- 1 - lämna in en ny rapport där kommentarer är åtgärdade, deadline veckan efter
- 2 - godkänd
GitHub
Nästan allt som du kommer att göra in den här kursen finns in ett GitHub repro Links to an external site.. Använd det varsamt, det är stor skillnad på att kopiera kod och at skriva kod själv - det är lätt att lura sig själv. Notera också att den kod som finns kanske inte överenstämmer med den kod som finn si uppgifterna.