SM/0162 - DESIGN AND DEVELOPMENT OF BLOCKCHAIN APPLICATIONS
Academic Year 2022/2023
Free text for the University
- 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 Language and Smart Contracts Programming (16 Hours)
- Agile Management of dApp Projects (4 Hours)
- Other blockchain technologies (6 hours)
Laboratory (10 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.
Compatibly with the mixed teaching method foreseen in the Academic Manifesto for the A.Y. 2020-21 following the COVID-19 emergency, the tools used for the lectures will be both blackboard and slides with projection system using the classroom PC projector, and using internet streaming.
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: 38 hours.
Laboratory: 10 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.
Project work is entrusted to groups of 1 or 2 students. They must develop a project related to the program and then discuss it. The project can also be carried out in collaboration with a company active in the blockchain sector, or it may concern an ongoing research project. 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/).
Compatibly with the modalities of exams foreseen in the Academic Manifesto 2021-22 following the COVID-19 emergency, the exams will be held either in presence or, on the MS Teams platform.
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