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
nämndes i avsnitt~\ref{sec:res_laromaterial} att det påbörjats. Det är dock värt
95
95
att nämna att vi är mycket nöjda med det material som vi har producerat. Våra
96
96
kapitel är väl avgränsade, utformade och implementerade på det sätt som vi
97
-
anser att de bör.
97
+
anser att de bör.
98
98
99
99
En annan del av målet var att läromaterialet skulle vara lättillgängligt genom
100
100
sitt språkbruk, publicering på en hemsida och fri tillgång till källkoden.
@@ -132,15 +132,17 @@ \subsection{Om läromaterialets fokus på matematik och Haskell snarare än
132
132
Målet med läromaterialet var att lära ut fysik på ett roligt och lättförståeligt
133
133
sätt. Dock syns det i resultatet, avsnitt~\ref{sec:res_laromaterial}, att det
134
134
stora fokuset lagts på att förklara och lära ut matematik och Haskell. Varför
135
-
blev det så? Vi menar att det finns flera anledningar till detta.
135
+
blev det så? Vi menar att det finns flera anledningar till detta.
136
136
137
137
Problemet med att prata om en egen implementation av fysik är att fysik inte är
138
138
ett helt eget område. Det är snarare så att fysik kan ses som tillämpad
139
139
matematik, att fysik använder matematiken för att beskriva det fysikaliska
140
140
universum vi lever i. Det blir därför naturligt att när den faktiska
141
141
implementationen av dessa beskrivningar och lagar sker, så sker de med hjälp av
142
-
matematiken. Att ett stort fokus läggs på matematiken är alltså en
143
-
konsekvens av fysiken i sig själv. Att fysik är tillämpad matematik illustreras i figur~\ref{fig:xkcd}, som även visar mer generellt hur en kedja av områdena är tillämpningar av varandra.
142
+
matematiken. Det stora fokuset på matematiken är alltså en
143
+
konsekvens av fysiken i sig själv. Att fysik är tillämpad matematik illustreras
144
+
i figur~\ref{fig:xkcd}, som även visar mer generellt hur en kedja av områdena är
145
+
tillämpningar av varandra.
144
146
145
147
\begin{figure}[tph]
146
148
\centering
@@ -149,7 +151,7 @@ \subsection{Om läromaterialets fokus på matematik och Haskell snarare än
149
151
\href{https://xkcd.com}{xkcd.com} licensierad under
150
152
\href{https://creativecommons.org/licenses/by-nc/2.5/}{CC BY-NC}. Bilden beskriver hur fysik är en tillämpning av matematik. Det är i själva verket
151
153
så att en kedja av områden kan betraktas som tillämpningar av
152
-
varandra.}\label{fig:xkcd}
154
+
varandra.}\label{fig:xkcd}
153
155
\end{figure}
154
156
155
157
Självklart ingår det också en stor del problemlösning inom fysik, den faktiska
@@ -162,7 +164,7 @@ \subsection{Om läromaterialets fokus på matematik och Haskell snarare än
162
164
eftersom ett syfte med läromaterialet var att väcka intresse hos läsaren med
163
165
bakgrund inom Haskell så ville vi lägga fokus på att tydligt visa
164
166
parallellerna mellan funktionell programmering, matematik och implementationen
165
-
av fysik.
167
+
av fysik.
166
168
167
169
Vi hävdar alltså att fokuset lagts på mer än bara fysik av två skäl: att fysik är tillämpad matematik och att det är viktigt att förklara de Haskell-koncept som används. Men måste
168
170
det vara så? Det kan mycket väl vara så att detta fokusskifte har skett på grund
@@ -202,7 +204,7 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
202
204
203
205
\begin{figure}[tph]
204
206
\centering
205
-
\caption{Exempel på data och operationer i några domänspecifika språk}\label{tab:data_och_ops}
207
+
\caption{Exempel på data och operationer i några domänspecifika språk}\label{tab:data_och_ops}
206
208
\begin{tabular}{l|l}
207
209
\toprule
208
210
DSL / data & Exempel på operationer \\ \midrule
@@ -281,7 +283,7 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
281
283
vektorer i flera dimensioner eller vektorer vars komponenter kan vara av vilken
282
284
typ som helst.
283
285
284
-
Ett exempel på ett område som inte har några tydliga data och operationer är
286
+
Ett exempel på ett område som inte har några tydliga data och operationer är
285
287
lutande plan. Ett sådant område har istället teoretiska samband som relaterar
286
288
olika egenskaper i systemet till varandra. Ett sådant samband är till exempel $a
287
289
= g \cdot\sin(v)$ för det lutande planet i figur~\ref{fig:lutande_plan}.
@@ -316,7 +318,7 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
316
318
317
319
Att vissa områden var mindre lämpliga var ett oväntat resultat i projektets
318
320
genomförande. Vid start trodde vi att det skulle gå att göra domänspecifika
319
-
språk för alla områden, såväl matematiska som fysikaliska, men som vi
321
+
språk för alla områden, såväl matematiska som fysikaliska, men som vi
320
322
diskuterat här gick inte det. Istället gjordes uppdelningen mellan grundläggande och
321
323
komposita områden, som beskrevs i avsnitt~\ref{sec:valet}, så att de fysikaliska
322
324
områden (som blev komposita) kunde behandlas som tillämpningar av de
@@ -342,7 +344,7 @@ \subsection{Gör domänspecifika språk att fysik blir mer lättförståeligt?}\
342
344
År 2016 genomfördes ett kandidatarbete på Chalmers liknande
343
345
detta~\cite{kandidat2016}. Det kandidatarbetet resulterade också i ett
344
346
läromaterial. Skillnaden är att det handlade om signallära medan detta handlar
345
-
om fysik. Grundidèen är dock densamma: att använda domänspecifika språk för att
347
+
om fysik. Grundidén är dock densamma: att använda domänspecifika språk för att
346
348
ge struktur till ett annat område. Detta tycker vi visar på att det finns ett
347
349
akademiskt intresse för att använda domänspecifika språk i syfte att lära ut,
348
350
och att det inte bara är fysik och matematik som är lämpliga områden utan att
@@ -370,7 +372,7 @@ \subsection{Gör domänspecifika språk att fysik blir mer lättförståeligt?}\
370
372
kunna vara en nackdel att kombinera domänspecifika språk och fysik om det leder
371
373
till att man tänker alltför fyrkantigt kring fysik. Vi anser dock att
372
374
domänspecifika språk har ett värde ihop med fysik just för dessa strukturgivande
373
-
möjligheter, även om inte alla aspekter av fysik kan täckas.
375
+
möjligheter, även om inte alla aspekter av fysik kan täckas.
374
376
375
377
Man kan också
376
378
tänka sig att det finns ett värde i omsluta den kreativa problemlösningen
@@ -387,7 +389,7 @@ \subsection{Gör domänspecifika språk att fysik blir mer lättförståeligt?}\
387
389
Projektets läromaterial är ett exempel på ett sådant försök. Men läromaterialet
388
390
har även haft två andra drag förutom domänspecifika språk, som skiljer sig från
389
391
traditionell fysikundervisning, nämligen ett lättillgängligt språk och en
390
-
nogrann genomgång av koncepten. Hade inte detta räckt? Hade inte fysiken i sig
392
+
nogrann genomgång av koncepten. Hade inte detta räckt? Hade inte fysiken i sig
391
393
kunnat förklarats bättre om den haft allt fokus?
392
394
393
395
Vi tror att svaret på båda dessa frågor är ja, med vissa reservationer. Ett
@@ -483,7 +485,7 @@ \section{Etiska aspekter}
483
485
hemsidans uppbyggnad. Det handlar om transparens, att visa att man är positiv till att andra
484
486
tittar på hur man gjort och låta dem bygga vidare på ens skapelser. Genom att
485
487
sluta oss till skaran som skapar öppen källkod hoppas vi att fler inom samhället
486
-
i stort ska gå över till denna modell.
488
+
i stort ska gå över till denna modell.
487
489
488
490
Valet att skriva på engelska har också att göra med tillgängligheten. Fler kan
489
491
engelska än svenska. På detta sätt kan läromaterialet komma fler till gagn.
Copy file name to clipboardExpand all lines: Rapport/include/Introduktion.tex
+5-6Lines changed: 5 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ \section{Bakgrund}
21
21
22
22
DSLsofMath-kursens skapare, Cezar Ionescu och Patrik Jansson, har beskrivit avsikten med kursen i en artikel~\cite{tfpie2015}. Det direkta målet med kursen är
23
23
att förbättra den matematiska utbildningen för datavetare och den
24
-
datavetenskapliga utbildningen för matematiker, där den grundläggande idéen
24
+
datavetenskapliga utbildningen för matematiker, där den grundläggande idén
25
25
bakom kursen är:
26
26
27
27
\begin{center} ``[\dots] att uppmuntra studenterna att närma sig matematiska
@@ -39,7 +39,7 @@ \section{Bakgrund}
39
39
programmeringsspråk eller implementerat helt fristående. I kursen och projektet
40
40
är de implementerade i Haskell.
41
41
42
-
Idéen bakom projektet är att använda domänspecifika språk för att ur ett alternativt perspektiv presentera fysik. Likt det sätt DSLsofMath
42
+
Idén bakom projektet är att använda domänspecifika språk för att ur ett alternativt perspektiv presentera fysik. Likt det sätt DSLsofMath
43
43
presenterar kopplingar mellan matematik och programmering ska projektet på motsvarande sätt visa på kopplingar mellan programmering och fysik och därmed
44
44
underlätta lärandet. För att förtydliga ges här en analogi:
45
45
@@ -69,8 +69,8 @@ \section{Bakgrund}
69
69
mekanik, med början i Lagranges ekvationer och avslut i perturbationsteori
70
70
(teori för approximationer av matematiska lösningar). I kursens bok~\cite{SICM}
71
71
förklaras fysikaliska fenomen genom att visa datorprogram för att simulera dem,
72
-
skrivna i språket Scheme. Denna typ av kurser ter sig ovanliga och är, till
73
-
projektgruppens kännedom, den enda kursen bortsett från DSLsofMath som knyter
72
+
skrivna i språket Scheme. Denna typ av kurser är ovanliga och är, till
73
+
projektgruppens kännedom, den enda kursen bortsett från DSLsofMath som knyter
74
74
samman fysik, programmering och matematik på en symboliskt nivå för att förklara
75
75
koncepten.
76
76
@@ -84,7 +84,7 @@ \section{Bakgrund}
84
84
85
85
\section{Projektets mål}
86
86
87
-
Målet med detta kandidatarbete är att angripa fysik från ett
87
+
Målet med detta kandidatarbete är att angripa fysik från ett
88
88
programmeringsperspektiv. Förhoppningen är då att fysik ska bli både
89
89
roligare och intressantare för datastudenter, och därmed också
90
90
enklare. Detta liknar premissen bakom kursen DSLsofMath och kandidatarbetet
Copy file name to clipboardExpand all lines: Rapport/include/Metod.tex
+16-16Lines changed: 16 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ \section{Konstruktion av läromaterialet}\label{sec:konstruktion}
50
50
\end{subfigure}
51
51
\caption{Översikt över hur skapandeprocessen för läromaterialet såg ut.
52
52
Processen delas upp utefter två axlar: kapitel och fas. Varje kombination
53
-
är en del som arbetats med och är gråmarkerad.}
53
+
är en del som arbetats med och är gråmarkerad.}
54
54
\end{figure}
55
55
56
56
Även om detta sätt att dela upp processen är översiktligt är det inte helt
@@ -161,7 +161,7 @@ \subsubsection*{Områden som valdes ut}
161
161
162
162
\subsection{Implementation av domänspecifika språk för områdena}
163
163
164
-
Implementationen av domänspecifika språk var en iterativ process.
164
+
Implementationen av domänspecifika språk var en iterativ process.
165
165
Den inleddes med att
166
166
bygga vidare på den experimentering som gjorts under urvalsfasen. Det finns inte bara
167
167
ett rätt sätt att skriva ett domänspecifikt språk på, därav gjordes försök med
@@ -172,9 +172,9 @@ \subsection{Implementation av domänspecifika språk för områdena}
172
172
173
173
Vad som ansågs vara en bra, eller åtminstone tillräckligt bra implementation
174
174
var i huvudsak baserat på gruppmedlemmarnas erfarenhet av Haskell och diskussion
175
-
inom gruppen och med handledaren. Det viktigaste var att de skulle vara
176
-
lättförståeliga. Den programtekniskt elegantaste implementationen användes därför
177
-
inte alltid, utan den längre versionen föredrogs för att göra
175
+
inom gruppen och med handledaren, det viktigaste var att de var
176
+
lättförståeliga. Därför användes inte alltid den programtekniskt elegantaste
177
+
implementationen utan den längre versionen föredrogs för att göra
178
178
läromaterialet så lättläst som möjligt. Dock avstods det inte från användning av
179
179
mer avancerade funktioner i Haskell när materialet motiverade dem, men då alltid
180
180
med en uttömmande förklaring om hur det fungerade och utan krav på tidigare
@@ -198,7 +198,7 @@ \subsubsection*{Implementation av grundläggande områden}
198
198
199
199
I fysiken finns det dimensioner \cite{dimensioner_ne}. Några exempel är \textit{längd},
200
200
\textit{massa} och \textit{hastighet}. Dimensionerna kan läggas i en av två
201
-
kategorier: basdimensioner eller sammansatta dimensioner. Det finns enbart sju
201
+
kategorier: basdimensioner eller sammansatta dimensioner. Det finns enbart sju
202
202
basdimensioner (längd, massa, tid, elektrisk ström, temperatur, substansmängd och
203
203
ljusstyrka) medan det finns oändligt många sammansatta. Sammansatta
204
204
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.
@@ -300,9 +300,9 @@ \subsubsection*{Implementation av grundläggande områden}
som en mänsklig läsare, och inte datorn, tyckte var enklast. Avsnitt \ref{sec:lhs} beskriver hur litterat programmering fungerar i allmänhet och ger
368
368
en bra bild hur det såg ut även i detta projekt.
369
369
370
-
Under skrivandet av lärotexten lades övningar till. Det vanligaste sättet övningar skapades på vara genom att modifiera befintlig lärotext. Istället för att bara förklara allting, så uppmanar den läsaren då och då att göra nästa steg i
371
-
implementationen själv. När
372
-
ett kapitel var avslutat lades dessutom extra övningar till i slutet. Dessa
373
-
övningar var ofta vidareutvecklingsmöjligheter av det domänspecifika språk som
374
-
fanns.
370
+
Under skrivandet av lärotexten lades övningar till. Dessa skapades genom att
371
+
modifiera befintlig lärotext, istället för att förklara allting uppmanar den
372
+
läsaren då och då att göra nästa steg i implementationen själv. När ett kapitel
373
+
var avslutat lades dessutom extra övningar till i slutet, dessa övningar var
374
+
ofta vidareutvecklingar av det domänspecifika språk som redan implementerats.
375
375
376
376
Skrivandet av lärotexten till de grundläggande och komposita områden var
377
377
övergripande likadana. Skillnaden låg i balansen mellan Haskell och fysik. För
@@ -450,7 +450,7 @@ \section{Utvärdering med testgrupp}
450
450
med andra ord nytt för dem.
451
451
452
452
Utvärderingen gjordes genom att visa dem läromaterialet med en kort
453
-
presentation och bakgrund. Sedan fick de på egen hand läsa materialet och deras
453
+
presentation och bakgrund. Sedan fick de på egen hand läsa materialet och deras
\caption{Ett smakprov av det resulterande läromaterialet. Lärotexten ligger mot den ljusgrå bakgrunden medan det domänspecifika språket ligger mot den mörkgrå. Notera att detta exemplets källkod (i Litterate Haskell) har visats tidigare i avsnitt \ref{sec:lhs}.}~\label{fig:smakprov_laromaterial}
16
+
\caption{Ett smakprov av det resulterande läromaterialet. Lärotexten ligger mot den ljusgrå bakgrunden medan det domänspecifika språket ligger mot den mörkgrå. Notera att detta exemplets källkod (i Litterate Haskell) har visats tidigare i avsnitt \ref{sec:lhs}.}~\label{fig:smakprov_laromaterial}
17
17
\end{figure}
18
18
19
19
Språket i lärotexten är enligt projektgruppen lättsamt\footnote{Diskuteras utförligare i avsnitt \ref{sec:res_disk}.} och det finns även bilder och övningar.
Lägesenergi, rörelseenergi, gravitation och så vidare. Den modelleras med vektorer vars
89
89
komponenter består av matematiska uttryck tagna från kapitlet om matematisk
90
90
analys. Förhoppningen är att detta område inte ska presentera någon ny fysik för
91
-
läsaren utan istället visa hur redan känd fysik direkt går att översätta till läromaterialets domänspecifika språk.
91
+
läsaren utan istället visa hur redan känd fysik direkt går att översätta till
92
+
läromaterialets domänspecifika språk.
92
93
93
94
Läromaterialet blev publicerat på en hemsida~\cite{LYAP} och all källkod finns
94
-
tillgänglig på projektets GitHub-repository~\cite{LYAP_repo}. På GitHub-repositoriet finns även ett antal delvis färdigställda områden, till exempel bevisföring. Texten i läromaterialet är skriven
95
-
på engelska.
95
+
tillgänglig på projektets GitHub~\cite{LYAP_repo}. På GitHub finns även ett
96
+
antal delvis färdigställda områden, till exempel bevisföring. Texten i
97
+
läromaterialet är skriven på engelska.
96
98
97
99
\section{Utvärderingen med testgruppen}\label{sec:res_test}
98
100
99
101
Utfallet från utvärderingen med testgruppen var till övervägande del positivt.
100
102
Testgruppen tyckte läromaterialet var ett intressant och roligt sätt att
101
103
presentera fysik på. De tyckte att bilderna tjänade sitt syfte i att muntra upp
102
-
läsaren.
104
+
läsaren.
103
105
104
106
En poäng som framfördes var att inte börja kapitlen för komplicerat. Istället
105
107
tyckte de att det skulle vara bra att börja enkelt, för att kunna hänga med i
0 commit comments