See https://github.com/KTH/programmable-society
DD2585 Programmable Society with Blockchains and Smart Contracts 7.5 credits

The course is about software design with blockchain and smart contracts. It will prepare you to become an active member of the future programmable society that is being invented at the moment. This course will enable Sweden and Stockholm’s software industry to be at the forefront of digital transformation through blockchain, distributed ledger technology and smart contracts. The course follows a flipped classroom pedagogy.
Information per course offering
Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.
Course syllabus as PDF
Please note: all information from the Course syllabus is available on this page in an accessible format.
Course syllabus DD2585 (Autumn 2025–)Content and learning outcomes
Course disposition
Course contents
- technology for distributed data (DLT, Distributed Ledger Technology), especially blockchains
- programming with smart contracts
- software development for the programmable society
- current research about distributed ledger technology and smart contracts
Intended learning outcomes
After passing the course, the student shall be able to
- design, develop and run blockchain protocols and nodes
- use current programming languages for smart contracts
- use and improve software engineering for smart contracts (testing, deployment, continuous integration/delivery)
- explain technology for distributed ledgers (DLT) and smart contracts in different implementation domains (decentralised finance, reporting, law, control with distributed autonomous organisations, digital art)
in order to
- obtain the necessary skills of a blockchain engineer,
smart contract engineer, web3 engineer or digital artist
- be able to exercise lifelong learning in fast changeable technology.
Literature and preparations
Specific prerequisites
Knowledge and skills in programming, 6 credits, equivalent to completed course DD1337/DD1310-DD1319/DD1321/DD1331/DD100N/ID1018.
Knowledge in algorithms and data structures, at least 6 higher education credits, equivalent to completed course DD1338/DD1320/DD1325/DD1328/DD1338/DD2325/ID1020/ID1021.
Knowledge in modern software development technology at second-cycle, 7.5 higher education credits, equivalent to completed course DD2480/ID2207.
Knowledge in at least one of the following fields:
• cryptography, 7.5 higher education credits, equivalent to completed course DD2520/DD2448
or
• distributed systems, 7.5 higher education credits, equivalent to completed course ID2201/DD2443
or
• computer security, 6 higher education credits, equivalent to completed course DD2395/DD2391/IV1013/IK2206.
Active participation in a second-cycle course offering where the final examination is not yet reported in LADOK is considered equivalent to completion of the course. Being registered for a course counts as active participation. The term 'final examination' encompasses both the regular examination and the first re-examination.
Literature
Examination and completion
Grading scale
Examination
- PRO1 - Project Work, 7.5 credits, grading scale: P, F
Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.
The examiner may apply another examination format when re-examining individual students.
If the course is discontinued, students may request to be examined during the following two academic years.
Project-based assessment, both oral and written
Examiner
Ethical approach
- All members of a group are responsible for the group's work.
- In any assessment, every student shall honestly disclose any help received and sources used.
- In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
Further information
Course room in Canvas
Offered by
Main field of study
Education cycle
Supplementary information
In this course, the EECS code of honor applies, see:
http://www.kth.se/en/eecs/utbildning/hederskodex