Exam code 25418
Big Data and Blockchain
Lecturer: Dr. Paolo Coletti Paolo.Coletti@unibz.it .
Office I303 - Office hours: www.paolocoletti.com/timetable
Website: www.paolocoletti.com/bigdata
Course
Prerequisites
In order to correctly follow this course each student is required previous knowledge on these topics:
- English understanding and reading: you must be able to read and understand spoken English at level B2. If, for example, you have problems reading this website, you will not follow the course correctly.
- Microsoft Windows or Mac: you must already know how to use an operating system in its basic aspects
- File handling: you must have very good practice on how to move, delete, rename, copy, compress, uncompress files and directories. These are activities with which some students have severe problems.
- Internet: you must be able to navigate, send and read email, use basic UNIBZ network features and download files.
- Data management: experience with data organization with Excel or any statistical program is helpful.
Course content
- financial applications with Python
- cryptocurrencies and blockchain technology
- smart contracts on Ethereum blockchain
How to study for this course
This course is different from the majority of courses you are used to. This course is much more technical than theoretical and it is strictly sequential. This means that you have to adapt your study strategy:
- First of all, you either attend all the lessons (or compensate for missing lessons watching immediately the corresponding videos) or it is really not worth coming to the next one, since you will have a hard life understanding the next topic.
- After each lesson you must repeat slowly on your own everything done in class in order to be sure to have fully grasped the explained concepts before the next lesson.
- Needless to say, do the assigned exercises without copying them from your colleagues.
For the exam, the main difference with respect to other courses is that you have to train much more than study. The content of this course is easy and does not need extensive study, however, it is only with practice that you become skilled enough and know immediately what to do without wasting time.
Exam
The exam is split into three parts. The grade is the weighted average of the three parts, based on how many lessons were dedicated to each of them.
- open books practical test on Financial applications with Python, exercises similar to what we did in class (in A.Y. 2023/24 worth 50%)
- open books practical test on Smart contracts on Ethereum blockchain, modifications of contracts done in class or a new contract to write (in A.Y. 2023/24 worth 25%)
- closed books written questions on Cryptocurrencies and blockchain technology and decentralised finance (in A.Y. 2023/24 worth 25%)
Do not:
- Search with Google and come up with a solution that uses techniques and tools not explained in class. All exercises are designed to be solved with what is explained in class and you cannot use other tools to make your job easier.
Before the exam:
- if you do not use your own notebook, borrow a computer from the library well before the exam and configure it before the exam
- make sure that Anaconda is installed and that you can use Jupyter for Python;
- make sure Metamask is installed, that you have some Sepolia ethers on its accounts and that it interacts correctly with Remix;
- if you are paranoid and are afraid that your notebook crashes the night before, some days before the exam borrow a computer from the library and check that you are able to log in on your unibz account and that you have, or are able to install, everything you need
Mid-term
Students have the opportunity to skip part 1 of the exam with a mid-term. This grade replaces the first part of the exam. If you believe that the grade is too low for you, write an email to dr. Coletti at least 7 days before the exam and you will be able to do it at the regular exam.
Files used in class
Videos of lessons
FAQs
Q: Which software do I need for Python on my notebook?
A: Anaconda is available for Windows and for Mac. Take care to install Python 3. Watch the videos for details.
Q: Which software do I need for smart contracts on my notebook?
A: We will use only Metamask, which is a browser add-on. Unfortunately only Chrome, Firefox and Opera accept add-on, so you need to have one of these three browsers. Watch the video on how to install it for details.
Q: How can I type backslash, square bracket, straight vertical, curly braces on the German keyboard of a Mac?
A: Did you buy a Mac with a German keyboard? For programming it is lacking some fundamental keys. Here the shortcuts:
- backslash \ is obtained with ALT+SHIFT+7
- square brackets [ and ] are obtained with ALT+5 and ALT+6
- straight vertical | is obtained with ALT+7
- curly braces { and } are obtained with ALT+8 and ALT+9
Q: How can I type square bracket, at symbol, curly braces on the Italian keyboard of a Mac using VMware?
A: Did you buy a Mac with an Italian keyboard? I do not understand why the left Option-Alt key is working only for the euro symbol. Here the shortcuts:
- square brackets [ and ] are obtained with RIGHT ALT+8 and RIGHT ALT+9
- at symbol @ is obtained with RIGHT ALT+Q
- curly braces { and } are obtained with RIGHT ALT+7 and RIGHT ALT+0
Q: May I fix an appointment to talk with you?
A: Sure, write me an email and we can fix it online or live. Alternatively, you can write me your questions via email or Teams message and I shall answer very soon.
Q: When will the next exam be? Can you give me a hint on the exam's date because I have to catch a plane? Can you move the exam's date? Can you fix the exam's date on the week I suggest?
A: Please stop writing me emails on this topic. Exam's date appears on your timetable as soon as it is official. If you have something to say about it, contact your students' speaker who is the only one who can submit requests on students' behalf.
Q: I may not enrol online for technical or administrative reasons or I forgot to enrol or it is my third attempt and I cannot enrol. Can I do the exam anyway?
A: No, I may not let non-enrolled students take part of the exam. Do not ask me to do illegal things! Ask the secretary whether there is something they can do.
Q: May I use the operating system in a different language?
A: Yes, sure. Your business.
Q: Will the exam be similar to the other exams on this website?
A: Sure.
Q: I lost a file during the practical exam because I did not save it correctly. What may you do?
A: Absolutely nothing. With time spent on exercises you should know the unreliability level of your programs, and how often you have to save.
Q: My files were not copied correctly at the end of the practical exam. What may I do?
A: Checking that the copy is correct, and practicing file copy even during the exam, is your task and is official prerequisite for this course.
Previous exams
ID
|
Session
|
Notes
|
Exam link
|
Solution link
|
Videosolution for Python
|
Videosolution for smart contracts
|
---|---|---|---|---|---|---|
21
|
May 2024 – smart contracts midterm
|
|
|
|||
18
|
July 2023
|
|
|
|||
17
|
May 2023
|
|
|
|||
16
|
May 2023 – smart contracts midterm
|
|
|
|||
13
|
May 2022
|
|
|
|
||
12
|
May 2022 – smart contracts midterm
|
3 versions
|
|
|||
09
|
July 2021 – smart contracts
|
Do not consider this exercise if we are not doing the NFT in this A.Y. Do not consider specific Python programming exercises.
|
|
|||
08
|
May 2021 – smart contracts
|
Do not consider specific Python programming exercises.
|
|
|
||
07
|
May 2020 – smart contracts
|
Do not consider specific Python programming exercises.
|
|
|||
03
|
May 2019
|
Do not consider questions about IOTA and specific Python programming exercises
|
||||
02
|
prototype for A.Y. 2018/19
|
Do not consider specific Python programming
exercises. |
|
|||
01
|
prototype for A.Y. 2018/19
|
|
Modifications due to Covid
Exams and mid-terms will be, unless further restrictions arrive, in presence. For any exception or new restriction, read university's official rules.
Attending the course
If you attend the course online, it will be very difficult to watch what I am doing and at the same time do it yourself. The best solution is having two screens: on the former you watch my video and on the latter you repeat what I do. You can use also your home television as second screen. Check which ports does your computer have (probably HDMI, USB Type C, DisplayPort, VGA; search on Google for their pictures) and which ports does your television or second monitor has. A connection cable among two ports is cheap. Alternatively you can watch my video on a tablet or an old computer or a smartphone and use your main computer to repeat my examples.
Financial applications and smart contracts
I will send you the file via email and receive the file back via email.
In this video https://youtu.be/nFV8Dz8SdhY you find instructions on how to install and configure OBS, a program that you can use to record your screen and your face at the same time. Installing the program, configuring, making it work properly and have enough space on your disk (estimation: 200 MB for the program, 200 MB for each hour of exam) is your responsibility, so do at least a recording test of 30 minutes. Have Teams switched off when you use OBS, you must start the recording BEFORE receiving the exam files and end it AFTER sending the exam files to me: I must be able to see you opening the email and see you sending the email back to me. After the recording has stopped, please rename the video with your surname and then send it to me via WeTransfer or any other similar website that you like (which does not force me to register, so not Google Drive). Please rename the video file with your surname. Do not delete it until I have published the grades. My copy of the video will be deleted as soon as I correct that part of the exam.
In case during the exam you need my assistance and would like to call me on Teams, you will not be able to make a video-call as your camera is busy with OBS. In this case you can use the Teams app on your smartphone (unibz does not want us to use WhatsApp or Telegram) using your rear camera to show me your screen. Please do some tests to hold it still and put the screen on focus since with trembling hands and out-of-focus I cannot help you.
If you believe that your computer cannot handle OBS and the necessary programs at the same time, I can propose you a bizarre alternative. You can position a smartphone next to you with the camera pointing at the screen. You will probably need a stick (a selfie stick with a tripod or a TikToker stick will do the job) to keep it in place, possibly horizontal. You start the recording, show your face to the camera and then I would like to see your screen and your shoulder/arm or alternatively your face sometimes popping in front of the camera and saying hallo. Do some tests before to see whether your phone can record for a long time and make sure you have enough space in the phone's memory. Your Camera app has some settings which let you reduce the video quality to 720p 30fps or even less, do it.
Cryptocurrencies and blockchain technology
This part will be an oral examination on Teams. Note that oral examinations are public, so there could be other people connected (who obviously cannot speak!). I will not record the exam. I will ask you to show me your surroundings and there must be nobody around nor any course's material nor any other screen. You may hold an A4 paper with you which has one face written with whatever you want, including course's material. You will be evaluated on what you say, how you say it and on how much time does it take to answer (spending 10 minutes reading your A4 paper every time will penalise you).
Cheating
If I suspect you are cheating or have cheated, I will interrupt the exam and report to the Dean. I remind you that the regulations of the Faculty of Economics prescribe for cheating a suspension of one entire session for all exams and one entire year for this exam. It has already happened to some of your colleagues in the past, so please do not even try to cheat.