Skip to content

Commit 698d105

Browse files
author
Oskar Lundström
committed
2 parents d25999b + 93465b3 commit 698d105

File tree

3 files changed

+75
-95
lines changed

3 files changed

+75
-95
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ Gör en överstrykning på saker när de är klara.
3232
- **B** Att böra på slutsatser
3333
- Slutsatser
3434
- Introduktion
35-
- **E** Fixa todos i bakgrund och allmän hyfsning
36-
- **E** Allmän hyfsning mål
37-
- **E** Allmän hyfsning avgränsningar
35+
- ~~**E** Fixa todos i bakgrund och allmän hyfsning~~
36+
- ~~**E** Allmän hyfsning mål~~
37+
- ~~**E** Allmän hyfsning avgränsningar~~
3838
- Teori
3939
- Metod
4040
- Resultat

Rapport/include/Introduktion.tex

Lines changed: 70 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -2,60 +2,32 @@
22
\chapter{Introduktion}
33

44
\begin{binge}
5-
6-
Ska in nånstans i bakgrund eller diskussion
7-
8-
Vilka är projektet relevant för:
9-
% Relevant för ??? var bör relevant för vara? I syfte eller avgränsningar?
10-
Projektet är relevant för datateknologer som läser en fysikkurs. Men det kan
11-
också bli relevant för en fysikstudent som är ute efter en inkörsport till
12-
funktionell programmering. Förhoppningsvis blir det också relevant för de som är
13-
intresserade av domänspecifika språk i stort, pedagoger och föreläsare inom de
14-
berörda områdena och kanske till och med programledningen som ser vår rapport
15-
som ett skäl att introducera innehåll av detta slag i till exempel fysikkursen.
16-
175
\end{binge}
186

197
\section{Bakgrund}
208

219
\begin{draft}
2210

2311
På civilingenjörsprogrammet Datateknik på Chalmers ingår den obligatoriska
24-
fysikkursen \textit{Fysik för ingenjörer}. Tentastatistiken för denna kurs är
25-
problematisk.\footnote{Andel underkänt på ordinarie tentamen från läsår 2014
26-
till 2017: 34\%, 76\%, 18\%, 57\%. }\cite{tentastatistik}. Vi tror att många
27-
studenter på datateknik (``datateknologer'') finner denna kurs svår eller
28-
ointressant, och att detta leder till att en betydande andel får underkänt på
29-
tentamen. Projektet handlar om att göra ett läromaterial som kan beskriva fysik
30-
ur en alternativ vinkel för datateknologer.
31-
32-
\textbf{TODO: Ska nämnas en gång tidigt och en gång sammanfattningsvist nedan,
33-
eller beskriver vi vad vi ska göra längst upp innan bakgrund?}
34-
35-
Kursens examinator Åke Fäldt menar att..:
36-
37-
\textbf{TODO: PaJa är inte övertygad om att detta hör till "bakgrund"
38-
egentligen.}
39-
40-
\begin{quote} ``..studenter i allmänhet verkar ha svårt för att sätta upp egna
41-
modeller. De baserar sina mentala modeller helt eller delvis på intuition och
42-
felaktiga antaganden, istället för definitioner och bevisade satser som man är
43-
säker på gäller. Detta leder till att de tar genvägar som ofta är fel."
44-
\end{quote}
45-
46-
Detta tror projektgruppen kan lösas med avstamp från kursen ``Domain Specific
47-
Languages of Mathematics'' (``DSLsofMath'') eller ``Matematikens domänspecifika
48-
språk'' vilket är en valbar kurs på kandidatnivå för studenter på Chalmers och
49-
Göteborgs Universitet.
50-
51-
Konkret så presenterar kursen DSLsofMath matematik så som derivator, komplexa
52-
tal och matriser ur ett funktionellt programmeringsperspektiv i det funktionella
53-
programmeringsspråket Haskell. Dessa för datateknologerna redan bekanta begrepp
12+
fysikkursen \textit{Fysik för ingenjörer}. Tentastatistiken för denna kurs är
13+
betydligt sämre än för andra kurser på datateknik.\footnote{Andel underkänt på
14+
ordinarie tentamen från läsår 2014 till 2017: 34\%, 76\%, 18\%, 57\%.
15+
}\cite{tentastatistik}. Vi tror att många studenter på datateknik finner denna
16+
kurs svår eller ointressant, och att detta leder till att en betydande andel får
17+
underkänt på tentamen.
18+
19+
Detta tror projektgruppen kan lösas med avstamp från kursen \textit{Domain
20+
Specific Languages of Mathematics} (``DSLsofMath''), med den svenska titeln
21+
\textit{Matematikens domänspecifika språk} vilket är en valbar kurs på
22+
kandidatnivå för studenter på Chalmers och Göteborgs Universitet. Konkret så
23+
presenterar kursen DSLsofMath matematik så som derivator, komplexa tal och
24+
matriser ur ett funktionellt programmeringsperspektiv i det funktionella
25+
programmeringsspråket Haskell. Dessa för datastudenterna redan bekanta begrepp
5426
och verktyg från tidigare kurser presenteras då på ett nytt och tänkvärt sätt.
5527

