SM/0162 - DESIGN AND DEVELOPMENT OF BLOCKCHAIN APPLICATIONS
Academic Year 2019/2020
Free text for the University
MICHELE MARCHESI (Tit.)
- Teaching style
- Lingua Insegnamento
|[60/73] INFORMATICS||[73/00 - Ord. 2017] PERCORSO COMUNE||6||48|
Knowledge and understanding: the student will know the most recent and advanced design and programming techniques related to blockchain applications.
The expected learning objectives will concern the knowledge and understanding of the following topics:
- functioning of distributed and blockchain registers;
- programming of Smart Contracts on blockchain, in particular Ethereum;
- Solidity language and its development environments;
- Vyper language and its development environments;
- management with agile techniques of software projects for decentralized applications (dApp).
Ability to apply knowledge and understanding: the student will be able to evaluate and apply the principles that guide the development process of complex and innovative applications in the Blockchain environment;
Making judgments: the student will be able to evaluate the adequacy of the processes and tools for software development and the practices to be used, with respect to specific projects in the indicated sectors.
Communication skills: the student will be able to dialogue with IT specialists and with developers on the development of innovative systems in blockchain technology.
Ability to learn independently: the student will be able to learn the problems, the methodologies and the use of software libraries for dApp programming, flexibly applying the basic concepts provided in the course. He will be able to expand his own knowledge in the future, including advanced technical texts.
- Knowledge. The course requires good knowledge of programming techniques (especially procedural, object and scripting), computer architectures and software engineering, which can be acquired during the three-year degree.
- Skill. Students should be able to design, document and write programs in one or more programming languages in the reference areas.
- Competences. Good operating knowledge of one or more computer programming languages is required, enabling a deeper understanding of the problems and solutions that will be described.
- Introduction to Blockchain and Smart Contracts (2 hours)
- Bitcoin protocols and software (5 hours)
- Ethereum protocols and software (5 hours)
- Solidity and Vyper languages and Smart Contracts Programming (16 Hours)
- Agile Management of dApp Projects (6 Hours)
- Other blockchain technologies (10 hours)
Laboratory (8 hours)
The expected results of knowledge and understanding are achieved through the participation in lessons, exercises and laboratories, as well as through the individual study provided by the activated training activities.
Methods for verifying the sufficient achievement of knowledge and skills (through written tests, oral tests, implementation of application projects, verification of active participation in lessons and workshops) provide for specific tests where the student demonstrates mastery of the notions , Tools, methodologies and also certify critical autonomy.
Theoretical lectures: 44 hours.
Laboratory: 8 hours.
Verification of learning
The exam consists of two parts: theory and project.
The theory is about the whole program. Examinations are typically done in oral form.
Practical work is entrusted to groups of 1 or 2 students. They need to develop a project related to the program, and then to present and discuss it. If the project covers a broad part of the program, the theory exam is satisfied by the project discussion.
The resulting documents must be produced under a Creative Commons Attribution 3.0 Unported license (CC BY 3.0).
Any software produced must be distributed with EUPL 1.2 license (https://eupl.eu/1.2/en/ or https://eupl.eu/1.2/en/).
Course slides and material given during the lessons.
The course material is available on the teacher's website: http://people.unica.it/michelemarchesi/
It is composed of:
- copy of the transparencies shown in the lesson
- other supplied material