The course has a project-based examination, where the student has to perform a number of tasks.
- To pass the course, the student has to complete and pass between 3 mandatory tasks:
- presentation (mandatory)
- demo (mandatory)
- smart contract protocol development (mandatory)
- To get a grade better than E, the student can do optional tasks in the following categories
- essay (optional)
- contribution to open-source (optional)
- feedback (optional)
- questions (optional)
- Final grading scheme
- A: 7 completed tasks
- B: 6 completed tasks
- C: 5 completed tasks
- D: 4 completed tasks
- E: 3 completed tasks (excluding feedback)
- The same student cannot choose the same topic for two different tasks.
- Important dates:
- Deadline for presentations and demos: the day and time they are given in person
- Deadline for essay: Emmanuelle Charpentier's birthday, Dec 11 2023, 17h Stockholm time
- Deadline for feedback: 48 hours after submission from the original authors
- Grand oral: Brad Pitt's birthday, Dec 18 2023
- Deadline for open-source: David Bowie's birthday, Jan 8 2024, 17h Stockholm time (if repeated Jan 15 2024)
- Deadline for repeated tasks (all): Jan 8 2024, 17h Stockholm time.
- The deadlines are strict and cannot be extended. Not meeting a deadline means failing the task / the repetition.
- Group work is encouraged for smart contract development (max 2 persons).
- A failed task requires to pass it again at the end of the course (repeat), based on the feedback from the failure. A task can only be repeated once.
- If the whole course is failed, no grades are kept if the student registers again to the course later on.
- After a proposal has been merged, the topic of that proposal cannot be changed.
- When you send a pull request for registration, please follow the name convention of using email addresses to create the folder:
kthlogin
orkthlogin-kthlogin
for group registration.
The concept: The student prepares a 7 minute presentation on a topic that is relevant to Smart Contracts. The student must be present.
Yes | No | |
---|---|---|
timing: The presentation's length is between 6:30-7:30 minutes (hard limit) | Yes | No |
well-structured: Structure is announced and graphically visible | Yes | No |
motivation: The presentation contains a good, motivating introduction telling why this presentation is important | Yes | No |
technical: The presentation contains one part that is deeply technical | Yes | No |
code: The presentation contains valuable and readable code snippets | Yes | No |
originality: The presentation contains one part that is original (eg less than 100 results on Google on this topic) | Yes | No |
reflection: The presentation contains a reflective part | Yes | No |
sota: There is one good slide positioning the presentation in the state of the art | Yes | No |
take-home: The last slide contains a good and concise take-home message | Yes | No |
loudly: The speakers talk loudly and clearly | Yes | No |
engagement: The speakers engage with the audience | Yes | No |
humour: The speakers are fun, have humour | Yes | No |
readable-slides: The slides don't have too much text | Yes | No |
illustration: The slides contain nice illustrations | Yes | No |
To pass, the student need at least 8 "yes".
The concept: A student prepares a demonstration involving Smart Contract technology, to be performed during the lecture. For example, a demo typically involves multiple virtual machines, likely deployed in the cloud (some resources here). A demonstration is scripted, prepared and lasts 6:30-7:30 minutes.
Yes | No | |
---|---|---|
timing: The demo lasts between 6:30-7:30 minutes (hard limit) | Mandatory | - |
relevant: The demonstration is clearly motivated (why it matters for Smart Contracts) | Yes | No |
narrative: The demo contains a good narrative | Yes | No |
difficulty: The demonstration is difficult to do | Yes | No |
speech: The demo is accompanied by a clearly and structured speech | Yes | no |
originality: The demonstration is original (there are few demos/tutos on this topic on the Internet) | Yes | No |
aesthetics: The demo is visually appealing | Yes | No |
easter-egg: The demo contains an easter egg related to the demo topic | Yes | No |
engagement: The speakers engage with the audience | Yes | No |
liveness: The speakers update some code / config live | Yes | No |
take-home: The demo includes a clear and visible take-home message | Yes | No |
To pass, the student must have at least 8 "yes".
Concept: As a group of two, you scope, design, and implement a smart contract protocol. You choose a smart contract language of your choice. A DApp/UX is welcome but not mandatory. You present the protocol for 30 minutes (15 min presentation + 15 min questions) during the Smart Contract Grand Oral on December 18, 2023.
The protocol proposal must be done through a pull-request before Nov 15, sunset in Stockholm.
Yes | No | |
---|---|---|
github: The protocol is hosted on GitHub, publicly available. The GitHub repository must have a root README file. | Mandatory | - |
tested: The protocol can be automatically executed from a test suite | Mandatory | - |
documented: The usage of the protocol is well documented | Mandatory | - |
timing: The length of the presentation is 15 minutes (hard limit) | Mandatory | - |
motivation: The protocol is clearly motivated | Yes | No |
background: The README gives enough background | Yes | No |
tech: The presentation focuses on the technical aspects of the protocol | Yes | No |
original: The protocol is original, the README discusses closely related work | Yes | No |
well-structured: the structure of the presentation is announced and graphically visible | Yes | No |
code: The presentation contains valuable and readable code snippets | Yes | No |
reflection: The presentation contains a reflective part | Yes | No |
sota: There is one good slide positioning the presentation in the state of the art | Yes | No |
take-home: The last slide contains a good and concise take-home message | Yes | No |
engagement: The speakers engage with the audience | Yes | No |
humour: The speakers are fun, have humour or the protocol contains an Easter egg | Yes | No |
readable slides: The slides do not have too much text | Yes | No |
(BONUS) verification: the procotol contains some verification beyond testing (mutation testing with Gambit, formal verification) | Yes | No |
(BONUS) perfect testing: the protocol has 100% statement coverage | Yes | No |
(BONUS) fuzzing/symbolic execution: the protocol has a harness for fuzzing or symbolic execution | Yes | No |
(BONUS) outreach: the students outreach to the crypto world about their protocol | Yes | No |
(BONUS) real-world: the protocol is deployed on mainnet and IPFS | Yes | No |
(BONUS) DApp/UX: the protocol contains user interface application | Yes | No |
To pass, you must have the mandatory parts and at least 9 "yes".
The concept: The student writes an essay on a topic relevant to the course.
Yes | No | |
---|---|---|
format: The essay is in PDF | Mandatory | - |
length: The essay length is between 2400-2600 words, incl. references (hard limit) | Mandatory | - |
relevant: The essay addresses a topic that is relevant for Smart Contracts | Mandatory | - |
title: The essay has a good and focused title | Mandatory | - |
generative AI: the essay contains "I/We certify that generative AI, incl. ChatGPT, has not been used to write this essay. Using generative AI without permission is considered academic misconduct." | Mandatory | - |
well-structured: The essay is well structured | Yes | No |
problem: The intro clearly states a relevant problem | Yes | No |
sota: There is one part positioning the essay in the state of the art | Yes | No |
conclusion: The conclusion contains an emphasized key take-away of the essay | Yes | No |
self-contained: The essay is self-contained, one can understand it without reading something else (expected knowledge of the reader: a master student in computer science) | Yes | No |
innovative: The essay contains innovative ideas or material | Yes | No |
figures: The essay contains relevant and informative figures | Yes | No |
listings: The essay contains relevant and informative listings | Yes | No |
sound: The essay is sound, factual, and accurate | Yes | No |
references: The essay contains references, appropriate in number and quality (10 good refs is a minimum, incl. at least 3 academic references) | Yes | No |
elegant: The essay presentation is elegant and visually appealing (eg LaTeX, InDesign) | Yes | No |
reflection: The essay contains a reflective part | Yes | No |
To pass, the student needs at least 8 "yes".
The concept: the student contributes to one open-source project related to Smart Contracts. The student gets at least one merged pull-request.
Criteria for the selection of the open-source project: 1) The project is related to Smart Contracts 2) The project has more than 100 Commits 3) The project has an active community on GitHub.
Yes | No | |
---|---|---|
difficulty: The contribution is a difficult piece of engineering, either a bug fix or a new feature | Yes | No |
workflow: The contribution is done per the best practices of open-source (declaration of intention, WIP, ready for review, conversation) | Yes | No |
merge: The contribution is merged in the main branch of the target project. | Yes | No |
To pass, the student must have 2 yes.
The concept: the student provides constructive and timely feeback about one task from categories "essay" and "executable tutorial". The feedback is provided in a written manner as a well-structured comment on the PR of the task.
Yes | No | |
---|---|---|
substance: the feedback is substantiated (at least 500 words) | Mandatory | - |
generative AI: the feeback contains "I/We certify that generative AI, incl. ChatGPT, has not been used to write this feedback. Using generative AI without permission is considered academic misconduct." | Mandatory | - |
high-level: the feedback starts with a list of high-level strengths and high-level weaknesses about the work | Yes | No |
timeliness: the feedback is provided 2 business days (48h) after the "go" from the authors | Yes | No |
constructive: all feedback points are constructive and clearly actionable | Yes | No |
structure: the feedback is well-structured (eg. along the outline of the work under feedback) | Yes | No |
pointers: the feedback contains valuable pointers to additional material | Yes | No |
To pass, the student must have at least 4 "yes".