56-
I kursen DSLsofMath, var år 2016 var Cezar Ionescu huvudföreläsare, och från
57-
2017 är Patrik Jansson huvudföreläsare, vilka har beskrivit avseendet med kursen
58-
genom en artikel \cite{tfpie2015}. Det direkta målet med kursen DSLSofMath är
28+
I kursen DSLsofMath, var år 2016 Cezar Ionescu huvudföreläsare, och från
29+
2017 är Patrik Jansson huvudföreläsare, de har beskrivit avseendet med kursen
30+
genom en artikel~\cite{tfpie2015}. Det direkta målet med kursen DSLSofMath är
5931
att förbättra den matematiska utbildningen för datavetare och den
6032
datavetenskapliga utbildningen för matematiker, där den grundläggande idéen
6133
bakom kursen är:
@@ -67,58 +39,71 @@ \section{Bakgrund}
6739
typerna i domänspecifika språk.''\cite{lecture-notes}\cite{tfpie2015}
6840
\end{center}
6941

70-
\textbf{TODO: Denna artikel ligger kanske lite malplacerad här. Ser ut som den
71-
är till för vidare läsning om DSLSofMath}
72-
73-
För vidare läsning rekommenderas \textit{DSL for the Uninitiated} \cite{DSLU}.
74-
75-
Vi vill med hjälp av domänspecifika språk presentera fysik ur ett alternativt
76-
perspektiv, likt det sättet DSLsofMath presenterar kopplingar mellan matematik
77-
och programmering. Förhoppningen är att läromaterialet ska visa på kopplingar
78-
mellan programmering och fysik och därmed underlätta lärandet.
42+
De funktionella programmeringsperspektivet som kursen använder sig av bottnar i
43+
så kallade domänspecifika språk. Kortfattat kan ett domänspecifikt språk
44+
beskrivas som ett programmeringsspråk som skapats för ett väl avgränsat
45+
område. Detta område kan vara databashantering, algebraiska uttryck, eller till
46+
och med fysik. Språket kan antingen vara implementerat inuti ett annat
47+
programmeringsspråk eller implementerat helt fristående, i kursen och projektet
48+
är det implementerat i Haskell.
49+
50+
Vi vill på samma sätt
51+
% använda domänspecifika språk för att
52+
presentera fysik ur ett alternativt perspektiv likt det sättet DSLsofMath
53+
presenterar kopplingar mellan matematik och programmering. Förhoppningen är att
54+
läromaterialet ska visa på kopplingar mellan programmering och fysik och därmed
55+
underlätta lärandet.
7956

8057
%PaJa:Trevligt!
8158
En analogi:
8259

