Skip to content

Commit 0f158c5

Browse files
committed
Fixade språkliga kommentarer
1 parent 939bb05 commit 0f158c5

File tree

1 file changed

+25
-22
lines changed

1 file changed

+25
-22
lines changed

Rapport/include/Teori.tex

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ \section{Domänspecifika språk}
1414
saker inom domänen. Svenska och Java är två exempel på språk.
1515
Domänspecifika språk är vanligt förekommande i programmeringssammanhang, HTML är
1616
ett domänspecifikt språk för textformatering, SQL för databashantering och
17-
CSV för tabeller.
17+
CSV för tabeller.
1818

1919
Domänspecifika språk används inte bara i programmering utan förekommer även i
2020
andra mer vardagliga sammanhang. Inom domänen matlagning är steka, grilla och
@@ -34,7 +34,7 @@ \section{Domänspecifika språk}
3434
Java. Dessa är turingkompletta, vilket betyder att det går att
3535
uttrycka alla beräkningsbara problem i dem och även lösa dem givet
3636
tillräckligt med tid och
37-
minnestillgång~\cite{turing_ne}~\cite{turing_book}. Nackdelen med
37+
minnestillgång~\cite{turing_book}\todo{Turing implicerar ej generell, skriv om}. Nackdelen med
3838
dessa generella språk är just att de är så generella. Eftersom
3939
domänspecifika språk inte behöver vara användbara utanför den
4040
specifika domänen kan de inkludera specifik syntax och ha en inbyggd
@@ -47,15 +47,15 @@ \section{Domänspecifika språk}
4747
datatyper som bygger upp det domänspecifika språket. Att Haskell är ett
4848
högnivåspråk är också en fördel då programmeraren slipper programmeringstekniska detaljer som
4949
minneshantering och kan istället fokusera på programmets innehåll
50-
och betydelse. Slutligen möjliggör mönstermatchning att de datatyper som utgör
51-
det domänspecifika språket enkelt kan brytas isär och manipuleras.
50+
och betydelse. Slutligen möjliggör mönstermatchning att de konstruktorer som bygger
51+
upp datatyperna i det domänspecifika språket enkelt kan brytas isär och manipuleras.
5252

5353
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

5757
I samband med domänspecifika språk dyker begreppen \textit{syntax} och
58-
\textit{semantik} upp. Syntax är reglerna för hur enheter i språket, till exempel ord och skiljetecken, sammamslås till komplexa strukturer som meningar och
58+
\textit{semantik} upp. Syntax är reglerna för hur enheter i språket, till exempel ord och skiljetecken, sammanslås till komplexa strukturer som meningar och
5959
satser. Semantiken är betydelsen av sådana komplexa strukturer i ett språk.
6060
Inom aritmetik\footnote{Aritmetik är
6161
den gren inom matematiken som behandlar räkning av tal.} är tal och
@@ -68,9 +68,10 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
6868
I domänspecifika språk som modellerar syntax, så kallade \textit{deep
6969
embeddings}, kan syntaxen representeras av trädstrukturer. Dessa
7070
strukturer kallas \textit{syntaxträd}, och har haft stor betydelse i detta projekt.
71-
För att illustrera begreppet visas här ett domänspecifikt språk som består av ett
71+
För att illustrera begreppet visas här ett domänspecifikt språk som består av en
72+
datatyp vars element är
7273
syntaxträd som modellerar aritmetiska uttryck, implementerat i Haskell.
73-
Datatypen för syntaxträdet visas i figur~\ref{fig:syntax_exempel}.
74+
Datatypen för syntaxträden visas i figur~\ref{fig:syntax_exempel}.
7475

7576
\begin{figure}[tph]
7677
\begin{lstlisting}
@@ -87,10 +88,10 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
8788
\texttt{:+:} och \texttt{:*:} förgreningar. Med hjälp av dem kan summan respektive produkten av två andra uttryck uttryckas. Löven
8889
% Löfven
8990
representeras av
90-
\texttt{Const}, vilket är en konstant som ej kan byggas vidare på.
91+
\texttt{Const}, vilket är en konstant som ej kan byggas vidare på\todo{Const 10 :*: Const 2??}.
9192

