Skip to content

Commit 9ee0e62

Browse files
committed
Kill your darlings
1 parent 7b4504a commit 9ee0e62

File tree

3 files changed

+124
-99
lines changed

3 files changed

+124
-99
lines changed

Rapport/include/Diskussion.tex

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11

22
\chapter{Diskussion}
3+
\textbf{Nånstans}
4+
Implementationen kan kompileras och testas och ska då visa på att
5+
implementationerna av de grundläggande områdena är både rigorösa och korrekta.
6+
Det visar dessutom att det går att använda materialet som presenteras tidigare
7+
till att implementera och lösa mer komplexa problem.
38

49
I detta kapitel diskuteras projektets genomförande, resultat,
510
vidareutvecklingsmöjligheter och etiska aspekter.

Rapport/include/Metod.tex

Lines changed: 117 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -20,44 +20,53 @@ \chapter{Genomförande}
2020
tre andra delarna var publicering av läromaterialet på en hemsida, utvärdering
2121
av läromaterialet med en testgrupp samt möten med Åke Fäldt, examinator och
2222
föreläsare för Fysik för ingenjörer. Mötena med Fäldt hade två syften: att hitta
23-
problemområden i fysikkursen och att få återkoppling på läromaterialet. Alla de olika delar i projektet genomfördes samtidigt men de finns här beskrivna separat.
23+
problemområden i fysikkursen och att få återkoppling på läromaterialet. Alla de
24+
olika delar i projektet genomfördes samtidigt men de finns här beskrivna
25+
separat.
2426

2527
\section{Konstruktion av läromaterialet}\label{sec:konstruktion}
2628

27-
Läromaterialet består av fem kapitel som vardera behandlar separata områden. Skapandet av dem skedde fristående men de innehöll alla de tre faserna sökande, implementation och skrivande, som såg likartade ut för dem alla. Det fanns dock visst överlapp mellan de fristående processerna. Sökandet gav ofta flera områden samtidigt och implementation och skrivande genomfördes ofta parallellt. För att tydliggöra processerna är de dock beskrivna separat.
29+
Läromaterialet består av fem kapitel som vardera behandlar separata områden.
30+
Skapandet av dem skedde fristående men de innehöll alla de tre faserna sökande,
31+
implementation och skrivande, som såg likartade ut för dem alla. Det fanns dock
32+
visst överlapp mellan de fristående processerna. Sökandet gav ofta flera områden
33+
samtidigt och implementation och skrivande genomfördes ofta parallellt. För att
34+
tydliggöra processerna är de dock beskrivna separat.
2835

2936
\subsection{Sökande efter områden att behandla}\label{sec:valet}
3037

3138
Ett domänspecifikt språk modellerar ett specifikt och avgränsat område. Därför
3239
var det naturligt att söka och tänka i termer av avgränsade områden inom
33-
fysiken. För att rent praktiskt hitta områden att behandla kontaktades Åke
40+
fysiken.
41+
För att rent praktiskt hitta områden att behandla kontaktades Åke
3442
Fäldt. Dessutom studerades kursens bok (University
3543
Physics~\cite{UP}) och dess övriga material.
3644

