Introduction
Introduction
In this course we will use Kompics Links to an external site., a component-based, compositional programming framework as a vehicle for teaching the fundamentals of distributed computing in a practical way, as well as providing a self-contained environment for developing and testing real systems. You will get to use Kompics' Scala API directly through Apache Zeppelin Links to an external site., a popular interactive web-based notebook programming project. We will provide you with a virtual machine image (download links in the next section), that we call Zeppelics, which bundles together all dependencies you need in order to implement and test your programming assignments in this course through the web browser of your host machine.
Hardware Requirements
In order to run the Zeppelics bundle it is recommended to use a system that satisfies the following minimum hardware specs:
- CPU: Intel i3 or similar x64 processor
- Memory: 3GB free for the guest VM (also recommended to have 1GB additionally free in your host machine)
- Disk Space: 5GB should be easily sufficient
IMPORTANT: Make sure you have virtualisation enabled (Intel-VT or AMD-V) for Virtual Box to operate consistently. These virtualisation options can be enabled in modern CPUs from the system BIOS.
Software Prerequisites
These are the basic software prerequisites you will need in order to boot and use our Zeppelics bundle:
- Operating System: You only need to install Virtual Box which is supported on OSX, Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8, Windows 10), DOS/Windows 3.x, Linux (2.4, 2.6, 3.x and 4.x), Solaris and OpenSolaris, OS/2, and OpenBSD among other operating systems.
- Virtual Box: You can find the setup binaries for Oracle's Virtual Box at its website Links to an external site.. Make sure you download the version that matches your operating system.
- Web Browser: Any common browser that supports HTML5 is sufficient such as Google Chrome Links to an external site., Mozilla Firefox Links to an external site., Safari, Edge, Internet Explorer and Opera (though we recommend to use Chrome). You can also use a portable web browser such as Google Chrome Portable Links to an external site. or Mozilla Firefox, Portable Edition Links to an external site.
Programming Assignments
Each week we are going to hand you through a programming assignment template as a Zeppelin notebook that you will have to import and complete. These are briefly the main steps you will have to follow in order to get a grade for an assignment :
- Download the notebook (in json format) and import it to Zeppelics
- Complete and compile successfully your implementation within the notebook
- Run all checks specified in the notebook that simulate and evaluate your approach
- Upload the homework to Canvas
Do mind that the local tests will output an encrypted unique token within the assignment notebook, that our grader will parse and decrypt in order to register your personal grade.
Make sure you to go through all the following units of the Software section and follow the instructions in detail so that you make sure you are all set!