Lecture notes for Programming Paradigms for Computer science's students