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:

 

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 :

  1. Download the notebook (in json format) and import it to Zeppelics
  2. Complete and compile successfully your implementation within the notebook
  3. Run all checks specified in the notebook that simulate and evaluate your approach
  4. 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!