Skip to content

Commit 54527b7

Browse files
committed
Slutgiltigare ändringar
1 parent 6563288 commit 54527b7

File tree

8 files changed

+76
-78
lines changed

8 files changed

+76
-78
lines changed

Rapport/include/Diskussion.tex

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,10 @@ \subsection{Om läromaterialets fokus på matematik och Haskell snarare än
139139
matematik, att fysik använder matematiken för att beskriva det fysikaliska
140140
universum vi lever i. Det blir därför naturligt att när den faktiska
141141
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.
144146

145147
\begin{figure}[tph]
146148
\centering
@@ -202,11 +204,7 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
202204

203205
\begin{figure}[tph]
204206
\centering
205-
<<<<<<< HEAD
206-
\caption{Exempel på data och operationer i några domänspecifikaspråk.}\label{tab:data_och_ops}
207-
=======
208-
\caption{Exempel på data och operationer i några domänspecifika språk}\label{tab:data_och_ops}
209-
>>>>>>> 635befa5293a205e06d4ced040bde0212d1661bb
207+
\caption{Exempel på data och operationer i några domänspecifika språk}\label{tab:data_och_ops}
210208
\begin{tabular}{l|l}
211209
\toprule
212210
DSL / data & Exempel på operationer \\ \midrule

Rapport/include/Introduktion.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ \section{Bakgrund}
6969
mekanik, med början i Lagranges ekvationer och avslut i perturbationsteori
7070
(teori för approximationer av matematiska lösningar). I kursens bok~\cite{SICM}
7171
förklaras fysikaliska fenomen genom att visa datorprogram för att simulera dem,
72-
skrivna i språket Scheme. Denna typ av kurser är 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
7474
samman fysik, programmering och matematik på en symboliskt nivå för att förklara
7575
koncepten.
7676

Rapport/include/Metod.tex

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ \section{Konstruktion av läromaterialet}\label{sec:konstruktion}
5050
\end{subfigure}
5151
\caption{Översikt över hur skapandeprocessen för läromaterialet såg ut.
5252
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.}
5454
\end{figure}
5555

5656
Ä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}
161161

162162
\subsection{Implementation av domänspecifika språk för områdena}
163163

164-
Implementationen av domänspecifika språk var en iterativ process.
164+
Implementationen av domänspecifika språk var en iterativ process.
165165
Den inleddes med att
166166
bygga vidare på den experimentering som gjorts under urvalsfasen. Det finns inte bara
167167
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}
172172

173173
Vad som ansågs vara en bra, eller åtminstone tillräckligt bra implementation
174174
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
178178
läromaterialet så lättläst som möjligt. Dock avstods det inte från användning av
179179
mer avancerade funktioner i Haskell när materialet motiverade dem, men då alltid
180180
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}
198198

199199
I fysiken finns det dimensioner \cite{dimensioner_ne}. Några exempel är \textit{längd},
200200
\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
202202
basdimensioner (längd, massa, tid, elektrisk ström, temperatur, substansmängd och
203203
ljusstyrka) medan det finns oändligt många sammansatta. Sammansatta
204204
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}
300300

301301
\begin{lstlisting}[frame=none, belowskip=-0.5\baselineskip, xleftmargin=0.5in]
302302
mulDim :: Dim -> Dim -> Dim
303-
mulDim (Dim le1 ma1 ti1 cu1 te1 su1 lu1)
303+
mulDim (Dim le1 ma1 ti1 cu1 te1 su1 lu1)
304304
(Dim le2 ma2 ti2 cu2 te2 su2 lu2) =
305-
Dim (le1+le2) (ma1+ma2) (ti1+ti2) (cu1+cu2)
305+
Dim (le1+le2) (ma1+ma2) (ti1+ti2) (cu1+cu2)
306306
(te1+te2) (su1+su2) (lu1+lu2)
307307
\end{lstlisting}
308308

@@ -335,10 +335,10 @@ \subsubsection*{Implementation av komposita områden}
335335
Exempel från läromaterialet:
336336
\begin{lstlisting}[frame=none, belowskip=-0.5\baselineskip, xleftmargin=0.5in]
337337
type Mass = FunExpr
338-
type VectorE = Vector3 FunExpr -- Vector of functional
338+
type VectorE = Vector3 FunExpr -- Vector of functional
339339
-- expressions
340340

