GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — L: All essential TODOs in Chapters 0 and 1 done · DSLsofMath/DSLsofMath@959df2f

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
  • L
    • 00
      • Intro.lhs
    • 01
      • CSem.lhs
      • E1.lhs
      • E1_from_exams.lhs
      • W01.lhs
    • 02
      • W02.lhs
    • DSLsofMathNotes.lhs
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎L/00/Intro.lhs‎

Copy file name to clipboardExpand all lines: L/00/Intro.lhs
+71-38Lines changed: 71 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -130,15 +130,41 @@ We provide a wide range of applications of the DSLs introduced,
130130
so that the new concepts can be seen ``in action'' as soon as
131131
possible.
132132

133-
TODO: update with actual learning outcomes
134-
135133
The course has two major learning outcomes.
136134
%
137135
First, the students should be able to design and implement a DSL in a
138136
new domain.
139137
%
140138
Second, they should be able to handle new mathematical areas using the
141139
computer science perspective.
140+
%
141+
(For the detailed learning outcomes, see figure~\ref{fig:LearningOutcomes}.)
142+
143+
\begin{wrapfigure}{R}{0.5\textwidth}
144+
\begin{itemize}
145+
\item Knowledge and understanding
146+
\begin{itemize}
147+
\item design and implement a DSL (Domain Specific Language) for a new domain
148+
\item organize areas of mathematics in DSL terms
149+
\item explain main concepts of elementary real and complex analysis,
150+
algebra, and linear algebra
151+
\end{itemize}
152+
\item Skills and abilities
153+
\begin{itemize}
154+
\item develop adequate notation for mathematical concepts
155+
\item perform calculational proofs
156+
\item use power series for solving differential equations
157+
\item use Laplace transforms for solving differential equations
158+
\end{itemize}
159+
\item Judgement and approach
160+
\begin{itemize}
161+
\item discuss and compare different software implementations of
162+
mathematical concepts
163+
\end{itemize}
164+
\end{itemize}
165+
\caption{Learning outcomes for DSLsofMath}
166+
\label{fig:LearningOutcomes}
167+
\end{wrapfigure}
142168

143169
To achieve these objectives, the course consists of a sequence of case
144170
studies in which a mathematical area is first presented (for example,
@@ -177,7 +203,7 @@ CSE programmes) shows, math students are usually able to catch up fairly
177203
quickly, and in any case we aim to keep to a restricted subset of
178204
Haskell (no ``advanced'' features are required).
179205

180-
TODO: rewrite when the evaluation results are available
206+
%TODO: rewrite 2018 when the evaluation results are available
181207

182208
To assess the impact in terms of increased quality of education, we
183209
plan to measure how well the students do in ulterior courses that
@@ -200,37 +226,38 @@ the possibility of comparing the results with those of a control group
200226

201227
The work that lead up to the current course is as follows:
202228

203-
\begin{itemize}
204-
\item 2014: in interaction with our colleagues from the various study
205-
programmes, we performed an assessment of the current status of
206-
potential students for the course in terms of their training (what
207-
prerequisites we can reasonably assume) and future path (what
208-
mathematical fields they are likely to encounter in later studies),
209-
and we worked out a course plan (which we submitted in February
210-
2015, so that the first instance of the course could start in
211-
January 2016).
212-
%
213-
We also make a survey of similar courses being offered at other
214-
universities, but did not find any close matches.
215-
216-
\item 2015: we developed course materials for use within the first
217-
instance, wrote a paper \citep{TFPIE15_DSLsofMath_IonescuJansson}
218-
about the course and pressented the pedagogical ideas at several
219-
events (TODO: perhaps fill in TFPIE'15, DSLDI'15, IFIP WG 2.1 \#73
220-
in Göteborg, LiVe4CS in Glasgow).
221-
\item 2016: we ran the first instance of DSLM (partly paid by the
222-
regular course budget, partly by this project) with Cezar Ionescu as
223-
main lecturer.
224-
\item 2017: we ran the second instance of DSLM (paid fully by the
225-
regular course budget), now with Patrik Jansson as main lecturer.
226-
\item 2016 and 2017: we used the feedback from students following the
227-
standard Chalmers course evaluation in order to improve and further
228-
develop the course material.
229-
\end{itemize}
229+
\paragraph{2014:} in interaction with our colleagues from the various
230+
study programmes, we performed an assessment of the current status of
231+
potential students for the course in terms of their training (what
232+
prerequisites we can reasonably assume) and future path (what
233+
mathematical fields they are likely to encounter in later studies),
234+
and we worked out a course plan (which we submitted in February 2015,
235+
so that the first instance of the course could start in January 2016).
236+
%
237+
We also make a survey of similar courses being offered at other
238+
universities, but did not find any close matches.
230239

