Domain Specific Languages of Mathematics - University of Gothenburg Till startsida
To content Read more about how we use cookies on

Domain Specific Languages of Mathematics

Bachelor's level | 7.5 credits | Course code: DIT982
Spring 2020
50% Day
Period: 20 January 2020 - 21 March 2020
2 Closed GU-28632
2) Only EU/EEA citizens and students with approved residence permit in Sweden can apply

About the Course

Software engineering involves modelling very different domains (e.g., business processes, typesetting, natural language, etc.) as software systems.  The main idea of this course is that this kind of modelling is also important when tackling classical mathematics.  In particular, it is useful to introduce abstract datatypes to represent mathematical objects, to specify the mathematical operations performed on these objects, to pay attention to the ambiguities of mathematical notation and understand when they express overloading, overriding, or other forms of generic programming.  We shall emphasize the dividing line between syntax (what mathematical expressions look like) and semantics (what they mean).  This emphasis leads us to naturally organize the software abstractions we develop in the form of domain-specific languages, and we will see how each mathematical theory gives rise to one or more such languages, and appreciate that many important theorems establish "translations" between them.

Mathematical objects are immutable, and, as such, functional programming languages are a very good fit for describing them.  We shall use Haskell as our main vehicle, but only at a basic level, and we shall introduce the elements of the language as they are needed. The mathematical topic treated have been chosen either because we expect all students to be familiar with them (for example, limits of sequences, continuous functions, derivatives) or because they can be useful in many applications (e.g., analytic functions, Laplace transforms).

More Information

Show more

Course Syllabus


Requirements and Selection

Requirements: The student should have successfully completed 7.5 credits in discrete mathematics as for example DIT980 Discrete Mathematics for Computer Scientists. 15 credits in mathematics, for example MMGD20 Linear Algebra D and MMGD30 Calculus D 15 credits in computer science, for example DIT440 Introduction to Functional Programming or MVG300 Programming with Matlab and DIT012 ImperativeProgramming with Basic Object-orientation Additional 22.5 credits of any mathematics or computer science Courses.

Selection: Selection is based upon the number of credits from previous university studies, maximum 225 credits.

Tuition Fee

Application fee: 900 SEK
Full course cost: 17 587 SEK
First payment: 17 587 SEK

EU/EEA citizens, Swedish residence permit holders and exchange students do not pay fees. More information on:

Study Guidance



Department of Computer Science and Engineering
41296 Göteborg

Visiting address: Rännvägen 6 B

Page Manager: Pontus Sundén
Last update: 6/15/2018 12:12 PM

Tell a friend about this page
Print version

Page Manager: Pontus Sundén|Last update: 10/16/2018

The University of Gothenburg uses cookies to provide you with the best possible user experience. By continuing on this website, you approve of our use of cookies.  What are cookies?