Soft Computing Lecture Notes