83-
Studenterna hade svårt för matte $\rightarrow $ DSLsofMath.\\ Studenterna har
84-
svårt för fysik $\rightarrow $ Learn you a physics.
60+
Studenterna hade svårt för matte $\rightarrow $ DSLsofMath.\\
61+
Studenterna har svårt för fysik $\rightarrow $ Learn you a physics.
62+
63+
Vi tror att att detta projekt kan vara av intresse för studenter, pedagoger och
64+
föreläsare inom de berörda områdena eftersom det här projektet ger ett nytt
65+
perspektiv på fysik som inte bara är annorlunda utan också mer rigoröst.
66+
Förhoppningsvis blir det också relevant för de som är intresserade av
67+
domänspecifika språk i stort och kanske till och med för programledningen som
68+
kan se vår rapport som ett skäl att introducera innehåll av detta slag i
69+
fysikkurser.
8570

8671
Angående tidigare forskning och studier har en kurs på MIT, inte helt olik
87-
DSLsofMath, tidigare givits som berör både fysik och domänspecifika språk
88-
(''DSL'').\ ``Classical Mechanics: A Computational Approach'' gavs av Prof.\
89-
Gerald Sussman och Prof.\ Jack Wisdom bl.a. år
90-
2008.\cite{classical-mechanics-course-mit-2008} Denna kurs på avancerad nivå
91-
studerar de fundamentala principerna av klassisk mekanik med hjälp av
92-
beräkningsidéer för att precist formulera principerna av mekanik, med början i
93-
Lagranges ekvationer och avslut i perturbationsteori (teori för approximationer
94-
av matematiska lösningar). I kursboken\cite{SICM} förklaras fysikaliska fenomen
95-
genom att visa datorprogram för att simulera dem, skrivna i språket Scheme.
96-
Denna typ av kurser ter sig ovanliga, och är, till vår kännedom, den enda kursen
97-
bortsett från DSLsofMath på Chalmers som knyter samman matematik, fysik och
98-
programmering.
99-
100-
\textbf{TODO: Skriv om nedanstående paragraf}
101-
102-
Utöver DSLsofMath-kursen har det även tidigare gjorts ett kandidatarbete om DSL
72+
DSLsofMath, tidigare givits som berör både fysik och
73+
%domänspecifika språk (''DSL'').
74+
funktionell programmering.
75+
``Classical Mechanics: A Computational Approach'' gavs av Prof. Gerald Sussman
76+
och Prof. Jack Wisdom bl.a. år 2008.\cite{classical-mechanics-course-mit-2008}
77+
Denna kurs på avancerad nivå studerar de fundamentala principerna av klassisk
78+
mekanik med hjälp av beräkningsidéer för att precist formulera principerna av
79+
mekanik, med början i Lagranges ekvationer och avslut i perturbationsteori
80+
(teori för approximationer av matematiska lösningar). I kursboken\cite{SICM}
81+
förklaras fysikaliska fenomen genom att visa datorprogram för att simulera dem,
82+
skrivna i språket Scheme. Denna typ av kurser ter sig ovanliga, och är, till
83+
vår kännedom, den enda kursen bortsett från DSLsofMath på Chalmers som knyter
84+
samman matematik, fysik och programmering.
85+
86+
Utöver DSLsofMath-kursen har det även tidigare gjorts ett liknande kandidatarbete
10387
här på Chalmers. Vårterminen 2016 utfördes kandidatarbetet ``Programmering som
10488
undervisningsverktyg för Transformer, signaler och system. Utvecklingen av
10589
läromaterialet TSS med DSL'' av fem studenter från Datateknik och Teknisk
10690
Matematik på Chalmers. Arbetet bestod av utveckling av läromaterial med
10791
tillhörande programmeringskod, uppgifter och lösningar, som komplement till
108-
existerande kurser i signallära.\cite{kandidat2016} \end{draft}
92+
existerande kurser i signallära.\cite{kandidat2016}
10993

11094
\section{Projektets mål}
11195

