Paradigms of Computer Programming – Abstraction and Concurrency