231-
Future work includes involving faculty from CSE and mathematics in the
232-
development of other mathematics courses (prel.\ Linear Algebra,
233-
Analysis) with the aim to incorporate these ideas also there.
240+
\paragraph{2015:} we developed course materials for use within the
241+
first instance, wrote a paper
242+
\citep{TFPIE15_DSLsofMath_IonescuJansson} about the course and
243+
pressented the pedagogical ideas at several events (TFPIE'15,
244+
DSLDI'15, IFIP WG 2.1 \#73 in Göteborg, LiVe4CS in Glasgow).
245+
246+
\paragraph{2016:} we ran the first instance of DSLM (partly paid by
247+
the regular course budget, partly by this project) with Cezar Ionescu
248+
as main lecturer.
249+
250+
\paragraph{2017:} we ran the second instance of DSLM (paid fully by
251+
the regular course budget), now with Patrik Jansson as main lecturer.
252+
253+
\paragraph{2016 and 2017:} we used the feedback from students
254+
following the standard Chalmers course evaluation in order to improve
255+
and further develop the course material.
256+
257+
\paragraph{Future work} includes involving faculty from CSE and
258+
mathematics in the development of other mathematics courses (prel.\
259+
Linear Algebra, Analysis) with the aim to incorporate these ideas also
260+
there.
234261
%
235262
A major concern will be to work together with our colleagues in the
236263
mathematics department in order to distill the essential principles
@@ -279,10 +306,13 @@ useful in many applications (e.g., Laplace transforms, linear algebra).
279306

280307
\subsection{Who should read these lecture notes?}
281308

282-
TODO: Convert formal prerequisites to ``what is expected of the reader''
309+
The prerequisites of the underlying course may give a hint about what
310+
is expected of the reader.
311+
%
312+
But feel free to keep going and fill in missing concepts as you go
313+
along.
283314

284315
The student should have successfully completed
285-
286316
\begin{itemize}
287317
\item a course in discrete mathematics as for example Introductory Discrete Mathematics.
288318
\item 15 hec in mathematics, for example Linear Algebra and Calculus
@@ -293,10 +323,13 @@ The student should have successfully completed
293323
Informally: One full time year (60 hec) of university level study
294324
consisting of a mix of mathematics and computer science.
295325

326+
Working knowledge of functional programming is helpful, but it should
327+
be possible to pick up quite a bit of Haskell along the way.
328+
296329

297-
\subsection{Roadmap}
330+
% \subsection{Roadmap}
298331

299-
TODO: write about the lecture plan and internal dependencies
332+
%TODO: write about the lecture plan and internal dependencies
300333

301334

302335

@@ -323,7 +356,7 @@ The aim is to improve the reader's skills in understanding, modelling,
323356
and implementing mathematical text.
324357

325358

326-
TODO: fill in more about notation
359+
%TODO: fill in more about notation
327360

328361
\subsection*{Acknowledgments}
329362

Collapse file

‎L/01/CSem.lhs‎

Copy file name to clipboardExpand all lines: L/01/CSem.lhs
+2-1Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
module DSLsofMath.CSem where
66
77
newtype ComplexSem r = CS (r , r) deriving Eq
8+
\end{code}
89

910
\paragraph{Lifting operations to a parameterised type}
1011

@@ -13,7 +14,7 @@ real and imaginary components) we can do that for any underlying type
1314
|r| which supports addition.
1415

1516
\begin{code}
16-
type CS = CSem.ComplexSem -- for shorter type expressions below
17+
type CS = ComplexSem -- for shorter type expressions below
1718
liftCS :: ( r -> r -> r ) ->
1819
(CS r -> CS r -> CS r )
1920
liftCS (+) (CS (x, y)) (CS (x', y')) = CS (x+x', y+y')
Collapse file

‎L/01/E1.lhs‎

Copy file name to clipboardExpand all lines: L/01/E1.lhs
+15Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,18 @@
132132
%
133133

134134
\end{exercise}
135+
136+
\begin{exercise}
137+
\label{exc:embedeval}
138+
139+
When is |embed (eval e) == e|?
140+
141+
Step 0: type the quantification: what is the type of |e|?
142+
143+
Step 1: what equality is suitable for this type?
144+
145+
Step 2: if you use ``equality up to eval'' --- how is the resulting
146+
property related to the first round-trip property?
147+
%See blackboard/W1/20170116_161148.jpg
148+
149+
\end{exercise}
Collapse file

‎L/01/E1_from_exams.lhs‎

Copy file name to clipboardExpand all lines: L/01/E1_from_exams.lhs
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
% TODO (DaHe): I have only included the parts of the exam questions that I think
1+
%TODO (DaHe): I have only included the parts of the exam questions that I think
22
% have to do with chapter 1, with the intent that the remaining parts will be
33
% covered in later chapters. Should we restate the whole question when the other
44
% parts are added, or just refer back to E1? ("In exercise 1.3, we looked at
55
% implementing the datatype SR v for the laguage of semiring expressions. We
66
% will now revisit this blablabla" Answer: refer back.)
77

8-
TODO: Add an exercise to implement some property as a boolean functions (for example some from the semiring properties.
8+
%TODO: Add an exercise to implement some property as a boolean functions (for example some from the semiring properties.
99

1010
\newpage
1111
\begin{exercise} \label{exc:e1_semiring}

0 commit comments

Comments
0 (0)
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.