Programming languages are a vital domain for Computer and Information Technology engineering. The programming languages like C, C++, Java, Python, Mobile Application Development, and Web Technologies are important programming courses in CSE and IT curriculum. Understanding the programming courses includes a basic understanding of the syntax of programming language, logical & critical thinking to solve the problem, use of various editors to write and execute the program. Effective delivery of the programming course creates a great deal of influence on student’s interest in programming and software development. The students lose their interest in programming due to the inefficient delivery of these courses which leads to a gap in technical competency required by the IT sector. The current Covid 19 pandemic exposed the limitation of traditional teaching methods for programming courses. Teaching such programming courses on online mode becomes a big challenge for faculty by considering the skillset required to inculcate amongst the students for learning programming courses. The primary objective of this paper is to overcome these challenges by the effective use of a pedagogical approach for teaching programming courses. The various active learning methods and tools are discussed in this paper that was used to teach the programming language. The result shows that by implementation of such methods & tools you can retain the interest of students in programming courses and thus increase their performance and improve the skillset required in IT industry. Keywords— Computer Programming, Activity-based learning, Visualization tools, logic building, Critical thinking, Continuous Assessment.