3745
Denna sökandeprocess innefattade inte bara att \textit{hitta} fysikaliska
38-
områden utan även \textit{organisera} dem i relation till varandra. Som framgår
46+
områden utan även att \textit{organisera} dem i relation till varandra. Som framgår
3947
senare är vissa områden baserade på andra. Denna organisering
40-
var viktig för att kunna implementera de domänspecifika språken på bästa sätt utan överlappningar och presentera dem i en pedagogisk ordning.
41-
42-
\subsubsection*{Kontakt med fysikläraren}
43-
\label{sec:kontakt_faldt}
44-
45-
Fäldt tillfrågades om vilka områden han i allmänhet anser att studenter har
46-
svårt för. Detta för att i enlighet med projektets mål börja med de, för
47-
studenterna, problematiska områdena. Enligt Fäldt är ett allmänt problem att
48-
egna mentala modeller för problem är felaktiga eftersom studenter ofta tar
49-
genvägar som inte bygger på saker de är säkra stämmer. En annan erfarenhet
50-
är att så länge den första raden i en uppgiftslösning är rätt, så brukar
51-
resten också vara rätt. Med andra ord, har studenten väl identifierat vilken typ av
52-
problem det rör sig om brukar det inte vara några svårigheter att lösa
53-
uppgiften. Sist men inte minst ansåg Fäldt att det fattades grundläggande
54-
kunskaper om matematisk analys hos studenterna.
55-
56-
Med hjälp av insikterna från Fäldt drogs två slutsatser. Den första slutsatsen
57-
var att matematisk analys var ett område värt att behandla i detalj. Den andra
58-
var att genom att ge struktur till olika typer av problem kan det
59-
förhoppningsvis underlätta för studenter att lära sig identifiera vilken
60-
typ av uppgift de handskas med.
48+
var viktig för att kunna implementera de domänspecifika språken på bästa sätt
49+
utan överlappningar och presentera dem i en pedagogisk ordning.
50+
51+
% \subsubsection*{Kontakt med fysikläraren}
52+
% \label{sec:kontakt_faldt}
53+
%
54+
% Fäldt tillfrågades om vilka områden han i allmänhet anser att studenter har
55+
% svårt för. Detta för att i enlighet med projektets mål börja med de, för
56+
% studenterna, problematiska områdena. Enligt Fäldt är ett allmänt problem att
57+
% egna mentala modeller för problem är felaktiga eftersom studenter ofta tar
58+
% genvägar som inte bygger på saker de är säkra stämmer. En annan erfarenhet
59+
% är att så länge den första raden i en uppgiftslösning är rätt, så brukar
60+
% resten också vara rätt. Med andra ord, har studenten väl identifierat vilken typ av
61+
% problem det rör sig om brukar det inte vara några svårigheter att lösa
62+
% uppgiften. Sist men inte minst ansåg Fäldt att det fattades grundläggande
63+
% kunskaper om matematisk analys hos studenterna.
64+
%
65+
% Med hjälp av insikterna från Fäldt drogs två slutsatser. Den första slutsatsen
66+
% var att matematisk analys var ett område värt att behandla i detalj. Den andra
67+
% var att genom att ge struktur till olika typer av problem kan det
68+
% förhoppningsvis underlätta för studenter att lära sig identifiera vilken
69+
% typ av uppgift de handskas med.
6170

6271
\subsubsection*{Studerande av kursbok och kursmaterial}
6372

@@ -70,52 +79,66 @@ \subsubsection*{Studerande av kursbok och kursmaterial}
7079
specifik syntax. Domänspecifik syntax var av intresse att finna
7180
då en betydlig del av domänspecifika språk är modellering av just syntaxen.
7281

