Syllabus for |
|
DAT326 - Domain Specific Languages of Mathematics |
Matematikens domänspecifika språk |
|
Syllabus adopted 2020-02-11 by Head of Programme (or corresponding) |
Owner: TKDAT |
|
7,5 Credits
|
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail |
Education cycle: First-cycle |
Major subject: Computer Science and Engineering, Software Engineering, Mathematics
|
Department: 37 - COMPUTER SCIENCE AND ENGINEERING
|
Teaching language: English
Application code: 49131
Open for exchange students: Yes
Only students with the course round in the programme plan
Module |
|
Credit distribution |
|
Examination dates |
Sp1 |
Sp2 |
Sp3 |
Sp4 |
Summer course |
No Sp |
0116 |
Written and oral assignments |
3,5 c |
Grading: UG |
|
|
|
3,5 c
|
|
|
|
|
|
0216 |
Examination |
4,0 c |
Grading: TH |
|
|
|
4,0 c
|
|
|
|
|
16 Mar 2021 pm J, |
24 Aug 2021 pm J |
In programs
TKITE SOFTWARE ENGINEERING, Year 2 (elective)
TKITE SOFTWARE ENGINEERING, Year 3 (elective)
TKTEM ENGINEERING MATHEMATICS, Year 3 (compulsory elective)
TKDAT COMPUTER SCIENCE AND ENGINEERING, Year 2 (compulsory elective)
TKDAT COMPUTER SCIENCE AND ENGINEERING, Year 3 (elective)
TIDAL COMPUTER ENGINEERING - Common branch of study, Year 3 (compulsory elective)
Examiner:
Patrik Jansson
Go to Course Homepage
Eligibility
General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Specific entry requirements
The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Course specific prerequisites
The student should have successfully completed
- a course in discrete mathematics as for example Introductory Discrete Mathematics.
- two more courses mathematics, for example Linear Algebra and Calculus
- two courses in computer science, for example (Introduction to
Programming or Mathematical Software) and Object Oriented Programming - an additional three courses (22.5 hec) of any mathematics or computer science courses.
Aim
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 (after completion of the course the student should be able to)
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
Content
The lecture topics are:
- Introduction to functional programming and calculational proofs
- Introduction to Domain-Specific Languages (DSLs): case study linear algebra
- DSLs and mathematics: case study category theory
- Real analysis: mean value theorems, Taylor formulas
- Real analysis: a DSL for power series
- More linear algebra: eigenvalues and optimization
Organisation
The main forms of instruction are lectures, seminars, case studies and group work.
Literature
See separate list.
Examination including compulsory elements
The course is examined by an individual written exam which is carried out in an examination hall at the end of the course and by written assignments carried out in groups of normally 3-4 students.