Course Overview

This course covers three critical components of programming for both desktop and web applications. First, the course covers Python programming to solve problems. Second, it provides hands-on coding skills to apply data structures for real world problems. Third, it focuses on basics of algorithm analysis and design as an essential concept of computer science. Python programming is the fastest growing programming language. Most industry coding jobs today require Python mastery. Application of Python programming in Artificial Intelligence, Data Science, Machine Learning, and Web Development has made it a very popular language with potential for employability. This course will prepare participants to develop core competencies on problem solving, use of data structures, designing algorithms and Python programming to solve real world business and scientific problems. People with the skill sets covered in the course can be placed in the industry as Software Engineer, Python Developer, Research Analyst, Data Analyst, Data Scientist, Software Developer, etc.

This course is designed for anyone interested in learning Python for improving employability. Students in Engineering colleges and those who have completed Engineering diploma or degree would benefit from this innovative course. Secondary school students with good mathematical knowledge are also encouraged to join.

Learning Outcomes

After completion of this course participants are expected to be able to:

  • Develop algorithms for solving specific problems.
  • Transform designs of problem solutions into Python programming language using the concepts like variables, control constructs, functions, list, tuple, dictionary.
  • Write scripts using syntax and conventions in accordance with industry standard best practices.
  • Understand the concepts of data structures including lists, stacks, queues, trees and graphs.
  • Implement the above-mentioned data structures using classes and objects.
  • Strengthen the ability to analyse and design algorithms.
  • Apply the design strategies like Divide and Conquer, Greedy Strategy, Dynamic Programming, Backtracking, and Branch and Bound.