Patrik Jansson

Professor of Computer Science


Curriculum vitae



+46317725415


Computer Science and Engineering

Chalmers University of Technology

Room number: EDIT-6452
My office is in the EDIT building of campus Johanneberg, near Rännvägen 6.



BSc Project proposals 2024/25


October 29, 2024

Below are two proposals for "BSc projects" I have offered for the srping 2024 instance of the big "BSc project course" here in Gothenburg. There are around 5 students in a group, and each student is expected to "work for" 15hec, during spring 2024 (thus half speed, in parallell with other studies).

Which Climate Decisions Matter Most?

Background

In 2023 the journal paper \"Responsibility Under Uncertainty: Which Climate Decisions Matter Most?\" [MatterMost] was published. In it we propose a new method for estimating how much decisions under uncertainty matter. The method is general and suitable for measuring responsibility in what is called \"finite horizon sequential decision processes\": bascially, situations when you need to make a good plan (more formally an \"optimal policy\") for a fixed number of timesteps (often years). In the paper we apply the method to study how much decisions matter in a simplified Greenhouse Gas Emissions process in which a decision maker repeatedly faces two options: start a "green" transition to a decarbonized society or further delay such a transition. The paper shows that a "moral" approach towards decision making --- doing the right thing even though the probability of success becomes increasingly small --- is rational (\"pays off\") in many cases.

(See also https://patrikja.owlstown.net/posts/1382-responsibility-under-uncertainty)

[MatterMost]: <doi:10.1007/s10666-022-09867-w>

Project decscription

This BSc thesis project would re-implement some of the results from the paper and further explore along these lines:

  • Read up on and (in the report) explain the background on Sequential Decision Problems for a BSc student audience.
  • Clean up and port the code from Idris to Python or Haskell to enable more efficient computation.
  • Specify and implement test cases (perhaps with QuickCheck) and use them to verify correctness.
  • Reproduce (or identify problems with) the results from the case study in the MatterMost paper.
  • Evaluate and compare the efficiency of the new code with the old.
  • Perhaps implement in both Haskell and Python to compare and contrast the code and the efficiency.
  • Perhaps implement another case study to further evaluate the \"responsibility under uncertainty\" concept.
  • Perhaps explore ways to extend the method to handle multiple competing objectives.
  • Perhaps contribute to a research paper / experience report about the results of the project.

The resulting material (documentation and code) should be made publicly available online (for example on github).

Target group:

DV, D, IT, TM, F, GS

If the group contains students from TM or F the report should be in Swedish.

Special prerequisites:

You need to have at least one of these backgrounds. (An ideal project group would have at least one student from each of these.)

  • Funktionell programmering (Haskell)
  • Domain-Specific Languages of Mathematics (DAT326 / DIT982)
  • Background in Global Systems (GS-programmet)
  • Background in Engineering mathematics (TM-programmet)
  • Background in Physics (F-programmet)

Proposer

Patrik Jansson

Supervisor

Patrik Jansson

Matematikens domänspecifika språk för andra kurser

[DSLsofMathBSc24]

Förslagslämnare: Patrik Jansson

Bakgrund:

DSLsofMath [1,2,3] är namnet på ett pedagogiskt projekt som lett till en valfri kurs i årskurs 2-3 riktad till datavetare och matematiker på Chalmers och GU. Kursen presenterar klassiska matematiska ämnen från ett datavetenskapligt perspektiv: genom att specificera de introducerade begreppen, vara uppmärksam på syntax och typer, och slutligen genom att bygga domänspecifika språk for vissa matematiska områden. (Exempelvis linjär algebra, Laplace-transform, potensserier, derivator.)

Inspirerat av detta har flera studentgrupper genomfört kandidatarbetesprojekt under de senaste åren med följande resultat:

  • 2016: Programmering som undervisningsverktyg för Transformer, signaler och system - Utvecklingen av läromaterialet TSS med DSL

  • 2018: Ett komplementerande läromaterial för datastudenter som lär sig fysik - Läromaterialet Learn You a Physics for Great Good!

  • 2020: A Computer Science Approach to Teaching Control Theory - Developing Learning Material Using Domain-Specific Languages

  • 2022: HasLin - ett DSL för linjär algebra - Utvecklandet av ett matematiskt domänspecifikt språk för linjär algebra i Haskell

Projektbeskriving:

Det här kandidatprojektet går ut på att ta fram DSLsofMath-inspirerat kompletterande material för andra närliggande kurser som exempelvis

  • Matematisk statistik och diskret matematik, eller

  • Flervariabelanalys, eller

  • Data Science & AI, eller

  • andra kurser som ni känner skulle må bra av mer fokus på syntax, typer och funktioner.

Implementationsspråk är Haskell och Agda och målet är dels att förbättra förståelsen hos projektmedlemmarna av de kurser och ämnen som väljs och dels att ge framtida studenter mer material att arbeta med. Materialet som utvecklas skall finnas öppet tillgängligt på github.

Efter ett par år med huvudfokus på lärmaterial (tutorial / lecture notes) är fokus i år mer inriktat mot korrekthet: DSL, typer, specifikation, test, bevis.

Att göra ("produkt"):

  • Designa och implementera (ett par) DSL för det valda området

  • Specificera lagar som bör gälla i Haskell eller Agda

  • Testa de lagar som kan testas med QuickCheck

  • Bevisa någon eller några lagar i Agda

  • ... samt dokumentation i form av kandidatarbetesrapport mm.

Länkar: {#luxe4nkar}

  1. github.com/DSLsofMath/DSLsofMath

  2. DSLsofMath_TFPIE_2015_paper_preprint.pdf

  3. DSLsofMathCourseExamplesResults_preprint_2018-08-17.pdf

Målgrupp: {#muxe5lgrupp}

DV, D, IT, TM

Särskilda förkunskaper: {#suxe4rskilda-fuxf6rkunskaper}

Funktionell programmering (Haskell) och kursen DSLsofMath eller gott om matematik (TM-programmet eller liknande).

(Det kan gå att ta kursen DSLsofMath parallellt med projektet, men det blir svårare.)

Handledare:

Patrik Jansson eller annan person inom FP-gruppen.


Share

Tools
Translate to