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
tre grundläggande områdena som är färdiga räcker. Förutom fler tillämpningar kan
93
93
man utveckla mer fördjupande områden, till exempel bevisföring, något som
94
94
nämndes i avsnitt~\ref{sec:res_laromaterial} att det påbörjats. Det är dock värt
95
-
att nämna att vi är mycket nöjda med det material som vi har producerat, våra
96
-
kapitel är väl avgränsade och är utformade och implementerade på det sätt som vi
97
-
tycker att de bör implementeras.
95
+
att nämna att vi är mycket nöjda med det material som vi har producerat. Våra
96
+
kapitel är väl avgränsade, utformade och implementerade på det sätt som vi
97
+
tycker att de bör ha implementerats.
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.
101
-
Vi kan genast konstatera att de senare två har genomförts. Vi passar även på att
101
+
Vi kan konstatera att de senare två har genomförts. Vi passar även på att
102
102
säga att vi tycker att en lättanvänd hemsida är trevligare att använda än
103
103
PDF-filer eftersom de inte har sidbrytningar, fixa sidmarginaler med mera. Detta
104
104
är visserligen små detaljer, men tillsammans påverkar de upplevelsen i stort. Vi
@@ -165,12 +165,12 @@ \subsection{Om läromaterialets fokus på matematik och Haskell snarare än
165
165
166
166
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
167
167
det vara så? Det kan mycket väl vara så att detta fokusskifte har skett på grund
168
-
av hur vi valde att genomföra projektet. I ett tidigt skede valde vi söka efter
168
+
av hur vi valde att genomföra projektet. I ett tidigt skede valde vi att söka efter
169
169
områden som vi ansåg vara fristående och väl avgränsade, se avsnitt~\ref{sec:valet},
170
170
och implementera dessa var för sig. Utan tvekan har detta sätt att påbörja
171
171
projektet påverkat allting som kom därefter. Om vi istället hade utvecklat
172
172
läromaterialet som en kombination av olika områden från början hade det kanske
173
-
inte varit lika främmande att även baka in problemlösning i detta och på så sätt
173
+
inte varit lika främmande att även baka in problemlösning i läromaterialet och på så sätt
174
174
fått mer fysik-orienterade domänspecifika språk.
175
175
176
176
Även tidigare än så går det att vara kritisk till projektets utformning. Varför
@@ -179,7 +179,7 @@ \subsection{Om läromaterialets fokus på matematik och Haskell snarare än
179
179
av domänspecifika språk. Men betyder det att det är idealt för implementering
180
180
av fysik? Kanske ett objektorienterat språk som Java hade passat bättre. Att
181
181
använda ett språk som inte har en lika stark koppling till ren matematik som
182
-
Haskell hade kanske lett till att det stora fokuset inte låg på matematiken
182
+
Haskell hade kanske lett till att fokuset inte legat på matematiken
183
183
bakom fysiken, utan istället på fysiken framför matematiken.
184
184
185
185
\subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
@@ -193,7 +193,7 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
193
193
och lämpar sig därmed väl för implementering i Haskell som är ett språk med nära
194
194
anknytning till matematik. En annan sak som dessa väl lämpade områden hade
195
195
gemensamt var en tydlig syntax och en fix struktur som bestod av ``data och
196
-
operationer''. Tabell~\ref{tab:data_och_ops} visar några exempel på områden med
196
+
operationer''(data i bemärkelsen som ett matematiskt objekt för ett område). Tabell~\ref{tab:data_och_ops} visar några exempel på områden med
197
197
sina data och operationer.
198
198
199
199
\captionsetup[figure]{name=Tabell}
@@ -245,7 +245,7 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
245
245
modellerandet och manipulerandet av data enkel att genomföra rent tekniskt. Men
246
246
den innebär också en pedagogisk vinst. Genom att ha strukturerat upp fysik
247
247
tydligt i Haskell blir det förhoppningsvis enklare för läsaren att förstå hur
248
-
datan hänger ihop rent fysikaliskt. Och även hur relationerna mellan olika
248
+
datan (de matematiska strukturerna) hänger ihop rent fysikaliskt. Och även hur relationerna mellan olika
249
249
datatyper och funktioner som dyker upp i läromaterialet direkt kan översättas
250
250
till motsvarande relationer inom fysik.
251
251
@@ -273,7 +273,7 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
273
273
274
274
När man skapar ett domänspecifikt språk till ett område gör man det genom att
275
275
identifiera syntaxen som används, datan som modelleras,
276
-
vilka operationer som görs på denna data och vad det finns för lagar och samband
276
+
vilka operationer som används på denna data och vad det finns för lagar och samband
277
277
som gäller för dessa. Detta sätt att arbeta fungerar bra för områden som är
278
278
generella och som går att modellera på ett sätt som tillåter vidareutveckling, såsom
279
279
vektorer i flera dimensioner eller vektorer vars komponenter kan vara av vilken
@@ -296,7 +296,7 @@ \subsection{Vilka områden passar domänspecifika språk?}\label{sec:lampligt}
296
296
språk, men vi menar att nyttan inte blir stor med det eftersom allt vi då gör är
297
297
att skriva de formler som redan finns att tillgå i diverse kursböcker i fysik
298
298
utan att tillföra någon ny kunskap och utan att modellera dem på ett generellt
299
-
eller unikt sätt. Det man då kan göra är att programmera en ekvationslösare. Men
299
+
eller unikt sätt. Det man då kan göra är att programmera en ekvationslösare men
300
300
den hade varit både mekanisk och komplex. Den skulle alltså skilja sig
301
301
drastiskt från hur man löser problem för hand och skulle vara svår att förstå.
302
302
Alldeles för mycket fokus skulle hamna på algoritmer istället för fysik. Vi
@@ -363,7 +363,7 @@ \subsection{Gör domänspecifika språk att fysik blir mer lättförståeligt?}\
363
363
domänspecifika språk när det kommer till fysik är den stora del av problemlösning
364
364
som ingår i fysik. Det har att göra med deras olika natur. Domänspecifika språk
365
365
har en entydig och fyrkantig struktur medan problemlösning handlar om
366
-
kreativitet och nytänkande. Eftersom en stor del i fysik är just problemlösning
366
+
kreativitet och nytänkande för att bygga upp modeller. Eftersom en stor del i fysik är just problemlösning
367
367
kan denna del inte fångas upp med domänspecifika språk. Det skulle till och med
368
368
kunna vara en nackdel att kombinera domänspecifika språk och fysik om det leder
369
369
till att man tänker alltför fyrkantigt kring fysik. Vi anser dock att
@@ -430,7 +430,7 @@ \section{Vidareutvecklingsmöjligheter och behov av ytterligare kunskap}
430
430
saker som ett språk för ett lutande plans komponenter, ett språk för vilka krafter som verkar på fysikaliska kroppar i mekanikproblem eller till och med ett språk för något så abstrakt som
431
431
fysikalisk problemlösning i allmänhet. Vi vet inte hur ett domänspecifikt språk
432
432
av detta slag kan se ut, vilket är anledningen till att vi gick den andra vägen,
433
-
som vi diskuterade i avsnitt~\ref{sec:fpf}. Att ger mer fysik-orienterade
433
+
som vi diskuterade i avsnitt~\ref{sec:fpf}. Att göra fler fysik-orienterade
434
434
domänspecifika språk hade därför varit en möjlig vidareutveckling.
435
435
436
436
En annan möjlig vidareutveckling är att göra en rigorös studie kring de
@@ -452,8 +452,8 @@ \section{Vidareutvecklingsmöjligheter och behov av ytterligare kunskap}
452
452
Slutligen finns det en mycket intressant vidareutveckling som inte alls har
453
453
behandlats i detta projekt, nämligen att använda matematiska och fysikaliska domänspecifika språk som
454
454
ett syntaktiskt lager mellan användare och en underliggande komplex kodbas. I
455
-
många fall kan dessa kodbaser vara implementerade på ointuitivt sätt och utan
456
-
någon typsäkerhet. I dessa fall kan det vara mycket användbart med ett
455
+
många fall kan dessa kodbaser vara implementerade på sätt som inte förefaller vara intuitivt, och saknar
456
+
typsäkerhet. I dessa fall kan det vara användbart med ett
457
457
domänspecifikt språk med hög typsäkerhet som tvingar användaren att
458
458
endast skriva korrekta uttryck och som döljer den bakomliggande komplexiteten. Tänk till exempel på kod i Matlab. Där är det lätt hänt att missa någon detalj i sin implementation så att beräkningarna blir fel utan att Matlab klagar. Uttrycket är korrekt men semantiken är fel. Med ett syntaktiskt lager som kräver att de fysikaliska dimensionerna stämmer överens hade vissa misstag kunnat upptäckas vid kompilering istället för att kanske inte upptäckas alls. Denna idé framfördes till oss av Jeff Chen\footnote{Jeffs sida på Chalmers:
Copy file name to clipboardExpand all lines: Rapport/include/Teori.tex
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ \section{Domänspecifika språk}
34
34
Java. Dessa är turingkompletta, vilket betyder att det går att
35
35
uttrycka alla beräkningsbara problem i dem och även lösa dem givet
36
36
tillräckligt med tid och
37
-
minnestillgångar~\cite{turing_ne}~\cite{turing_book}. Nackdelen med
37
+
minnestillgång~\cite{turing_ne}~\cite{turing_book}. Nackdelen med
38
38
dessa generella språk är just att de är så generella. Eftersom
39
39
domänspecifika språk inte behöver vara användbära utanför den
40
40
specifika domänen kan de inkludera speciell syntax och ha inbyggd
@@ -199,7 +199,7 @@ \section{Litterat programmering och Literate Haskell}\label{sec:lhs}
199
199
\texttt{.lhs}, går att använda direkt med Haskell-kompilatorn GHC. All text
200
200
ignoreras och programkoden behandlas som om den var en vanlig
201
201
Haskell-fil. Filen kan också kompileras till en läsbar typsatt rapport eller hemsida.
202
-
Det finns flera verktyg som gör det men det som används i detta
202
+
Det som används i detta
203
203
projekt är \textit{Pandoc}~\cite{pandoc}. Med Pandoc kan texten märkas
204
204
upp med både \textit{Markdown} (används i projektet) och \LaTeX. Det går
205
205
att exportera till bland annat HTML (som i läromaterialet) och PDF (som i den här rapporten).
@@ -253,7 +253,7 @@ \section{Att skapa motiverande läromaterial}\label{sec:arcs}
253
253
fördelaktigt. Dels för att eleverna kan lära sig av varandra, att de genom att
254
254
kommunicera sin förståelse internaliserar ämnet och bygger en djupare
255
255
förståelse. Parprogrammering kan även lämpa sig för att begränsa
256
-
flyktförsök, där elever medvetet eller mindre medvetet börjar göra något annat.
256
+
flyktförsök, där elever medvetet eller mindre medvetet börjar ägna sig åt något annat.
257
257
258
258
%Jean Piaget - Kognitivismen (lära sig A, B, A + B -> C, alternativt att eleven utmanas med något den trodde var sant, och tvingas omformulera en lösning som stödjer den presenterade situationen). s157
0 commit comments