341-
data Particle = P { pos :: VectorE -- Position as a
341+
data Particle = P { pos :: VectorE -- Position as a
342342
-- function of time
343343
-- , unit m
344344
, mass :: Mass -- Mass, unit kg
@@ -367,11 +367,11 @@ \subsection{Skriva lärotext}
367367
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
368368
en bra bild hur det såg ut även i detta projekt.
369369

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.
375375

376376
Skrivandet av lärotexten till de grundläggande och komposita områden var
377377
övergripande likadana. Skillnaden låg i balansen mellan Haskell och fysik. För
@@ -450,7 +450,7 @@ \section{Utvärdering med testgrupp}
450450
med andra ord nytt för dem.
451451

452452
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
454454
spontana reaktioner och svar på frågor noterades.
455455

456456
\section{Möten med fysikläraren}

Rapport/include/Resultat.tex

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ \section{Läromaterialet}\label{sec:res_laromaterial}
1313

1414
\begin{figure}[tph]
1515
\includegraphics[width=\linewidth]{figure/smakprov_laromaterial.png}
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}
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}
1717
\end{figure}
1818

1919
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.
@@ -32,15 +32,15 @@ \section{Läromaterialet}\label{sec:res_laromaterial}
3232
\caption{Exempel på en bild. Bilden visar hur en hund springer och
3333
hoppar upp på en stillastående
3434
vagn.}~\label{fig:smakprov_bild_laromaterial}
35-
\end{subfigure}%
35+
\end{subfigure}%
3636
~~~
3737
\begin{subfigure}[t]{0.5\textwidth}
3838
\centering
3939
\includegraphics[width=0.9\linewidth]{figure/smakprov_ovning.png}
4040
\caption{Exempel på en övning. Övningen ligger som en del av den
4141
löpande texten.}~\label{fig:smakprov_ovning}
4242
\end{subfigure}
43-
\caption{Exempel på en bild och en övning ur läromaterialet.}
43+
\caption{Exempel på en bild och en övning ur läromaterialet.}
4444
\end{figure}
4545

4646
Läromaterialet behandlar ett flertal områden inom fysik och matematik.
@@ -70,7 +70,7 @@ \section{Läromaterialet}\label{sec:res_laromaterial}
7070
för uttryck av funktioner inom denna domän konstrueras. Därefter
7171
analyseras syntax och semantik för differenser, derivator, och
7272
integraler; och funktioner implementeras för att utföra dessa
73-
operationer både approximativt numeriskt, och symboliskt med ett
73+
operationer både approximativt numeriskt, och symboliskt med ett
7474
syntaxträd. Slutligen appliceras de implementerade funktionerna för
7575
att visualisera grafer av operationerna.
7676

@@ -88,18 +88,20 @@ \section{Läromaterialet}\label{sec:res_laromaterial}
8888
Lägesenergi, rörelseenergi, gravitation och så vidare. Den modelleras med vektorer vars
8989
komponenter består av matematiska uttryck tagna från kapitlet om matematisk
9090
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.
9293

9394
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.
9698

9799
\section{Utvärderingen med testgruppen}\label{sec:res_test}
98100

99101
Utfallet från utvärderingen med testgruppen var till övervägande del positivt.
100102
Testgruppen tyckte läromaterialet var ett intressant och roligt sätt att
101103
presentera fysik på. De tyckte att bilderna tjänade sitt syfte i att muntra upp
102-
läsaren.
104+
läsaren.
103105

104106
En poäng som framfördes var att inte börja kapitlen för komplicerat. Istället
105107
tyckte de att det skulle vara bra att börja enkelt, för att kunna hänga med i

Rapport/include/Teori.tex

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ \section{Domänspecifika språk}
5050
och betydelse. Slutligen gör dess mönstermatchning att de datatyper som utgör
5151
det domänspecifika språket enkelt kan brytas isär och manipuleras.
5252

53-
För vidare läsning om domänspecifika språk rekommenderas \textit{DSL for the Uninitiated} \cite{DSLU}.
53+
För vidare läsning om domänspecifika språk rekommenderas \textit{DSL for the Uninitiated} \cite{DSLU}.
5454

5555
\section{Syntax, syntaxträd och semantik}\label{sec:syntax}
5656

