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
dock kunnat vara ännu mer vänligt. Till exempel beskriver vi olika koncept som
109
109
``väldigt enkla'' fastän läsaren kanske inte alls tycker det.
110
110
111
+
Vi knyter här även an till lärandeteorierna i avsnitt \ref{sec:arcs}, som nämnde interaktion och snabba belöningar. Vårt läromaterial har visserligen ingen interaktiv sida, men typsystemet i Haskell skulle ändå tänkas kunna fungera som en fingervisare när man gör rätt eller fel. Det går exempelvis inte att räkna med dimensioner på ett felaktigt sätt, och funktionskomposition fungerar endast om båda funktionernas typdefinitioner (typer på argument och returvärde) stämmer överens. När det kommer till snabba belöningar kan den glädje man ser när koden kompilerar ses som en sådan. Läromaterialet innefattar även strategiskt placerade roliga bilder, för att ge impulsiva reaktioner av glädje.
112
+
111
113
Vem är detta läromaterial relevant för? Visserligen är målgruppen datastudenter, och vi har personligen dragit nytta av det,
112
114
men vi tror att det kan vara relevant för fler än så. Läromaterialet
113
115
kan även vara intressant för fysiklärare. Fäldt nämnde till exempel att han
@@ -194,24 +196,28 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
194
196
och lämpar sig därmed väl för implementering i Haskell som är ett språk med nära
195
197
anknytning till matematik. En annan sak som dessa väl lämpade områden hade
196
198
gemensamt var en tydlig syntax och en fix struktur som bestod av ``data och
197
-
operationer''. Figur~\ref{fig:data_och_ops} visar några exempel på områden med
199
+
operationer''. Tabell~\ref{tab:data_och_ops} visar några exempel på områden med
198
200
sina data och operationer.
199
201
202
+
\captionsetup[figure]{name=Tabell}
203
+
200
204
\begin{figure}[tph]
201
205
\centering
206
+
\caption{Exempel på data och operationer i några domänspecifikaspråk.}\label{tab:data_och_ops}
\caption{Exempeltabell över data och operationer i några domänspecifikaspråk.}\label{fig:data_och_ops}
210
214
\end{figure}
211
215
212
-
Att notera ur figur~\ref{fig:data_och_ops} är att operationerna inom ett område
216
+
\captionsetup[figure]{name=Figur}
217
+
218
+
Att notera ur tabell~\ref{tab:data_och_ops} är att operationerna inom ett område
213
219
görs på en och samma slags data, och sedan resulterar i samma slags data igen.
214
-
Det här exemplifieras i matematisk analys, där derivering är en operation, som
220
+
Det här exemplifieras i matematisk analys, där derivering är en operation som
215
221
görs på en funktion och sedan resulterar i en annan funktion. Detta illustreras
216
222
i figur~\ref{fig:analys_op_exempel} där man ser hur derivering av en funktion
217
223
resulterar i en ny funktion.
@@ -273,11 +279,11 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
273
279
identifiera syntaxen som används, vad är det för data som modelleras,
274
280
vilka operationer som görs på denna data och vad finns det för lagar och samband
275
281
som gäller för dessa. Detta sätt att arbeta fungerar bra för områden som är
276
-
generella och som går att modellera på ett som tillåter vidareutveckling, såsom
282
+
generella och som går att modellera på ett sätt som tillåter vidareutveckling, såsom
277
283
vektorer i flera dimensioner eller vektorer vars komponenter kan vara av vilken
278
284
typ som helst.
279
285
280
-
Ett exempel på ett område som inte har några tydliga data och operationer är just
286
+
Ett exempel på ett område som inte har några tydliga data och operationer är
281
287
lutande plan. Ett sådant område har istället teoretiska samband som relaterar
282
288
olika egenskaper i systemet till varandra. Ett sådant samband är till exempel $a
283
289
= g \cdot\sin(v)$ för det lutande planet i figur~\ref{fig:lutande_plan}.
@@ -308,7 +314,7 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
308
314
tidigare domänspecifika språk. De tidigare språken tillhandahåller de matematiska
309
315
verktyg som behövs för att koda upp lösningar av problem. Därav innehåller det
310
316
resulterande läromaterialet, som beskrivs i avsnitt~\ref{sec:res_laromaterial},
311
-
inga domänspecifika språk för fysik.
317
+
inga domänspecifika språk för fysikaliska problem.
312
318
313
319
Att vissa områden var mindre lämpliga var ett oväntat resultat i projektets
314
320
genomförande. Vid start trodde vi att det skulle gå att göra domänspecifika
@@ -351,7 +357,7 @@ \subsection{Gör domänspecifika språk att fysik blir mer lättförståeligt?}\
351
357
352
358
En annan aspekt är att när de domänspecifika språken används till fysikalisk
353
359
problemlösning måste det ske enligt de regler som ställdes upp när de
354
-
domänspecifika språken definierades Det går med andra ord inte att fuska och ta
360
+
domänspecifika språken definierades. Det går med andra ord inte att fuska och ta
355
361
genvägar i beräkningarna. Detta tankesätt tycker Fäldt, se
356
362
avsnitt~\ref{sec:res_ake}, är en mycket bra aspekt som förmedlas med att
357
363
presentera fysik på detta sätt. Studenten skolas in i att tänka i rigorösa och
@@ -406,7 +412,7 @@ \subsection{Gör domänspecifika språk att fysik blir mer lättförståeligt?}\
406
412
att presentera fysik på och att vi var inne på rätt spår i vår utformning av
407
413
läromaterialet, se avsnitt~\ref{sec:res_test}. Eftersom utvärderingen med
408
414
testgruppen var väldigt kort är det dock svårt att dra några säkra slutsatser
409
-
med hjälp av utvärderingen. Nyttan med ett större intresse för fysik är att man
415
+
med hjälp av den. Nyttan med ett större intresse för fysik är att man
410
416
då förhoppningsvis är mer motiverad att klara fysikkurserna.
411
417
412
418
Avslutningsvis när det kommer till domänspecifika språks vara eller icke-vara
@@ -422,7 +428,7 @@ \section{Vidareutvecklingsmöjligheter och behov av ytterligare kunskap}
422
428
423
429
Läromaterialet innehåller domänspecifika språk för de \textit{matematiska}
424
430
områdena analys och vektorer. Dessa områden används sedan för att koda upp och
425
-
lösa uppgifter av mer \textit{fysikaliska} slag, till exempel lutande plan. Med andra ord hanteras fysikaliska områden genom att tillämpa matematiska domänspecifika språk och inte genom att konstruera fysikaliska domänspecifika språk. En vidareutveckling
431
+
lösa uppgifter av mer \textit{fysikaliska} slag, till exempel krafter på lådor. Med andra ord hanteras fysikaliska områden genom att \textit{tillämpa} matematiska domänspecifika språk och inte genom att \textit{konstruera} fysikaliska domänspecifika språk. En vidareutveckling
426
432
hade därmed varit att göra precis det, att inte tillämpa matematiska
427
433
domänspecifika språk utan att göra fysikaliska domänspecifika språk. Det kan vara
428
434
saker som ett språk för ett lutande plans komponenter. Det kan vara ett
@@ -434,7 +440,7 @@ \section{Vidareutvecklingsmöjligheter och behov av ytterligare kunskap}
434
440
domänspecifika språk hade därför varit en möjlig vidareutveckling.
435
441
436
442
En annan möjlig vidareutveckling är att göra en rigorös studie kring de
437
-
pedagogiska aspekterna kring kombinationen av fysik och domänspecifika språk.
443
+
pedagogiska aspekterna hos kombinationen av fysik och domänspecifika språk.
438
444
Detta projekt innehöll enbart en mindre sådan studie. Det som kan vara
439
445
intressant att undersöka är om studenter tycker att fysik blir intressantare
440
446
genom en kombination av detta slag och kanske därför studerar mer i fysikkursen.
@@ -446,7 +452,7 @@ \section{Vidareutvecklingsmöjligheter och behov av ytterligare kunskap}
446
452
så i praktiken.
447
453
448
454
Även det befintliga läromaterialet kan byggas vidare på. I sin nuvarande
449
-
form behandlas varken termodynamik eller vågrörelselära något alls. Dessutom lär
455
+
form behandlas varken termodynamik eller vågrörelselära alls. Dessutom lär
450
456
det finnas aspekter inom den klassiska mekaniken som fattas.
451
457
452
458
Slutligen finns det en mycket intressant vidareutveckling som inte alls har
@@ -480,7 +486,7 @@ \section{Etiska aspekter}
480
486
hemsidans uppbyggnad. Det handlar om att visa att man är positiv till att andra
481
487
tittar hur man gjort och låta andra bygga vidare på ens skapelser. Genom att
482
488
sluta oss till skaran som skapar öppen källkod hoppas vi att fler inom samhället
483
-
i stort ska gå över till denna modell.
489
+
i stort ska gå över till denna modell.
484
490
485
491
Valet att skriva på engelska har också att göra med tillgängligheten. Fler kan
486
492
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
+11-8Lines changed: 11 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
1
2
2
\chapter{Introduktion}
3
3
4
+
Detta kapitel beskriver projektets bakgrund, mål och avgränsningar.
5
+
4
6
\section{Bakgrund}
5
7
6
8
På civilingenjörsprogrammet Datateknik på Chalmers tekniska högskola ingår den obligatoriska
@@ -26,25 +28,25 @@ \section{Bakgrund}
26
28
domäner från ett funktionellt programmeringsperspektiv: att ge beräkningsbevis
27
29
(calculational proofs); att vara uppmärksamma på syntaxen för matematiska
28
30
uttryck; och, slutligen, att organisera de resulterande funktionerna och
29
-
typerna i domänspecifika språk.''~cite{tfpie2015}~\cite{lecture-notes}\
31
+
typerna i domänspecifika språk.''~\cite{tfpie2015}~\cite{lecture-notes}\
30
32
\end{center}
31
33
32
34
Det funktionella programmeringsperspektivet som kursen använder sig av bottnar i
33
35
så kallade domänspecifika språk. Kortfattat kan ett domänspecifikt språk
34
36
beskrivas som ett programmeringsspråk som skapats för ett väl avgränsat
35
37
område. Detta område kan vara databashantering, algebraiska uttryck eller till
36
38
och med fysik. Språket kan antingen vara implementerat inuti ett annat
37
-
programmeringsspråk eller implementerat helt fristående. I kursen och projektet
39
+
programmeringsspråk eller implementerat helt fristående. I kursen och projektet
38
40
är det implementerat i Haskell.
39
41
40
-
Idéen bakom projektet är att på motsvarande sätt använda domänspecifika språk för att ur ett alternativt perspektiv, likt det sättet DSLsofMath
41
-
presenterar kopplingar mellan matematik och programmering. Förhoppningen är att kunna visa på kopplingar mellan programmering och fysik och därmed
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
43
+
presenterar kopplingar mellan matematik och programmering ska projektet på motsvarande sätt visa på kopplingar mellan programmering och fysik och därmed
42
44
underlätta lärandet. För att förtydliga ges här en analogi:
43
45
44
46
%PaJa:Trevligt!
45
47
46
48
\begin{center}
47
-
Studenterna har svårt för matematik $\rightarrow$ DSLsofMath.\\
49
+
Studenterna har svårt för matematik $\rightarrow$ DSLsofMath.\\
48
50
Studenterna har svårt för fysik $\rightarrow$ Detta projekt.
49
51
\end{center}
50
52
@@ -57,7 +59,7 @@ \section{Bakgrund}
57
59
fysikkurser.
58
60
59
61
Angående tidigare forskning och studier har en kurs på MIT, inte helt olik
60
-
DSLsofMath, tidigare givits som berör både fysik och
62
+
DSLsofMath, tidigare givits som berör både fysik och
61
63
domänspecifika språk.
62
64
%funktionell programmering.
63
65
\textit{Classical Mechanics: A Computational Approach} gavs av professor Gerald Sussman
@@ -69,7 +71,8 @@ \section{Bakgrund}
69
71
förklaras fysikaliska fenomen genom att visa datorprogram för att simulera dem,
70
72
skrivna i språket Scheme. Denna typ av kurs ter sig ovanliga och är, till
71
73
projektgruppens kännedom, den enda kursen bortsett från DSLsofMath på Chalmers som knyter
72
-
samman matematik, fysik och programmering.
74
+
samman fysik, programmering och matematik på en symboliskt nivå för att förklara
75
+
koncepten.
73
76
74
77
Även tidigare har det genomförts ett kandidatarbete på Chalmers med anknytning till DSLsofMath.
75
78
Vårterminen 2016 genomfördes kandidatarbetet \textit{Programmering som
@@ -88,7 +91,7 @@ \section{Projektets mål}
88
91
från 2016, som istället för fysik behandlade matematik respektive signallära.
89
92
90
93
Mer konkret ska ovanstående genomföras genom att skapa ett läromaterial.
Copy file name to clipboardExpand all lines: Rapport/include/Metod.tex
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -135,7 +135,7 @@ \subsubsection*{Områden som valdes ut}
135
135
136
136
När kunskap inhämtats om olika områden kunde ett urval göras. De områden som
137
137
identifierades som grundläggande och hade en väl lämpad struktur (se
138
-
avsnitt~\ref{sec:lampligt}) valdes ut. Med detta som grund blev områdena som valdes ut dimensioner, matematisk analys och vektorer. Här följer en kortfattad motivering av valet av dem.
138
+
avsnitt~\ref{sec:lampligt}) valdes ut. Med detta som grund blev områdena som valdes ut fysikaliska dimensioner, matematisk analys och vektorer. Här följer en kortfattad motivering av valet av dem.
139
139
140
140
\textit{Dimensioner} eftersom det är viktigt för studenter att förstå sig på
141
141
hur dimensioner påverkas av algebraiska operationer. Det kan också vara
@@ -156,7 +156,7 @@ \subsubsection*{Områden som valdes ut}
156
156
mekanik.
157
157
158
158
De komposita områdena identifierades som områden som byggde vidare på de redan
159
-
implementerade grundläggande områdena. Det komposita områdena som valdes ut
159
+
implementerade grundläggande områdena. De komposita områdena som valdes ut
160
160
blev exempelproblem och partikelmekanik. Här följer en kortfattad motivering av valet av dem.
161
161
162
162
\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}.
@@ -265,7 +265,7 @@ \subsubsection*{Implementation av grundläggande områden}
265
265
BaseDim Le
266
266
\end{lstlisting}
267
267
268
-
Även om en sådan förenklare går att göra valdes en annan lösning till
268
+
Även om en sådan förenklare går att göra valdes en annan lösning i
269
269
läromaterialet. Nyckeln ligger i att betrakta dimensioner som en multiplikation
270
270
av basdimensioner med exponenter. Ta till exempel hastighet
271
271
\begin{align*}
@@ -330,7 +330,7 @@ \subsubsection*{Implementation av komposita områden}
330
330
där de grundläggande områdena vektorer och matematisk analys
331
331
kombinerades. Anledningen till detta var att partiklars position, hastighet och
332
332
acceleration modelleras med vektorer, dessutom är de krafter som påverkar
333
-
partiklar även modellerade som vektorer. Sedan används matematisk analys för att
333
+
partiklar även de modellerade som vektorer. Sedan används matematisk analys för att
334
334
göra dessa beräkningar. Därför var det naturligt att modellera partikelmekanik
335
335
med hjälp av vektorer vars komponenter var uttryck som
336
336
implementerades av matematisk analys.
@@ -379,7 +379,7 @@ \subsection{Skriva lärotext}
379
379
övergripande likadana. Skillnaden låg i balansen mellan Haskell och fysik. För
380
380
de grundläggande områdena fokuserade lärotexten mer på Haskell eftersom det var
381
381
ett helt nytt domänspecifikt språk som skulle konstrueras. Hur det fungerade var
382
-
därför viktigt att förklara. I kontrast står lärotexten för det komposita
382
+
därför viktigt att förklara. I kontrast står lärotexten för de komposita
383
383
områdena, där ett större fokus låg på fysik. För dessa områden visades hur de
384
384
domänspecifika språken var praktiskt användbara och då förklarades fysik, för
385
385
att sedan kunna visa hur den fysiken kunde representeras i de domänspecifika
@@ -389,7 +389,7 @@ \subsection{Skriva lärotext}
389
389
matematisk analys, där istället för att visa och förklara hur områdena kunde
390
390
implementeras i Haskell visade hur det direkt gick att översätta de
391
391
fysikaliska formlerna som beskriver partiklars rörelse och energier till
392
-
Haskell-kod med hjälp av de grundläggande områdena. Beskrivning av relationen arbete-energi (engelska \textit{Work-Energy theorem}) gick då till som i figur \ref{fig:komposit-ex}:
392
+
Haskell-kod med hjälp av de grundläggande områdena. Beskrivning av relationen arbete-energi (engelska \textit{Work-Energy theorem}) gick då till som i figur \ref{fig:komposit-ex}.
0 commit comments