73-
Sökandet i kursboken och kursmaterialet gav viktiga kunskaper om områden att
74-
behandla. Men minst lika viktiga var de inledande experiment som gjordes på
75-
varje område för att se huruvida det lämpade sig att göra ett domänspecifikt
76-
språk av och hur det skulle kunna se ut. Experimenten visade att enbart vissa
77-
områden, till exempel vektorer, fungerade bra att göra ett domänspecifikt språk
78-
av. Andra områden, till exempel lutande plan, var mindre lämpliga. Vad som skiljer dem åt är att vektorer har tydliga data och operationer (till exempel skalärprodukt) medan lutande plan har egenskaper (till exemel friktionskoefficienter och vinklar) som är relaterade till varandra med ekvationer. Det här diskuteras utförligare i avsnitt~\ref{sec:lampligt}. Det framgick också att det
79-
blev ett överlapp mellan olika domänspecifika språk trots att områdena var fristående.
80-
Ett exempel var det domänspecifika språk för partikelmekanik som till stor del
81-
liknade de domänspecifika språken för matematisk analys och vektorer.
82-
83-
Det blev av dessa skäl nödvändigt att göra en distinktion mellan två typer av
84-
områden: \textit{grundläggande} och \textit{komposita}. Grundläggande områden är
85-
helt fristående från andra områden och behandlar grundläggande koncept.
86-
Komposita områden bygger vidare på andra områden eller tillämpar andra områden
87-
på konkreta fysikaliska problem.
88-
89-
\subsubsection*{Områden som valdes ut}
90-
91-
När kunskap inhämtats om olika områden kunde ett urval göras. De områden som
92-
identifierades som grundläggande och som hade en väl lämpad struktur enligt avsnittet innan 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.
93-
94-
\textit{Dimensioner} eftersom det är viktigt för studenter att förstå
95-
hur dimensioner påverkas av algebraiska operationer. Det kan också vara
96-
hjälpsamt att utföra automatisk, datorassisterad dimensionsanalys på
97-
beräkningar.
98-
99-
\textit{Matematisk analys} eftersom alla koncept inom klassisk mekanik är
100-
relaterade genom matematisk analys. Mer specifikt används
101-
differenser\footnote{Till exempel används $\Delta(x)$ för att beskriva
102-
förflyttning i $x$-led.} för att beskriva medelrörelse, och infinitesimaler
103-
för att beskriva momentanrörelser. Vidare var matematisk analys just det
104-
område som Fäldt pekade ut som speciellt viktigt och något som studenter har
105-
svårt för.
106-
107-
\textit{Vektorer} eftersom det är en viktig grundsten inom den klassiska
108-
mekaniken. Alla krafter, hastigheter och accelerationer betraktas som vektorer i
109-
planet eller rummet, och dessa är alla fundamentala element inom klassisk
110-
mekanik.
111-
112-
De komposita områdena identifierades som områden som byggde vidare på de redan
113-
implementerade grundläggande områdena. De komposita områdena som valdes ut
114-
blev exempelproblem och partikelmekanik. Här följer en kortfattad motivering av valet av dem.
115-
116-
\textit{Exempelproblem} för att visa hur ett par typuppgifter i klassisk mekanik kan modelleras i något av 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}.
117-
118-
\textit{Partikelmekanik} för att visa hur de grundläggande områdena kan kombineras till ett domänspecifikt språk som är mer fysikorienterat än de tre grundläggande. Dessutom är partikelmekanik fundamental i klassisk mekanik.
82+
% Sökandet i kursboken och kursmaterialet gav viktiga kunskaper om områden att
83+
% behandla. Men minst lika viktiga var de inledande experiment som gjordes på
84+
% varje område för att se huruvida det lämpade sig att göra ett domänspecifikt
85+
% språk av och hur det skulle kunna se ut. Experimenten visade att enbart vissa
86+
% områden, till exempel vektorer, fungerade bra att göra ett domänspecifikt språk
87+
% av. Andra områden, till exempel lutande plan, var mindre lämpliga. Vad som
88+
% skiljer dem åt är att vektorer har tydliga data och operationer (till exempel
89+
% skalärprodukt) medan lutande plan har egenskaper (till exemel
90+
% friktionskoefficienter och vinklar) som är relaterade till varandra med
91+
% ekvationer. Det här diskuteras utförligare i avsnitt~\ref{sec:lampligt}. Det
92+
% framgick också att det blev ett överlapp mellan olika domänspecifika språk trots
93+
% att områdena var fristående.
94+
% Ett exempel var det domänspecifika språk för partikelmekanik som till stor del
95+
% liknade de domänspecifika språken för matematisk analys och vektorer.
96+
97+
% Det blev av dessa skäl nödvändigt att göra en distinktion mellan två typer av
98+
% områden: \textit{grundläggande} och \textit{komposita}. Grundläggande områden är
99+
% helt fristående från andra områden och behandlar grundläggande koncept.
100+
% Komposita områden bygger vidare på andra områden eller tillämpar andra områden
101+
% på konkreta fysikaliska problem.
102+
103+
% \subsubsection*{Områden som valdes ut}
104+
%
105+
% När kunskap inhämtats om olika områden kunde ett urval göras. De områden som
106+
% identifierades som grundläggande och som hade en väl lämpad struktur enligt
107+
% avsnittet innan valdes ut. Med detta som grund blev områdena som valdes ut
108+
% fysikaliska dimensioner, matematisk analys och vektorer. Här följer en
109+
% kortfattad motivering av valet av dem.
110+
%
111+
% \textit{Dimensioner} eftersom det är viktigt för studenter att förstå
112+
% hur dimensioner påverkas av algebraiska operationer. Det kan också vara
113+
% hjälpsamt att utföra automatisk, datorassisterad dimensionsanalys på
114+
% beräkningar. Dimensionsanalys var ett område som Fäldt nämde att studenter
115+
% inte lade tillräckligt mycket vikt vid.
116+
%
117+
% \textit{Matematisk analys} eftersom alla koncept inom klassisk mekanik är
118+
% relaterade genom matematisk analys. Mer specifikt används
119+
% differenser\footnote{Till exempel används $\Delta(x)$ för att beskriva
120+
% förflyttning i $x$-led.} för att beskriva medelrörelse, och infinitesimaler
121+
% för att beskriva momentanrörelser. Vidare var matematisk analys också ett
122+
% område som Fäldt pekade ut som speciellt viktigt och något som studenter har
123+
% svårt för.
124+
%
125+
% \textit{Vektorer} eftersom det är en viktig grundsten inom den klassiska
126+
% mekaniken. Alla krafter, hastigheter och accelerationer betraktas som vektorer i
127+
% planet eller rummet, och dessa är alla fundamentala element inom klassisk
128+
% mekanik.
129+
%
130+
% De komposita områdena identifierades som områden som byggde vidare på de redan
131+
% implementerade grundläggande områdena. De komposita områdena som valdes ut
132+
% blev exempelproblem och partikelmekanik. Här följer en kortfattad motivering av valet av dem.
133+
%
134+
% \textit{Exempelproblem} för att visa hur ett par typuppgifter i klassisk mekanik
135+
% kan modelleras i något av läromaterialets domänspecifika språk. Närmare bestämt
136+
% tillämpas de domänspecifika språken på \textit{krafter på lådor} och
137+
% \textit{gungbräda}.
138+
%
139+
% \textit{Partikelmekanik} för att visa hur de grundläggande områdena kan
140+
% kombineras till ett domänspecifikt språk som är mer fysikorienterat än de tre
141+
% grundläggande. Dessutom är partikelmekanik fundamental i klassisk mekanik.
119142

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