@@ -80,7 +80,7 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
8080
| Const Double
8181
\end{lstlisting}
8282
\caption{En datatyp för aritmetiska uttryck i Haskell. Detta är ett exempel på
83-
ett litet domänspecifikt språk.}\label{fig:syntax_exempel}
83+
ett litet domänspecifikt språk.}\label{fig:syntax_exempel}
8484
\end{figure}
8585

8686
Typen innehåller \textit{datakonstruktorer} för att representera
@@ -108,7 +108,7 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
108108
\centering
109109
\includegraphics[width=0.4\linewidth]{figure/syntax_exempel_bild.png}
110110
\caption{Ett exempeluttryck från syntaxträdet illustrerat i ett
111-
träddiagram.}\label{fig:syntax_exempel_bild}
111+
träddiagram.}\label{fig:syntax_exempel_bild}
112112
\end{figure}
113113

114114
Precis som semantik har en roll i samband med syntax, har semantik även en roll
@@ -132,7 +132,7 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
132132
slag av element, här motsvarat av de tre datakonstruktorerna, krävs tre fall i
133133
beräkningsfunktionen som beräknar vardera av dem. \texttt{evaluate} har
134134
därför ett fall för \texttt{:+:}, ett för \texttt{:*:} och ett för
135-
\texttt{Const}.
135+
\texttt{Const}.
136136

137137
Den andra saken att notera i figuren är hur ett fall
138138
beräknas. Hur beräkningen ska se ut får man genom att ta hänsyn till
@@ -180,7 +180,7 @@ \section{Litterat programmering och Literate Haskell}\label{sec:lhs}
180180
\caption{Ett exempel på hur en källfil till litterat programmering kan se ut, tagen direkt från källkoden till läromaterialet.
181181
I exemplet är koden skriven i Literate Haskell. Rader som börjar med \texttt{>}
182182
markerar att det är programkod, medan rader utan markerar att det är
183-
dokumentation.}\label{fig:litterate_haskell_exempel}
183+
dokumentation.}\label{fig:litterate_haskell_exempel}
184184
\end{figure}
185185
% OBS! Raden med "note that the quantity..." måste vara en lång rad. Annars blir det fel i PDF:en
186186

@@ -208,10 +208,10 @@ \section{Litterat programmering och Literate Haskell}\label{sec:lhs}
208208
\section{Lärandeteorier}\label{sec:arcs}
209209

210210
Motivation är en persons vilja att göra något och i undervisningssammanhang vill
211-
man att studenten ska lära sig materialet. Studenten behöver alltså vara
212-
ha motivationen till att lära sig. Motivation kan ha flera källor, till exempel
211+
man att studenten ska lära sig materialet, studenten behöver alltså bli
212+
motiverad till att lära sig. Motivation kan ha flera källor, till exempel
213213
att studenten tycker materialet är intressant eller att det finns belöningar i
214-
form av tillfredsställelsen från ett högt betyg.
214+
form av tillfredsställelsen från ett högt betyg.
215215

