The course gives a practical approach to programming using different languages. It is to make students explore different languages, plat- forms and challenges of practical importance. The course builds on the programming foundation got at undergraduate level.