You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Rapport/include/Metod.tex
+60-71Lines changed: 60 additions & 71 deletions
Original file line number
Diff line number
Diff line change
@@ -26,9 +26,9 @@ \chapter{Genomförande}
26
26
27
27
\section{Konstruktion av läromaterialet}\label{sec:konstruktion}
28
28
29
-
\textbf{TODO: Sätt ett värde på X}
29
+
\textbf{TODO: Rätt värde?}
30
30
31
-
Läromaterialet består av X kapitel som vardera behandlar separata
31
+
Läromaterialet består av 6 kapitel som vardera behandlar separata
32
32
områden. Skapandet av varje kapitel skedde därför till största delen fristående
33
33
från andra kapitel. Skapandet av kapitlena bestod i sin tur av tre faser,
34
34
som såg likadana ut för alla kapitel. Dessa faser var sökande efter område,
@@ -59,8 +59,8 @@ \section{Konstruktion av läromaterialet}\label{sec:konstruktion}
59
59
är en del som arbetats med och är gråmarkerad.}
60
60
\end{figure}
61
61
62
-
Även om detta sätt att dela upp processen är översiktlig är den inte helt
63
-
verklighetstrogen. I praktiken fanns det överlapp mellan de olika delarna, både
62
+
Även om detta sätt att dela upp processen är översiktligt är det inte helt
63
+
verklighetstroget. I praktiken fanns det överlapp mellan de olika delarna, både
64
64
med avseende på kapitel och fas. Det här illustereras i
65
65
figur~\ref{fig:oversiktB}. Där ser man att sökandet av områden skedde för flera
66
66
kapitel samtidigt. Detta då arbetet med att hitta ett område ofta gav flera
@@ -69,7 +69,7 @@ \section{Konstruktion av läromaterialet}\label{sec:konstruktion}
69
69
sammanvävda var det också högst naturligt att processerna med att skapa dem
70
70
även de var sammanvävda.
71
71
72
-
De tre följande avsnitten beskriver i detalj hur de tre faserna, val,
72
+
De tre följande avsnitten beskriver i detalj hur de tre faserna, sökande,
73
73
implementation och skrivande, såg ut. Det är viktigt att minnas att det, som
74
74
nämndes ovan, fanns överlapp mellan både faserna och kapitlena.
75
75
@@ -78,8 +78,8 @@ \subsection{Sökande efter områden att behandla}\label{sec:valet}
78
78
Ett domänspecifikt språk modellerar ett specifikt och avgränsat område. Därför
79
79
var det naturligt att söka och tänka i termer av avgränsade områden inom
80
80
fysiken. För att rent praktiskt hitta områden att behandla kontaktades Åke
81
-
Fäldt, examinator för Fysik för ingenjörer\cite{tif085} och kursens bok (University
82
-
Physics\cite{UP}) och övrig material studerades.
81
+
Fäldt, examinator för Fysik för ingenjörer~\cite{tif085} och kursens bok (University
82
+
Physics~\cite{UP}) och övrigt material studerades.
83
83
84
84
Denna sökandeprocess innefattade inte bara att \textit{hitta} fysikaliska
85
85
områden utan även \textit{organisera} dem i relation till varandra. Som framgår
@@ -95,15 +95,15 @@ \subsubsection*{Kontakt med fysikläraren}
95
95
studenterna, problematiska områdena. Enligt Fäldt är ett allmänt problem att
96
96
egna mentala modeller för problem är felaktiga eftersom studenter ofta tar
97
97
genvägar som inte bygger på saker de är säkra gäller. En annan erfarenhet
98
-
från honom är att så länge första raden i en uppgiftslösning är rätt, så är
98
+
från honom är att så länge första raden i en uppgiftslösning är rätt, är
99
99
resten också rätt. Med andra ord, har studenten väl identifierat vilken typ av
100
100
problem det rör sig om brukar det inte vara några svårigheter att lösa
101
101
uppgiften.
102
102
103
103
Med hjälp av insikterna från Fäldt drogs två slutsatser. Den första slutsatsen
104
104
var att matematisk analys var ett område värt att behandla i detalj. Den andra
105
105
slutsatsen var att genom att ge struktur till olika typer av problem skulle det
106
-
förhoppningsvis kunna underlätta för studenter att lära sig att identifiera vilken
106
+
förhoppningsvis kunna underlätta för studenter att lära sig identifiera vilken
107
107
typ av uppgift de handskas med.
108
108
109
109
\subsubsection*{Studerande av kursbok och kursmaterial}
@@ -126,8 +126,8 @@ \subsubsection*{Studerande av kursbok och kursmaterial}
126
126
sagt var enbart områden med tydlig data och tydliga operationer lämpade. Detta
127
127
diskuteras utförligare i avsnitt~\ref{sec:lampligt}. Det framgick också att det
128
128
blev överlapp mellan olika domänspecika språk trots att områdena var fristående.
129
-
Ett exempel var det domänspecifika språk för partiklar som till stor del
130
-
tillämpade de domänspecifika språken för matematisk analys och vektorer.
129
+
Ett exempel var det domänspecifika språk för partikelmekanik som till stor del
130
+
liknade de domänspecifika språken för matematisk analys och vektorer.
131
131
132
132
Det blev av dessa skäl nödvändigt att göra en distinktion mellan två typer av
133
133
områden: \textit{grundläggande} och \textit{komposita}. Grundläggande områden är
@@ -139,8 +139,7 @@ \subsubsection*{Områden som valdes ut}
139
139
140
140
När kunskap inhämtats om olika områden kunde ett urval göras. De områden som
141
141
identifierades som grundläggande och hade en väl lämpad struktur (se
142
-
avsnitt~\ref{sec:valdeslampligt}) ut. Med detta som grund blev följande de
143
-
områden som valdes ut.
142
+
avsnitt~\ref{sec:lampligt}) valdes ut. Med detta som grund blev det de följande områdena som valdes.
144
143
145
144
\textit{Dimensioner} eftersom det är viktigt för studenter att förstå sig på
146
145
hur dimensioner påverkas av algebraiska operationer. Det kan också vara
@@ -164,28 +163,21 @@ \subsubsection*{Områden som valdes ut}
164
163
implementerade grundläggande områdena. Det komposita områdena som valdes ut
165
164
blev:
166
165
167
-
\textit{Punktpartikelsmekanik}. Här gås mycket av den gymnasiala fysiken igenom.
168
-
Lägesenergi, rörelseenergi, gravitation o.s.v. Den modelleras med vektorer vars
166
+
\textit{Exempelproblem} för att visa hur ett par typuppgifter i klassisk mekanik kan modelleras i läromaterialets domänspecifika språk. Närmare bestämt tillämpas de domänspecifika språken på \textit{krafter på lådor} och \textit{gungbräda}.
167
+
168
+
\textit{Partikelsmekanik}. Här gås mycket av den gymnasiala fysiken igenom.
169
+
Lägesenergi, rörelseenergi, gravitation och så vidare. Den modelleras med vektorer vars
169
170
komponenter består av matematiska uttryck tagna från kapitlet om matematisk
170
171
analys. Förhoppningen är att detta område inte ska presentera någon ny fysik för
171
-
läsaren utan istället visar hur redan känd fysik direkt går att översätta till
172
-
domänspecifika våra domänspecifika språk.
173
-
174
-
\end{draft}
172
+
läsaren utan istället visa hur redan känd fysik direkt går att översätta till läromaterialets domänspecifika språk.
175
173
176
-
\begin{binge}
177
-
\textbf{TODO:~OCH FLER?}
178
-
\end{binge}
174
+
\subsection{Implementation av domänspecifika språk för områdena}
179
175
180
-
\begin{draft}
181
-
182
-
\subsection{Implementation av DSL för områdena}
183
-
184
-
Implementationen av ett domänspecifikt språk till ett område inleddes med att
176
+
Implementationen var en av domänspecifka språk var en iterativ process.
177
+
Implementationen av område inleddes med att
185
178
bygga vidare på den experimentering som gjorts under urvalsfsen. Det finns inte
186
179
ett rätt sätt att skriva ett domänspecifikt språk på, därav gjordes försök med
187
-
flera olika varianter för att se vad som fungerade bäst. Implementationen var en
188
-
iterativ process. I flera fall har implementationer gjorts om från grunden om
180
+
flera olika varianter för att se vad som fungerade bäst. I flera fall har implementationer gjorts om från grunden om
189
181
det visat sig först en bit in att implementationen kunde gjorts bättre eller
190
182
hade brister. Dessutom gjordes, i varierande mån, inläsning av domänspecifika
191
183
språk, fysik och Haskell för att kunna implementera på bästa sätt.
@@ -202,9 +194,9 @@ \subsection{Implementation av DSL för områdena}
202
194
203
195
Efter att ett domänspecifikt språk implementerats skrevs tester till det. Det
204
196
som var intressant att testa var olika lagar som skulle gälla. Eftersom de
205
-
domänspecifika språk vi skrev modellerade matematik var det matematiska lagar
197
+
domänspecifika språken i läromaterialet modellerade matematik var det matematiska lagar
206
198
som skulle gälla. Ett exempel var att vektoraddition skulle vara kommutativ.
207
-
Testerna gjordes med hjälp av \textit{QuickCheck}. QuickCheck är ett
199
+
Testerna gjordes med hjälp av \textit{QuickCheck}~\cite{QC}. QuickCheck är ett
208
200
testningsverktyg i Haskell som genererar många och slumpmässiga testfall. Att
209
201
lagarna gällde för de domänspecifika språken verifierades med andra ord genom
210
202
testa för många exempelvärden. Inga bevis av att lagarna gällde gjordes.
@@ -217,15 +209,13 @@ \subsubsection*{Implementation av grundläggande områden}
217
209
läromaterialet och implementerar fysikaliska dimensioner i Haskell.
218
210
219
211
I fysiken finns det dimensioner \cite{dimensioner_ne}. Några exempel är \textit{längd},
220
-
\textit{hastighet} och \textit{massa}. Dimensionerna kan läggas i en av två
212
+
\textit{massa} och \textit{hastighet}. Dimensionerna kan läggas i en av två
221
213
kategorier: basdimensioner eller sammansatta dimensioner. Det finns enbart sju
222
214
basdimensioner (längd, massa, tid, elektrisk ström, temperatur, substansmängd och
223
215
ljusstyrka) medan det finns oändligt många sammansatta. Sammansatta
224
-
dimensioner fås genom att multiplicera eller dividera två andra dimensioner. Av
225
-
dessa tre exempel är den första och sista basdimensioner, medan den andra är
226
-
sammansatt.
216
+
dimensioner fås genom att multiplicera eller dividera två andra dimensioner. Av längd, massa och hastighet är längd och massa basdimensioner medan hastighet är sammansatt.
227
217
228
-
En första ansats till implementation skulle därför kunna se ut som
218
+
En första ansats till en implementation skulle därför kunna se ut som
229
219
230
220
% Dessa inställningar ska bara användas vid "inline" kod som ej är separat figur.
övergripande likadana. Skillnaden låg i balansen mellan Haskell och fysik. För
392
388
de grundläggande områdena fokuserade lärotexten mer på Haskell eftersom det var
393
389
ett helt nytt domänspecifikt språk som skulle konstrueras. Hur det fungerade var
394
-
därför viktigt att förklara. Dessutom var de fysikaliska och matematiska
395
-
inslagen inte alltför stora. I kontrast står lärotexten för det komposita
390
+
därför viktigt att förklara. I kontrast står lärotexten för det komposita
396
391
områdena, där ett större fokus låg på fysik. För dessa områden visades hur de
397
392
domänspecifika språken var praktiskt användbara och då förklarades fysik, för
398
393
att sedan kunna visa hur den fysiken kunde represententeras i de domänspecifika
399
394
språken.
400
395
401
-
Ett exempel på ovanstående är kapitlet kring det komposita området om fysik för
402
-
partiklar. Dess implementation var en sammanslagning av området vektorer och
396
+
Ett exempel på ovanstående är kapitlet kring det komposita området partikelmekanik. Dess implementation var en sammanslagning av området vektorer och
403
397
matematisk analys, där istället för att visa och förklara hur områdena kunde
404
398
implementeras i Haskell visade hur det direkt gick att översätta de
405
399
fysikaliska formlerna som beskriver partiklars rörelse och energier till
@@ -424,25 +418,23 @@ \section{Skapande av och publicering på hemsidan}
424
418
425
419
Läromaterialet kompilerades med hjälp av ett bygg-script och
426
420
publicerades på en internethemsida. Bygg-scriptet anropar
427
-
\textit{Pandoc} för att konvertera från källkod och text i Literate
428
-
Haskell format till HTML, redo att visas på en hemsida. Pandoc
421
+
Pandoc för att konvertera från källkod och text i Literate
422
+
Haskell-formatet till HTML, redo att visas på en hemsida. Pandoc
429
423
packeterar även med \textit{MathJax} som använder JavaScript för att
430
-
rendera matematiska formler i LaTeXformat på fint och läsbart
424
+
rendera matematiska formler i LaTeX-format på fint och läsbart
431
425
vis. Utan stöd för JavaScript skrivs matematik ut som omodifierad
432
-
LaTeX kod, vilket är mer svårläst, men fortfarande tolkningsbart. Det
433
-
skrevs även \textit{CSS} manuellt för att modifiera utseendet av
434
-
hemsidan sådant att den blev mer fin och läsbar enligt
435
-
projektmedlemmarna.
426
+
LaTeX-kod, vilket är mer svårläst, men fortfarande tolkningsbart. Det
427
+
skrevs även CSS-kod manuellt för att modifiera utseendet av
428
+
hemsidan så att den skulle bli prydligare och mer lättläst.
436
429
437
430
Varje källfil betraktades som ett kapitel och publicerades som
438
431
separata undersidor. Med hjälp av ett index beskrivet i bygg-scriptet
439
432
konstruerades navigationselement mellan kapitel på varje undersida
440
433
och en innehållsförteckning.
441
434
442
-
För publicering lades all data producerad av bygg-scriptet i en ny git
443
-
branch med namnet \texttt{gh-pages}. Att alla branches synkroniseras
444
-
mot GitHub medför att alla filer på \texttt{gh-pages} branchen
445
-
serveras som en hemsida med hjälp av \textit{GitHub
435
+
För publicering lades all data producerad av bygg-scriptet i en ny git-gren (engelska \textit{git branch}) med namnet \texttt{gh-pages}. Att alla grenar synkroniseras
436
+
mot GitHub medför att alla filer på \texttt{gh-pages} grenen
437
+
visas som en hemsida med hjälp av \textit{GitHub
446
438
Pages}. Publiceringen skedde inte kontinuerligt eller automatiskt,
447
439
utan krävde en manuell synkronisering vid varje önskad uppdatering av
448
440
hemsidan.
@@ -485,10 +477,7 @@ \section{Möten med fysikläraren}
485
477
Under mötena presenterades läromaterialet i sig och tanken med det, nämligen att
486
478
presentera fysik på ur ett annat perspektiv, ett funktionellt
487
479
programmeringsperspektiv. Det diskuterades också svåra områden i Fysik för
488
-
ingenjörer, vad läromaterialet skulle kunna bidra med för kunskaper till
480
+
ingenjörer (se avsnitt \ref{sec:kontakt_faldt}), vad läromaterialet skulle kunna bidra med för kunskaper till
489
481
studenter samt dess eventuella roll i relation till fysikkursen i övrigt.
490
482
491
-
Fäldt befrågades även på vilka fysikaliska områden datastudenter haft svårt för
492
-
i Fysik för ingenjörer. Detta finns beskrivit i avsnitt~\ref{sec:kontakt_faldt}.
0 commit comments