216216
\textit{Motiverande design} innebär att systematiskt utforma undervisningen på
217217
ett sådant sätt att studenten blir motiverad till att lära sig. Det handlar om
@@ -222,19 +222,19 @@ \section{Lärandeteorier}\label{sec:arcs}
222222
\textit{ARCS} är en förkortning av ``Attention, Relevance, Confidence and
223223
Satisfaction'', på svenska ``uppmärksamhet, relevans, självförtroende och
224224
tillfredsställelse''. Precis som namnet antyder innehåller modellen fyra delar
225-
som vardera behandlar en aspekt av motivation.
225+
som vardera behandlar en aspekt av motivation.
226226
\begin{itemize}
227227
\item \textit{Attention} handlar om att fånga uppmärksamhet och väcka
228-
nyfikenhet.
228+
nyfikenhet.
229229
\item \textit{Relevance} handlar om att tillgodose studentens behov så
230-
att materialet upplevs som relevant.
230+
att materialet upplevs som relevant.
231231
\item \textit{Confidence} handlar om att övertyga studenten att hen kan lyckas
232-
lära sig materialet.
232+
lära sig materialet.
233233
\item \textit{Satisfaction} handlar om att ge studenten
234234
tillfredsställelse efter att ha lärt sig något så att hen vill fortsätta
235-
lära sig.
235+
lära sig.
236236
\end{itemize}
237-
Det finns olika strategier för hur man genomför de olika delarna i praktiken,
237+
Det finns olika strategier för hur man genomför de olika delarna i praktiken,
238238
här följer en översikt för \textit{Attention}\footnote{Eftersom projektet har
239239
ett begränsat fokus på de pedagogiska aspekterna, se
240240
avsnitt~\ref{sec:avgransningar}, har enbart \textit{Attention} tagits hänsyn
@@ -251,8 +251,10 @@ \section{Lärandeteorier}\label{sec:arcs}
251251
det med andra inslag, exempelvis ett filmklipp.
252252

253253
Enligt det sociokulturella perspektivet som Vygotskij utvecklade~\cite{LSB_und}
254-
lär sig elever av varandra. Eleverna befinner sig vid sin närmsta
255-
utvecklingszon, där eleverna kan hjälpa varandra att förstå innebörden av
254+
lär sig elever av varandra. Eleverna befinner sig vid sin närmsta
255+
utvecklingszon~\footnote{Den zon där målet för lärandet ligger på en nivå som är
256+
för hög för en elev att klara på egen hand, men som eleven klarar om den får
257+
vägledning och stöd.}, där eleverna kan hjälpa varandra att förstå innebörden av
256258
definitioner och uttryck genom att sätta ord på det de vill kommunicera. Denna
257259
typ av kommunikation kan hjälpa elever sätta fingret på vad de
258260
inte förstår. Med denna bakgrund kan parprogrammering vara

Rapport/include/frontmatter/Abstract.tex

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
\section*{Abstract}
66

77
This report describes the development of the learning material \textit{Learn You
8-
a Physics for Great Good!} The project was a bachelor thesis project at the
9-
department of Computer Science and Engineering at Chalmers University of
10-
Technology. The goal of the project is to create a text-based learning material
11-
which presents physics with the help of the programming concept \textit{domain
12-
specific languages}, where the domain specific languages are implemented in the
13-
programming language Haskell. Furthermore, the pedagogical use of a learning
14-
material of this kind, and how well physics and domain specific languages can be
15-
combined will be discussed.
8+
a Physics for Great Good!}. The material was developed as part of a bachelor
9+
thesis project at the Department of Computer Science and Engineering at Chalmers
10+
University of Technology. The goal of the project is to create a text-based
11+
learning material which presents physics with the help of the programming
12+
concept \textit{domain specific languages}, where the domain specific languages
13+
are implemented in the programming language, Haskell. Furthermore, the
14+
pedagogical use of a learning material of this kind and how well physics and
15+
domain specific languages can be combined are discussed.
1616

1717
The background of the project is the (for Computer Science and Engineering
1818
students at Chalmers) mandatory physics course \textit{Fysik för ingenjörer}
@@ -27,15 +27,15 @@ \section*{Abstract}
2727
The learning material includes five chapters dealing with physical dimensions,
2828
calculus, vectors, particle mechanics and applications of them. Each chapter
2929
consists of Haskell-code combined with a descriptive text. Some chapters
30-
constructs domain specific languages from the ground up, while some applies
30+
construct domain specific languages from the ground up, while some applies
3131
previously constructed domain specific languages on physical problems. The
32-
learning material was published on a
32+
learning material is published on a
3333
website\footnote{\url{https://dslsofmath.github.io/BScProj2018/}} and its source
3434
code is freely
3535
available\footnote{\url{https://github.com/DSLsofMath/BScProj2018}}.
3636

3737
The report also describes the meetings and discussions conducted with
38-
non-project members. Their purpose have been to improve the learning material
38+
non-project members. Their purpose has been to improve the learning material
3939
and to perform an informal evaluation of the completed learning material.
4040

4141
The conclusions are that domain specific languages can have a pedagogical use in
@@ -44,9 +44,6 @@ \section*{Abstract}
4444
way of thinking can further the teaching if it's used in traditional physics
4545
education.
4646

47-
48-
49-
5047
% max 150 ord typ
5148

5249

@@ -57,9 +54,6 @@ \section*{Abstract}
5754

5855
% Snott från sammandrag:
5956

60-
61-
62-
6357
% Building blocks:
6458
% En mening om varje kapitel:
6559
% Introduction (sv introduktion): Describes the starting point, goals and restrictions.

0 commit comments

Comments
 (0)