9293
Med datakonstruktorerna kan uttryck representerade av syntaxträd konstrueras. Ett exempeluttryck
93-
från den tidigare datatypen visas i figur~\ref{fig:syntax_exempel_varde}, som visar hur det aritmetiska uttrycket $7 * (3
94+
från den tidigare datatypen visas i figur~\ref{fig:syntax_exempel_varde}, där det aritmetiska uttrycket $7 * (3
9495
+ 10)$ modelleras. Konstruktorn \texttt{:*:} får som sina två argument uttrycken
9596
\texttt{Const 7} och \texttt{Const 3 :+: Const 10}. Det är alltså en produkt av
9697
två deluttryck. Syntaxträd brukar illusteras med träddiagram. Detta
@@ -100,22 +101,22 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
100101
\begin{lstlisting}
101102
expr = Const 7 :*: (Const 3 :+: Const 10)
102103
\end{lstlisting}
103-
\caption{Ett exempeluttryck ur det tidigare syntaxträdet. Detta modellerar det
104+
\caption{Ett exempeluttryck ur det tidigare syntaxträdet\todo{Vilket syntaxträd?}. Detta modellerar det
104105
matematiska uttrycket $7 * (3 + 10)$}\label{fig:syntax_exempel_varde}
105106
\end{figure}
106107

107108
\begin{figure}[tph]
108109
\centering
109110
\includegraphics[width=0.4\linewidth]{figure/syntax_exempel_bild.png}
110-
\caption{Ett exempeluttryck från syntaxträdet illustrerat i ett
111+
\caption{Ett exempeluttryck från syntaxträdet\todo{Vilket syntaxträd?} illustrerat i ett
111112
träddiagram.}\label{fig:syntax_exempel_bild}
112113
\end{figure}
113114

114115
Precis som semantik har en roll i samband med syntax, har semantik även en roll
115116
i samband med syntaxträd. I detta exempel är semantiken det värde som
116117
syntaxträdet har. Detta värde kan beräknas utifrån syntaxträdet genom
117-
en \textit{evaluator}, också kallad \textit{beräkningsfunktion}. För exemplets
118-
syntaxträd kan beräkningsfunktionen se ut som i figur \ref{fig:eval_tree}
118+
en \textit{evaluator}, också kallad \textit{beräkningsfunktion}. För \texttt{Expr}
119+
kan beräkningsfunktionen se ut som i figur \ref{fig:eval_tree}
119120

120121
\begin{figure}[tph]
121122
\begin{lstlisting}
@@ -130,13 +131,13 @@ \section{Syntax, syntaxträd och semantik}\label{sec:syntax}
130131
Det finns tre speciella saker att observera i
131132
figur~\ref{fig:eval_tree}. Den första är att eftersom syntaxen innehåller tre olika
132133
slag av element, här motsvarat av de tre datakonstruktorerna, krävs tre fall i
133-
beräkningsfunktionen som beräknar vardera av dem. \texttt{evaluate} har
134+
funktionen \texttt{evaluate} som beräknar vardera av dem. Den har
134135
därför ett fall för \texttt{:+:}, ett för \texttt{:*:} och ett för
135136
\texttt{Const}.
136137

137138
Den andra saken att notera i figuren är hur ett fall
138139
beräknas. Hur beräkningen ska se ut fås genom att ta hänsyn till
139-
semantiken hos det syntaktiska uttrycket. \texttt{e1 :+: e2} är syntax för
140+
semantiken hos det syntaktiska uttrycket. Här är \texttt{e1 :+: e2} syntax för
140141
addition av de två uttrycken \texttt{e1} och \texttt{e2}. Därför blir
141142
semantiken, värdet, av \texttt{e1 :+: e2} lika med värdet hos \texttt{e1} och
142143
\texttt{e2} adderade. Ett liknande resonemang ger svaret på hur beräkningen av
@@ -157,7 +158,7 @@ \section{Litterat programmering och Literate Haskell}\label{sec:lhs}
157158
Jämfört med traditionella program får dokumentationen en
158159
ökad betydelse. I traditionella program är programkoden den viktiga delen. I
159160
litterata program är däremot dokumentationen minst lika viktig. Den används för
160-
att förklara koden, sätta den i relationen till andra delar, med mera.
161+
att förklara koden, sätta den i relation till andra delar, med mera.
161162
Detta jämnbördiga förhållande syns konkret genom att titta på hur källkoden är
162163
skriven i ett litterat program. Det kan till exempel se ut som i
163164
figur~\ref{fig:litterate_haskell_exempel} där källkoden och
@@ -238,7 +239,7 @@ \section{Lärandeteorier}\label{sec:arcs}
238239
här följer en översikt för \textit{Attention}\footnote{Eftersom projektet har
239240
ett begränsat fokus på de pedagogiska aspekterna, se
240241
avsnitt~\ref{sec:avgransningar}, har enbart \textit{Attention} tagits hänsyn
241-
till. Av detta skäl är det enbart denna del beskriven här.}.
242+
till. Av detta skäl är enbart denna del beskriven här.}.
242243

243244
För att fånga studentens uppmärksamhet och intresse finns tre allmänna
244245
strategier. Den första är varseblivning, att något plötsligt händer som studenten
@@ -249,17 +250,19 @@ \section{Lärandeteorier}\label{sec:arcs}
249250
om olika struktur och ordning på undervisningen, till exempel att inte alltid
250251
utforma en lektion som föreläsning, demonstration och sedan övning, utan variera
251252
det med andra inslag, exempelvis ett filmklipp.
252-
253+
\todo{Röd tråd}
253254
Enligt det sociokulturella perspektivet som Vygotskij utvecklade~\cite{LSB_und}
254255
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+
utvecklingszon\footnote{Den zon där målet för lärandet ligger på en nivå som är
256257
för hög för en elev att klara på egen hand, men som eleven klarar om den får
257258
vägledning och stöd.}, där eleverna kan hjälpa varandra att förstå innebörden av
258259
definitioner och uttryck genom att sätta ord på det de vill kommunicera. Denna
259260
typ av kommunikation kan hjälpa elever sätta fingret på vad de
260261
inte förstår. Med denna bakgrund kan parprogrammering vara
261-
fördelaktigt. Dels för att eleverna kan lära sig av varandra, att de genom att
262-
kommunicera sin förståelse internaliserar ämnet och bygger en djupare
262+
fördelaktigt. Dels för att eleverna kan lära sig av varandra, dels för att de genom att
263+
kommunicera
264+
%sin förståelse
265+
internaliserar ämnet och bygger en djupare
263266
förståelse. Parprogrammering kan även lämpa sig för att begränsa
264267
flyktförsök, där elever medvetet eller mindre medvetet börjar ägna sig åt något annat.
265268

@@ -273,4 +276,4 @@ \section{Lärandeteorier}\label{sec:arcs}
273276
svar~\cite{LSB_und}. Evolutionärt sett har snabba belöningar varit
274277
fördelaktigt framför långsiktiga som kräver långsiktigt engagemang
275278
(exempelvis öva inför en tenta) vilket beskrivs i boken \textit{Dansa
276-
på deadline: Uppskjutandets psykologi}~\cite{DPD}.
279+
på deadline: Uppskjutandets psykologi}~\cite{DPD}.\todo{Oavslutat stycke}

0 commit comments

Comments
 (0)