Kursöversikt

Course-PM

DAT326 / DIT982 Domain Specific Languages of Mathematics, Spring 2019 (7,5hp) at the CSE Department (Länkar till en externa sida.)Länkar till en externa sida., Chalmers & UGOT.

Course purpose

The course will present classical mathematical topics from a computing science perspective: giving specifications of the concepts introduced, paying attention to syntax and types, and ultimately constructing DSLs of some mathematical areas mentioned below.

Learning outcomes: see below.

Schedule

See TimeEdit (Länkar till en externa sida.)Länkar till en externa sida..

Contact details

Examiner and main lecturer: Patrik Jansson, email: patrikj@chalmers.se

Teaching Assistants:

Guest Lecturer (prel.): Cezar Ionescu (Oxford University) or Nicola Botta (Potsdam Institute of Climate Impact Research).

Course literature

Lecture notes (available in Canvas, sources on GitHub (Länkar till en externa sida.)Länkar till en externa sida.) + references therein cover the course but there is no printed course textbook. The main references are listed on the GitHub page (Länkar till en externa sida.)Länkar till en externa sida..

Course design

  • Lectures
    • Introduction: Haskell, complex numbers, syntax, semantics, evaluation, approximation
    • Basic concepts of analysis: sequences, limits, convergence, ...
    • Types and mathematics: logic, quantifiers, proofs and programs, Curry-Howard, ...
    • Type classes, derivatives, differentiation, calculational proofs
    • Domain Specific Languages and algebraic structures, algebras, homomorphisms
    • Polynomials, series, power series
    • Power series and differential equations, exp, sin, log, Taylor series, ...
    • Linear algebra: vectors, matrices, functions, bases, dynamical systems as matrices and graphs
    • Laplace transform: exp, powers series cont., solving PDEs with Laplace
  • Course material
    • Please read and make sure you understand the Lecture notes
  • Weekly exercise sessions (scheduled)
    • Half time helping students solve problems in small groups
    • Half time joint problem solving at the whiteboard
  • More exercises (not scheduled)
    • Make sure to work through the exercises in the lecture notes
    • This is important to prepare for both the labs and the written exam
    • ... and you can get bonus points.
  • Assignments (labs)
    • Two assignments done in groups of three
    • Hand-in as text + code ...
    • ... and a short oral Q&A session to make sure you have all contributed.
    • Feedback will be given both during the Q&A-session and in writing  
  • Written exam (at the end of the course)
  • Digital tools
    • Canvas is used for the first time by this teaching team
      • rapid feedback is appreciated to make sure we can improve the site
    • GitHub is where all the lecture notes and associated code is hosted.
      • please post issues if you find problems
      • and use pull-requests if you have suggestions for fixes / additions

    Changes made since the last occasion

    Based on student feedback from the 2018 instance we have made a few changes:

    • Exercise session format:
      • first half: individual or group problem solving (with supervision),
      • second half: full group problem solving on the board or demo 
    • Stronger focus on (non-scheduled) solving of exercises: bonus points
    • More introductory material in the lecture notes
    • Added information about how the student results in later courses correlate with the DSLsofMath course (in the introduction and as a research paper)

    Examination form

    There are two compulsory course elements:

    To pass the course you need to pass both course elements.

    Weekly Exercises

    Each week you can gain 1 bonus point for the exam by solving exercises from the lecture notes.
    To get the point you should hand in a written solution by Friday at 15.15 and be prepared to briefly present the solution on the board in front of the class on the last exercise session of the week (usually on Fri at 15.15). Those who are "ready" mark the exercise numbers on a name list and the teaching team picks presenters from the list. Points are awarded to those who present a correct solution and to all those who are "ready" but not picked for presentation. The first weekly exercise is DSLM Week 1 but you probably want to start with a few other exercises to warm up.

        Learning objectives and syllabus

        Knowledge and understanding

        • design and implement a DSL (Domain Specific Language) for a new domain
        • organize areas of mathematics in DSL terms
        • explain main concepts of elementary real and complex analysis, algebra, and linear algebra

        Skills and abilities

        • develop adequate notation for mathematical concepts
        • perform calculational proofs
        • use power series for solving differential equations
        • use Laplace transforms for solving differential equations

        Judgement and approach

        • discuss and compare different software implementations of mathematical concepts

        Course plans:

        Kurssammanfattning:

        Datum Information Sista inlämningsdatum