Programming-collective-Intelligence Core Python Programming for Designing Learning Algorithms and Building Smart Web Applications using machine learning algorithms