Certification Paths → Daml Fundamentals Certification Path

Daml Fundamentals Certification Exam


Description
***PLEASE REVIEW THESE INSTRUCTIONS CAREFULLY BEFORE ATTEMPTING THE EXAM***

This foundational-level certification is required before taking any of the more advanced certifications and training programs. It will test your knowledge of the concepts in the Daml Fundamentals certification path through a written exam. Candidates must successfully complete the Daml Fundamentals certification path prior to taking the exam.

The exam should take approximately 4 hours to complete, though candidates can take as much time as they need. Candidates are welcome to reference the Daml Fundamentals curriculum, Daml developer documentation, and SDK as aids during the exam.

There are 55 exam questions, 30 of which are separated into three categories, one category for each course in the Daml Fundamentals certification path curriculum. There are also 25 hands-on questions that represent building business logic in Daml, from scratch. All questions carry the same weight, and add up to your total score. To be Daml-certified, you must have a total exam score of 85%. Candidates may have two attempts to pass the exam, before being required to retake the Daml Fundamentals certification path again. If you fail your first attempt, you must wait 60 minutes before trying again. A second failure will require you to retake all courses and exams in the path.

Exam Topics:
1. Functional Programming in Daml (14 questions)
- What makes Daml unique
- How to reason about functional programming and why it is important for creating applications in Daml
- SDK setup and configuration
- How to create and leverage functions
- Primitive data types
- Collection data structures
- Typeclasses and records
- Conditional control flow
- Iterative control flow
- Type variables

2. Canton Ledger Programming in Daml (11 questions)
- How to reason about the Canton ledger model and its components
- How to write and test templates
- How to identify and retrieve contracts
- Transaction trees
- Functor, applicative, and action
- Actions and loops

3. Testing in Daml (5 questions)
- How to reason about testing Daml code
- How to leverage Navigator for testing and debugging
- How to design test scripts
- How to use debug, trace, assert, abort, ensure, and handle exceptions

4. Hands-on Technical Questions

4.1. As the exam is open-book, it may include built-in functions pertinent to the lesson contents. You are highly encouraged to explore various built-in functions for querying contracts (https://docs.daml.com/daml/reference/contract-keys.html#contract-lookups) and submitting commands (https://docs.daml.com/daml-script/api/Daml-Script.html#function-daml-script-submitwithdisclosures-40752) beyond those directly mentioned in the lessons before the exam.

4.2. This portion of the exam is designed such that correct answers ensures the completion of error-free and bug-free business logic for a Medical Record Management Application. Consequently, all the problems build progressively upon each other and are related, meant to be completed in the provided order.

4.3. The exam is based on Daml 2.x. Daml 3.0 and above do not support keys and maintainers.
To install a specific version of the Daml SDK, such as 2.9.3, run: daml install 2.9.3

4.4. You are highly encouraged to use a code editor of your choice, such as VS Code, for testing and taking notes during the exam. To install VS Code, please refer to the instructions provided on the official VS Code website. (https://code.visualstudio.com/docs/setup/setup-overview)

4.5. Please view the following image for a sample of a free-text question:

https://raw.githubusercontent.com/cathyjung-da/df-capstone2exam/main/img/sample-correct-free-text.png?token=GHSAT0AAAAAACVXQJS42KIC6UPZGLXHTV5YZV3UP3A

Regarding the image above and the free-text question:

- Provide your answers in the following format: 1-answerOne, 2-answerTwo, 3-answerThree, 3-anotherAnswerThreeForOrderLessQuestions, etc.

- Each answer should correspond to the blank labeled with the corresponding number.

- Answers are case-sensitive and space-sensitive and will not be counted as correct unless they exactly match the specified label and format. For example, 1-answerOne is correct, but 1 - answerOne or answerOne is not. Similarly, 2-[Int] is correct, but 2-[ Int ] is not. Avoid including unnecessary spaces.

- If you decide that a blank should remain empty, write N/A with the corresponding number of the blank, such as 1-N/A.

- To answer the question correctly, you must provide an answer for every blank space in the question.

4.6. Hands-on practice to gain experience in building a full business workflow in Daml before taking the exam is highly recommended.

4.7. If you have any questions regarding the exam, please reach out to product-training-team@digitalasset.com.

***

After passing the exam with a score of 85% or higher, you will earn your Daml Fundamentals certification, and be ready for intermediate and advanced training!
Content
  • Certification Overview
  • Certification Exam
  • Certification Exam
  • Certification Feedback
  • Survey: Daml Fundamentals Certification
Completion rules
  • All units must be completed
  • Leads to a certificate with a duration: 2 years
Prerequisites