Advanced programming and programming languages