112-
\begin{draft}
113-
11496
Tanken med detta kandidatarbete är att angripa fysik från ett funktionellt
115-
programeringsperspektiv. På detta sätt ska ämnet bli både roligt och intressant
116-
för datateknologer, och därmed förhoppningsvis också enklare. Detta är likt
117-
premissen bakom kursen DSLsofMath och kandidatarbetet från 2016, som istället
118-
för fysik behandlade matematik respektive signallära.
97+
programeringsperspektiv. På detta sätt är förhoppningen att ämnet bli både
98+
roligt och intressant för datastudenter, och därmed förhoppningsvis också
99+
enklare. Detta är likt premissen bakom kursen DSLsofMath och kandidatarbetet
100+
från 2016, som istället för fysik behandlade matematik respektive signallära.
119101

120102
Mer konkret ska ovanstående genomföras genom att skapa ett läromaterial.
121-
Läromaterialet ska bestå av domänspecifika språk, skrivna i Haskell, som
103+
Läromaterialet ska bestå av
104+
domänspecifika språk, skrivna
105+
%programkod skriven
106+
i Haskell, som
122107
modellerar fysik sammanvävt med förklarande lärotext. Läromaterialet ska vara
123108
enkelt för läsaren att ta till sig. Det ska åstadkommas genom ett lättsamt
124109
språk, publicering på en hemsida samt fri tillgång till källkoden.
@@ -127,24 +112,20 @@ \section{Projektets mål}
127112
huruvida fysik och domänspecifika språk går att kombinera och om det finns en
128113
pedagogisk nytta i det.
129114

130-
\end{draft}
131-
132-
\section{Avgränsningar} \label{sec:avgransningar}
133-
134-
\begin{draft}
115+
\section{Avgränsningar}\label{sec:avgransningar}
135116

136-
Läromaterialet ska begränsa sig till att enbart beskriva de fysikalsika områden
117+
Läromaterialet ska begränsa sig till att enbart beskriva de fysikaliska områden
137118
som ingår i kursen Fysik för ingenjörer. Denna avgränsning valdes dels för att
138-
det är den fysik gruppmedlemmarnas kunskapar begränsar sig till, dels för att
119+
det är den fysik gruppmedlemmarnas kunskapar är begränsad till, dels för att
139120
det är för Fysik för ingenjörer detta projekt kan bli mest relevant för, då
140-
kursen ingår i datateknologernas obligatoriska kursplan.
121+
kursen ingår i datastudenternas obligatoriska kursplan.
141122

142123
Vidare kommer en prioritering av innehållet i Fysik för ingenjörer att göras.
143124
Kursen behandlar grunderna inom klassisk mekanik, termodynamik och
144125
vågrörelselära. Det ingår även en stor mängd tillämpad matematik, exempelvis
145126
differentilkalkyl. I första hand kommer mekaniken behandlas, för att sedan i mån
146127
av tid även behandla termodynamik och vågrörelselära. Fokuset kommer också att
147-
vara på de områden datateknologerna haft svårt för.
128+
vara på de områden datastudenter haft svårt för.
148129

149130
För att utvärdera den pedagogiska nyttan kommer enbart en informell utvärdering
150131
att göras. Detta då en rigorös undersökning hade krävt mycket tid för att välja
@@ -158,6 +139,3 @@ \section{Avgränsningar} \label{sec:avgransningar}
158139
på den kommer bara vara mindre.
159140

160141
\end{draft}
161-
162-
163-

Rapport/include/Teori.tex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ \section{Domänspecifika språk}
5454
och betydelse. Slutligen gör dess mönstermatchning att de datatyper som utgör
5555
det domänspecifika språket enkelt kan brytas isär och manipuleras.
5656

57+
För vidare läsning rekommenderas \textit{DSL for the Uninitiated} \cite{DSLU}.
58+
5759
\section{Syntax, syntaxträd och semantik}\label{sec:syntax}
5860

5961
I samband med domänspecifika språk dyker begreppen \textit{syntax} och

0 commit comments

Comments
 (0)