The aim of this module is to enrich the student’s existing coding skills and to familiarize them with some of the main disciples and paradigms of modern computer programming. The module presents various topics of computer science (object-oriented programming, functional programming, advanced data types and containers, dynamic programming and recursion etc.) by exploring advanced fields of the Python programming language. By taking on and tackling various challenging problems (many of which are similar to programming quizzes asked during technical interviews at Big-Four companies) the students will enhance their algorithmic problem-solving skills as well as their ability to express their solutions in neat and succinct, maintainable code.
The course will prepare the students for independent study of various progressive mainstream topics such as machine learning, natural language processing, web development, API development, etc. A basic understanding of the Python programming language (flow control, loops, lists, and dictionaries) is expected.