Lecture notes for Algorithms and Programming for Computer science's students