Skip to content

Commit 7bddeab

Browse files
author
Oskar Lundström
committed
2 parents d3bd749 + 1fd2876 commit 7bddeab

File tree

1 file changed

+44
-51
lines changed

1 file changed

+44
-51
lines changed

Rapport/include/Metod.tex

Lines changed: 44 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,13 @@ \section{Konstruktion av läromaterialet}\label{sec:konstruktion}
7676
med avseende på kapitel och fas. Det här illustereras i
7777
figur~\ref{fig:oversiktB}. Där ser man att sökandet av områden skedde för flera
7878
kapitel samtidigt. Detta då arbetet med att hitta ett område ofta gav flera
79-
områden samtidigt. I figuren ser man också att implementation av domänspecifika
79+
områden samtidigt. I figuren ser man också att implementationen av domänspecifika
8080
språk och skrivande av lärotext skedde samtidigt. Eftersom de i resultatet är
8181
sammanvävda var det också högst naturligt att processerna med att skapa dem
8282
även de var sammanvävda.
8383

8484
\begin{binge}
85-
\textbf{Utveckla eller ta bort, känns som vi upprepar oss här}
85+
\textbf{TODO: Utveckla eller ta bort, känns som vi upprepar oss här}
8686

8787
Genom hela projektet har skapande av kapitlena skett parallellt. De olika
8888
processerna har även befunnit sig i olika faser samtidigt.
@@ -97,12 +97,12 @@ \subsection{Sökande efter områden att behandla}\label{sec:valet}
9797
Ett domänspecifikt språk modellerar ett specifikt och avgränsat område. Därför
9898
var det naturligt att söka och tänka i termer av avgränsade områden inom
9999
fysiken. För att rent praktiskt hitta områden att behandla kontaktades Åke
100-
Fäldt, examinator för Fysik för ingenjörer\cite{tif085} och dess bok (University
100+
Fäldt, examinator för Fysik för ingenjörer\cite{tif085} och kursens bok (University
101101
Physics\cite{UP}) och övrig material studerades.
102102

103103
Denna sökandeprocess innefattade inte bara att \textit{hitta} fysikaliska
104104
områden utan även \textit{organisera} dem i relation till varandra. Som framgår
105-
senare är till exempel vissa områden påbyggningar av andra. Denna organisering
105+
senare är till exempel vissa områden baserade på andra. Denna organisering
106106
var viktig för att kunna implementera de domänspecifika spårken på bästa sätt
107107
och undvika överlappande implementationer.
108108

@@ -234,12 +234,12 @@ \subsection{Implementation av DSL för områdena}
234234

235235
Efter att ett domänspecifikt språk implementerats skrevs tester till det. Det
236236
som var intressant att testa var olika lagar som skulle gälla. Eftersom de
237-
domänspecifika språk modellerade matematik var det matematiska lagar som skulle
238-
gälla. Ett exempel var att vektoraddition skulle vara kommutativ. Testerna
239-
gjordes med hjälp av \textit{QuickCheck}. QuickCheck är ett testningsverktyg i
240-
Haskell som genererar många och slumpmässiga testfall. Att lagarna gällde för de
241-
domänspecifika språken verifierades med andra ord genom testa för många
242-
exempelvärden. Inga bevis av att lagarna gällde gjordes.
237+
domänspecifika språk vi skrev modellerade matematik var det matematiska lagar
238+
som skulle gälla. Ett exempel var att vektoraddition skulle vara kommutativ.
239+
Testerna gjordes med hjälp av \textit{QuickCheck}. QuickCheck är ett
240+
testningsverktyg i Haskell som genererar många och slumpmässiga testfall. Att
241+
lagarna gällde för de domänspecifika språken verifierades med andra ord genom
242+
testa för många exempelvärden. Inga bevis av att lagarna gällde gjordes.
243243

244244
\subsubsection*{Implementation av grundläggande områden}
245245
\label{sec:grund_impl}
@@ -253,8 +253,8 @@ \subsubsection*{Implementation av grundläggande områden}
253253
kategorier: basdimensioner eller sammansatta dimensioner. Det finns enbart sju
254254
basdimensioner (längd, massa, tid, elektrisk ström, temperatur, substansmängd och
255255
ljusstyrka) medan det finns oändligt många sammansatta. Sammansatta
256-
dimensioner fås genom att multiplicera eller dividera två andra dimesnioner. Av
257-
de tre exempelna är den första och sista basdimensioner, medan den sista är
256+
dimensioner fås genom att multiplicera eller dividera två andra dimensioner. Av
257+
dessa tre exempel är den första och sista basdimensioner, medan den andra är
258258
sammansatt.
259259

260260
En första ansats till implementation skulle därför kunna se ut som
@@ -272,7 +272,7 @@ \subsubsection*{Implementation av grundläggande områden}
272272
\end{lstlisting}
273273

274274
där \texttt{BD} syntaktiskt representerar de sju basdimensionerna.
275-
Sammansatta dimensioner kan representeras med följande syntaxträd
275+
Sammansatta dimensioner kan representeras med följande datatyp
276276

277277
\begin{lstlisting}[frame=none, belowskip=-0.5\baselineskip, xleftmargin=0.5in]
278278
data Dim = BaseDim BD -- `Löv med grundläggande dimension'
@@ -347,7 +347,7 @@ \subsubsection*{Implementation av grundläggande områden}
347347
Längd \end{align*}
348348
Det vill säga, potensregeln används för att beräkna den nya produkten.
349349

350-
Multiplikation mellan två dimensioner i läromaterialet implemtentarades på ett
350+
Multiplikation mellan två dimensioner i läromaterialet implementerades på ett
351351
motsvarande sätt
352352

353353
\begin{lstlisting}[frame=none, belowskip=-0.5\baselineskip, xleftmargin=0.5in]
@@ -359,15 +359,16 @@ \subsubsection*{Implementation av grundläggande områden}
359359
Expontenterna hos de två dimensionerna som multipliceras adderas i enlighet med
360360
potensregeln.
361361

362-
För att se alla implementationer hänvisas till läromaterialet i sig. Ett utdrag
363-
finns i bilaga \ref{cha:utdrag} och det fullständiga finns tillgängligt på internet \cite{LYAP}.
362+
För att se alla implementationer hänvisas läsaren till läromaterialet i sig. Ett
363+
utdrag finns i bilaga~\ref{cha:utdrag} och det fullständiga finns tillgängligt
364+
på internet\cite{LYAP}.
364365

365366
\subsubsection*{Implementation av komposita områden}
366367

367368
Implementationen av komposita områden var en vidareutveckling på de redan
368369
implementerade grundläggande områdena. Detta utfördes genom att kombinera
369370
element från två eller flera områden för att på så sätt tillsammans skapa ett
370-
helt nytt område. Denna kombination växte fram organiskt genom att studera det
371+
helt nytt område. Denna kombination växte fram organiskt genom att studera de
371372
områden som skulle implementeras och se vilka av de grundläggande områdena som
372373
låg till grund. Efter en sådan studie växte den faktiska implementationen fram
373374
genom experimentering och diskussion inom gruppen.
@@ -421,12 +422,13 @@ \subsection{Skriva lärotext}
421422
Skrivandet av lärotexten till de grundläggande och komposita områden var
422423
övergripande likadana. Skillnaden låg i balansen mellan Haskell och fysik. För
423424
de grundläggande områdena fokuserade lärotexten mer på Haskell eftersom det var
424-
ett domänspecifikt språk som skulle konstrueras. Hur det fungerade var därför
425-
viktigt att förklara. Dessutom var de fysikaliska och matematiska inslagen inte
426-
alltför stora. I kontrast står lärotexten för det komposita områdena, där ett
427-
större fokus låg på fysik. För dessa områden visades hur de domänspecifika
428-
språken var praktiskt användbara och då förklarades fysik, för att sedan kunna
429-
visa hur den fysiken kunde represententeras i de domänspecifika språken.
425+
ett helt nytt domänspecifikt språk som skulle konstrueras. Hur det fungerade var
426+
därför viktigt att förklara. Dessutom var de fysikaliska och matematiska
427+
inslagen inte alltför stora. I kontrast står lärotexten för det komposita
428+
områdena, där ett större fokus låg på fysik. För dessa områden visades hur de
429+
domänspecifika språken var praktiskt användbara och då förklarades fysik, för
430+
att sedan kunna visa hur den fysiken kunde represententeras i de domänspecifika
431+
språken.
430432

431433
Ett exempel på ovanstående är kapitlet kring det komposita området om fysik för
432434
partiklar. Dess implementation var en sammanslagning av området vektorer och
@@ -496,38 +498,29 @@ \section{Utvärdering med testgrupp}
496498
% Jag tror det är kompatibelt med det jag sagt tidigare - att göra en "ordentlig" utvärdering av det pedagogiska utfallet är komplicerat och tar (kalender-)tid.
497499
% Informell utvärdering av en testgrupp bör dock ingå.
498500

499-
För att utvärdera läromaterialet gjordes en kort och informell utvärdering med en testgrupp. Testgruppen bestod av tre andra studenter på Chalmers som gick tredje året på Datateknik eller Informationsteknik. De hade alla läst Fysik för ingenjörer eller motsvarande sedan innan och de hade läst en kurs i Haskell. Däremot hade de inte läst DSLsofMath eller motsvarande. Domänspecifika spårk var med andra ord nytt för dem.
501+
För att utvärdera läromaterialet gjordes en kort och informell utvärdering med
502+
en testgrupp. Testgruppen bestod av tre andra studenter på Chalmers som gick
503+
tredje året på Datateknik eller Informationsteknik. De hade alla läst Fysik för
504+
ingenjörer eller motsvarande sedan innan och de hade läst en kurs i Haskell.
505+
Däremot hade de inte läst DSLsofMath eller motsvarande. Domänspecifika språk var
506+
med andra ord nytt för dem.
500507

501-
Utvärderingen gjordes genom att visa dem läromaterialet och ge det en kort presentation och bakgrund. Sedan fick de på egen hand läsa det. Deras spontana reaktioner och svar på frågor noterades.
508+
Utvärderingen gjordes genom att visa dem läromaterialet och ge det en kort
509+
presentation och bakgrund. Sedan fick de på egen hand läsa det. Deras spontana
510+
reaktioner och svar på frågor noterades.
502511

503512
\section{Möten med fysikläraren}
504513

505-
För att få återkoppling på läromaterialet hölls två möten med Åke Fäldt, föreläsare och examinator för Fysik för ingenjörer. Ett möte hölls relativt tidigt i projektets skede, 2018-03-02, och ett andra relativt sent, 2018-04-11. Under mötena presenterades läromaterialet i sig och tanken med det, nämligen att presentera fysik på ur ett annat perspektiv, ett funktionellt programmeringsperspektiv. Det diskuterades också svåra områden i Fysik för ingenjörer, vad läromaterialet skulle kunna bidra med för kunskaper till studenter samt dess eventuella roll i relation till fysikkursen i övrigt.
514+
För att få återkoppling på läromaterialet hölls två möten med Åke Fäldt,
515+
föreläsare och examinator för Fysik för ingenjörer. Ett möte hölls relativt
516+
tidigt i projektets skede, 2018-03-02, och ett andra relativt sent, 2018-04-11.
517+
Under mötena presenterades läromaterialet i sig och tanken med det, nämligen att
518+
presentera fysik på ur ett annat perspektiv, ett funktionellt
519+
programmeringsperspektiv. Det diskuterades också svåra områden i Fysik för
520+
ingenjörer, vad läromaterialet skulle kunna bidra med för kunskaper till
521+
studenter samt dess eventuella roll i relation till fysikkursen i övrigt.
506522

507-
Fäldt befrågades även på vilka fysikalsika områden datastudenter haft svårt för i Fysik för ingenjörer. Detta finns beskrivit i avsnitt \ref{sec:kontakt_faldt}.
523+
Fäldt befrågades även på vilka fysikaliska områden datastudenter haft svårt för
524+
i Fysik för ingenjörer. Detta finns beskrivit i avsnitt~\ref{sec:kontakt_faldt}.
508525

509526
\end{draft}
510-
511-
512-
513-
514-
515-
516-
517-
518-
519-
520-
521-
522-
523-
524-
525-
526-
527-
528-
529-
530-
531-
532-
533-

0 commit comments

Comments
 (0)