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
Figur~\ref{fig:syntax_exempel_varde} visar hur det aritmetiska uttrycket $7 * (3
103
103
+ 10)$ modelleras. Konstruktorn \texttt{:*:} får som sina två argument uttrycken
104
104
\texttt{Const 7} och \texttt{Const 3 :+: Const 10}. Det är alltså en produkt av
105
-
två deluttryck. Syntaxträd brukar illusteras med just träddiagram. Detta
106
-
exempelvärde illustreras i figur \ref{fig:syntax_exempel_bild}.
105
+
två deluttryck. Syntaxträd brukar illusteras med träddiagram. Detta
106
+
exempeluttryck illustreras i figur \ref{fig:syntax_exempel_bild}.
107
107
108
108
\begin{figure}[tph]
109
109
\centering
@@ -131,12 +131,12 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
131
131
Det finns tre saker som är speciellt värda att notera i
132
132
figur~\ref{fig:eval_tree}. Den första är att eftersom syntaxen innehåller tre olika
133
133
typer av element, här motsvarat av de tre datakonstruktorerna, krävs tre fall i
134
-
beräkningsfunktionen som beräknar vardera av dem. \textit{evaluate} har
134
+
beräkningsfunktionen som beräknar vardera av dem. \texttt{evaluate} har
135
135
därför ett fall för \texttt{:+:}, ett för \texttt{:*:} och ett för
136
136
\texttt{Const}.
137
137
138
138
Den andra saken att notera ur figur~\ref{fig:eval_tree} är hur ett fall
139
-
beräknas. Hur beräkningen ska ses ut får man genom att ta hänsyn till
139
+
beräknas. Hur beräkningen ska se ut får man genom att ta hänsyn till
140
140
semantiken hos det syntaktiska elementet. \texttt{e1 :+: e2} är syntax för
141
141
addition av de två uttrycken \texttt{e1} och \texttt{e2}. Därför blir
142
142
semantiken, värdet, av \texttt{e1 :+: e2} lika med värdet hos \texttt{e1} och
@@ -159,8 +159,8 @@ \section{Litterat programmering och Literate Haskell}\label{sec:lhs}
159
159
160
160
Det ena sättet är att jämfört med traditionella program får dokumentationen en
161
161
ökad betydelse. I traditionella program är programkoden den viktiga delen. I
162
-
litterata program däremot är dokumentationen minst lika viktig. Den används till
163
-
att förklara koden, sätta den i relationen till andra delar och så vidare.
162
+
litterata program är däremot dokumentationen minst lika viktig. Den används till
163
+
att förklara koden, sätta den i relationen till andra delar, med mera.
164
164
Detta jämnbördiga förhållande syns konkret genom att titta på hur källkoden är
165
165
skriven i ett literat program. Det kan till exempel se ut som i
166
166
figur~\ref{fig:litterate_haskell_exempel} där man ser att källkoden och
@@ -178,20 +178,20 @@ \section{Litterat programmering och Literate Haskell}\label{sec:lhs}
178
178
> exampleValue :: ExampleType
179
179
> exampleValue = Quantity V.length 5.3
180
180
181
-
Note that the Quantity data type has both value-level and type-level dimensions.
182
-
As previosuly mentioned, value-level in order to pretty print and type-level to only permit legal operations.
181
+
Note that the Quantity data type has both value-level and type-level dimensions. As previosuly mentioned, value-level in order to pretty print and type-level to only permit legal operations.
183
182
\end{lstlisting}
184
183
\caption{Ett exempel på hur en källfil till litterat programmering kan se ut.
185
184
Exemplet är Litterate Haskell. Rader som börjar med \texttt{>}
186
185
markerar att det är progamkod, medan rader utan markerar att det är
% OBS! Raden med "note that the quantity..." måste vara en lång rad. Annars blir det fel i PDF:en
189
189
190
190
Det andra sättet ett litterat program skiljer sig åt är ordningen programkoden
191
191
står i. Traditionell programmering börjar oftast med att definiera små funktioner
192
-
och metoder med snäva användningsområden och använder sen dessa för att senare
192
+
och metoder med snäva användningsområden och använder sedan dessa för att senare
193
193
bygga ihop mer komplexa strukturer. Med literat programmering börjar man hellre
194
-
med den komplexa strukturer först och skriver text som förklarar den generella
194
+
med komplexa strukturer först och skriver text som förklarar den generella
195
195
struktureren utan att gå in på detaljerna, för att sedan presentera de små
196
196
delarna var för sig med tillhörande förklarande text.
197
197
@@ -203,8 +203,8 @@ \section{Litterat programmering och Literate Haskell}\label{sec:lhs}
203
203
ignoreras och programkoden behandlas som om den var en vanlig
204
204
Haskell-fil. \texttt{.lhs}-filen kan också kompileras till material avsett för
205
205
mäniskor. Det finns flera verktyg som gör det men det som används i detta
206
-
projekt är \textit{Pandoc}\cite{pandoc}. Med \textit{Pandoc} kan texten märkas
207
-
up med både \texttt{markdown} (används i projektet) och \texttt{Latex}. Det går
206
+
projekt är \textit{Pandoc}\cite{pandoc}. Med Pandoc kan texten märkas
207
+
up med både \textit{Markdown} (används i projektet) och \textit{Latex}. Det går
208
208
att exportera till bland annat HTML och PDF.
209
209
\end{draft}
210
210
@@ -217,10 +217,10 @@ \section{Att skapa motiverande läromaterial}\label{sec:arcs}
217
217
av tillfredsställelsen att få att högt betyg.
218
218
219
219
\textit{Motiverande design} innebär att systematiskt utforma undervisningen på
220
-
ett sådant sätt att studenten blir motiverad till att lära sig. Det handlar om
220
+
ett sådant sätt att studenten blir motiverad till att vilja lära sig. Det handlar om
221
221
att använda olika tekniker för att väcka och behålla motivation. Det finns ett
222
222
flertal olika modeller för detta men i detta projekt används enbart den så
223
-
kallade \textit{ARCS}-modellen.\cite{arcs_book}
223
+
kallade \textit{ARCS-modellen}~\cite{arcs_book}.
224
224
225
225
\textit{ARCS} är en förkortning av ``Attention, Relevance, Confidence and
226
226
Satisfaction'', på svenska ``uppmärksamhet, relevans, självförtroende och
@@ -234,9 +234,8 @@ \section{Att skapa motiverande läromaterial}\label{sec:arcs}
234
234
sig. Det finns strategier för hur man genomför de olika delarna i praktiken och
235
235
här följer en översikt för \textit{Attention}.\footnote{Eftersom projektet har
236
236
ett begränsat fokus på de pedagogiska aspekterna, se
237
-
avsnitt~\ref{sec:avgransningar}, har enbart \textit{Attention} och
238
-
\textit{Confidence} tagits hänsyn till. Av det skälet är det enbart de två
239
-
delarna beskrivna här.}
237
+
avsnitt~\ref{sec:avgransningar}, har enbart \textit{Attention} tagits hänsyn till. Av detta skäl är det enbart denna
238
+
del beskriven här.}
240
239
241
240
För att fånga studentens uppmärksamhet och intresse finns tre allmäna
242
241
strategier. Den första är varselblivning, att något plötsligt händer som man
@@ -248,36 +247,36 @@ \section{Att skapa motiverande läromaterial}\label{sec:arcs}
248
247
utforma en lektion som föreläsning, demonstration och sedan övning, utan variera
249
248
det med andra inslag, exempelvis ett filmklipp.
250
249
251
-
252
-
Utifrån det sociokulturella perspektivet som Vygotskij utvecklade\cite{LSB_kap5}
253
-
så lär sig elever av varandra. Eleverna befinner sig vid sin proximala
250
+
Utifrån det sociokulturella perspektivet som Vygotskij utvecklade~\cite{LSB_kap5}
251
+
lär sig elever av varandra. Eleverna befinner sig vid sin proximala
254
252
utvecklingszon, där eleverna kan hjälpa varandra att förstå innebörden av
255
253
definitioner och uttryck genom att sätta ord på det de vill kommunicera. Denna
256
-
typen av kommunikation skulle kunna tänkas hjälpa elever sätta fingret på det de
254
+
typ av kommunikation skulle kunna tänkas hjälpa elever sätta fingret på det de
257
255
inte förstår. Med denna bakgrunden skulle parprogrammering kunna vara
258
-
fördelaktigt. Dels för att eleverna kan lära sig av varandra, att de genom att
256
+
fördelaktigt. Dels för att eleverna kan lära sig av varandra, dels att de genom att
259
257
kommunicera sin förståelse internaliserar ämnet och bygger en djupare
260
258
förståelse. Parprogrammering lämpar sig antagligen även för att begränsa
261
259
flyktförsök, där elever medvetet eller mindre medvetet börjar göra något annat.
262
260
263
261
%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
264
262
265
263
Då internetplattformars interaktion med eleven är begränsad, i jämförelse med då
266
-
eleven är i skolan och har tillgång till lärare, så brukar internetbaserade
264
+
eleven är i skolan och har tillgång till lärare, brukar internetbaserade
267
265
läroplattformar förlita sig på behavioristiska element i form av rätt eller fel
268
-
svar\cite{LSB_und}. Vårat läromaterial har visserligen ingen interaktiv sida,
266
+
svar~\cite{LSB_und}. Projketets läromaterial har visserligen ingen interaktiv sida,
269
267
men typsystemet i Haskell skulle ändå tänkas kunna fungera som en fingervisare
270
-
när en gör rätt eller fel. Det går exempelvis inte att addera olika dimensioner
271
-
på ett olämpligt sätt, och funktionskomposition fungerar endast om funktionens
272
-
typdefinitioner (typer på argument och returvärde) stämmer överrens.
273
-
274
-
Evolutionärt sett har snabba belöningar varit fördelaktigt framför långsiktiga
275
-
som kräver långsiktigt engagemang (ex.v öva inför en tenta) vilket beskrivs i
276
-
boken ``Dansa på deadline: Uppskjutandets psykolog''\cite{DPD}. Detta är ännu en
277
-
orsak till varför det är bra med belöning exempelvis i formen av glädje då en
268
+
när studenten gör rätt eller fel. Det går exempelvis inte att addera olika fysikaliska dimensioner, och funktionskomposition fungerar endast om funktionens
269
+
typdefinitioner (typer på argument och returvärde) stämmer överrens.
270
+
271
+
Evolutionärt sett har snabba belöningar varit fördelaktiga gentemot långsiktiga
272
+
som kräver långsiktigt engagemang (exempelvis öva inför en tenta) vilket beskrivs i
273
+
boken \textit{Dansa på deadline: Uppskjutandets psykolog}~\cite{DPD}. Detta är ännu en
274
+
orsak till varför det är bra med belöning, exempelvis i formen av glädje då studenten
278
275
ser att koden kompilerar. Läromaterialet innefattar även sporadiskt placerade
279
276
roliga bilder, för att ge sporadiska reaktioner av glädje. Sporadiska belöningar
280
277
är något som enligt författarna påverkar oss människor extra mycket, och som de
TODO: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
2
+
\section*{Förord}
6
3
7
-
Nämna LYAH som get oss inspiration till titeln och utformning i övrigt
4
+
\begin{draft}
5
+
6
+
Denna rapport behandlar kandidatarbetet ``Matematikens domänspecifika språk'',
7
+
som genomfördes på Chalmers tekniska högskola under vårterminen 2018. Vi som har
8
+
utfört detta kandidatarbete är tre studenter från civilingengörsprogrammet
9
+
Datateknik vid Chalmers tekniska högskola och en student från det
10
+
datavetenskapliga programmet vid Göteborgs Universitet.
11
+
12
+
Vi vill tacka Patrik Jansson, vår handledare, som med sina kloka tankar och goda
13
+
råd agerat som ett fyrtorn när vi seglat på okända domänspecifika hav. Vi vill
14
+
tacka Åke Fäldt som tagit sig tiden att diskutera sin egen kurs, vårt
15
+
läromaterial och gett oss tips och råd under utvecklingen. Vi vill tacka de
16
+
testare, både individer och grupper, som tagit sig tiden att studera och läsa
17
+
igenom vårt, ibland halvfärdiga, material och gett oss den kritik vi behövde för
18
+
att sporras till vidareutveckling. Vi vill tacka Jeff Chen vars tankar och idéer
19
+
om potentiella vidareutvecklingar för projektet gav oss ett helt nytt perspektiv
20
+
under arbetets gång.
21
+
22
+
Slutgiltligen vill vi tacka Miran Lipovača vars hemsida ``Learn You a
23
+
Haskell for Great Good!'' har både inspirerat utformningen av vår hemsida och
24
+
agerat som ett läromaterial för våra egna inledande studier av det fantastiska
0 commit comments