@@ -175,31 +198,26 @@ \subsection{Skriva lärotext}
175198
var avslutat lades dessutom extra övningar till i slutet, dessa övningar var
176199
ofta vidareutvecklingar av det domänspecifika språk som redan implementerats.
177200

178-
Skrivandet av lärotexten till de grundläggande och komposita områdena var
179-
övergripande likadana. Skillnaden låg i balansen mellan Haskell och fysik. För
180-
de grundläggande områdena fokuserade lärotexten mer på Haskell eftersom det var
181-
ett helt nytt domänspecifikt språk som skulle konstrueras. Hur det fungerade var
182-
därför viktigt att förklara. För de komposita områdena låg däremot ett större fokus på fysik. För dessa områden visades hur de
183-
domänspecifika språken var praktiskt användbara och då förklarades fysiken, för
184-
att sedan visa hur den fysiken kunde representeras i de domänspecifika
185-
språken.
186-
187-
Ett exempel på ovanstående är kapitlet kring det komposita området partikelmekanik. Dess implementation var en sammanslagning av området vektorer och
188-
matematisk analys där fokus flyttats till att visa hur det direkt gick att översätta de
189-
fysikaliska formlerna som beskriver partiklars rörelse och energier till
190-
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}.
191-
192-
\begin{figure}[tph]
193-
\centering
194-
\fbox{\includegraphics[width=1\textwidth]{figure/komposit-Ex.png}}
195-
\caption{Implementation av relationen arbete-energi i läromaterialet}
196-
\label{fig:komposit-ex}
197-
\end{figure}
198-
199-
Implementationen kan kompileras och testas och ska då visa på att
200-
implementationerna av de grundläggande områdena är både rigorösa och korrekta.
201-
Det visar dessutom att det går att använda materialet som presenteras tidigare
202-
till att implementera och lösa mer komplexa problem.
201+
% Skrivandet av lärotexten till de grundläggande och komposita områdena var
202+
% övergripande likadana. Skillnaden låg i balansen mellan Haskell och fysik. För
203+
% de grundläggande områdena fokuserade lärotexten mer på Haskell eftersom det var
204+
% ett helt nytt domänspecifikt språk som skulle konstrueras. Hur det fungerade var
205+
% därför viktigt att förklara. För de komposita områdena låg däremot ett större fokus på fysik. För dessa områden visades hur de
206+
% domänspecifika språken var praktiskt användbara och då förklarades fysiken, för
207+
% att sedan visa hur den fysiken kunde representeras i de domänspecifika
208+
% språken.
209+
210+
% Ett exempel på ovanstående är kapitlet kring det komposita området partikelmekanik. Dess implementation var en sammanslagning av området vektorer och
211+
% matematisk analys där fokus flyttats till att visa hur det direkt gick att översätta de
212+
% fysikaliska formlerna som beskriver partiklars rörelse och energier till
213+
% 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}.
214+
%
215+
% \begin{figure}[tph]
216+
% \centering
217+
% \fbox{\includegraphics[width=1\textwidth]{figure/komposit-Ex.png}}
218+
% \caption{Implementation av relationen arbete-energi i läromaterialet}
219+
% \label{fig:komposit-ex}
220+
% \end{figure}
203221

204222
% \section{Skapande av och publicering på hemsidan}
205223
%
@@ -260,6 +278,8 @@ \section{Möten med fysikläraren}
260278
Under mötena presenterades läromaterialet i sig och tanken med det, nämligen att
261279
presentera fysik ur ett annat perspektiv, ett
262280
programmeringsperspektiv. Diskussionen kretsade sen kring svåra områden i Fysik för
263-
ingenjörer (se avsnitt \ref{sec:kontakt_faldt}), vad läromaterialet skulle kunna
281+
ingenjörer
282+
%(se avsnitt \ref{sec:kontakt_faldt})
283+
, vad läromaterialet skulle kunna
264284
bidra med för kunskaper till studenter samt dess eventuella roll i relation till
265285
fysikkursen.

Rapport/include/Resultat.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,10 +180,10 @@ \subsection{Vektorer}
180180
kurboken och implementerade vektorer i två dimensioner med en typ vars
181181
konstruktor tog två argument.
182182

183-
\begin{inline}
183+
\begin{lstlisting}
184184
test :: Int
185185
test = 1
186-
\end{inline}
186+
\end{lstlisting}
187187

188188
\subsection{Exempelproblem}
189189

0 commit comments

Comments
 (0)