We may earn an affiliate commission when you visit our partners.
Abdul Bari

Learn Python Programming - course is curated for Beginner to Master.

Every topic is covered in depth with practical examples.

100+ Challenges to make you expert in Problem Solving using Python

By the end of the course you will understand Python extremely well and will be able to build your own Python applications.

Resources are available for every lectures.

Answer Quiz at the end of major topics, to feel confident.

Do Projects using Tkinter, GUI Programming.

Use Laptop or PC to learn and practice Python.

Read more

Learn Python Programming - course is curated for Beginner to Master.

Every topic is covered in depth with practical examples.

100+ Challenges to make you expert in Problem Solving using Python

By the end of the course you will understand Python extremely well and will be able to build your own Python applications.

Resources are available for every lectures.

Answer Quiz at the end of major topics, to feel confident.

Do Projects using Tkinter, GUI Programming.

Use Laptop or PC to learn and practice Python.

IDLE is used for demonstrating the concepts and PyCharm is used for Developing Programs. You can use any IDE, of your choice.

Course Content:

  • Fundamental Concepts and Features of Python

  • Learn to use PyCharm, Jupyter Notebook and IDLE.

  • Explore Numeric DataTypes

  • Conditional and Loop Statements

  • Explore Advance Datatypes - List, Tuple, Set, Dictionary

  • Write Error-free Programs by Handling Exception

  • Multithreaded Programs

  • More and more about Functions

  • Object-Oriented Programming

  • File Handling and CSV Files

  • Database Programming using Sqlite

  • Modules

    • Data Structures

    • Date and Time

    • OS

    • Math

    • NumPy

  • GUI Programming using Tkinter

  • Do Projects in GUI Programming

You can always ask Questions in Q&A section. you can find Q&A section under each video lecture.

Every Lecture contains notes in Resources.

Enroll now

What's inside

Learning objectives

  • Master python programming by doing 100+ challenges
  • Detail understanding of fundamentals
  • Build multithreaded applications
  • Using python for database programming
  • Build gui applications
  • Master art of functional and object-oriented programming
  • Learn modules - datastructure, os, numpy, math, datetime and tkinter

Syllabus

Introduction to Python
Instructor's Note
Types of Programming Languages
Compiler Vs Interpreter
Read more
How a Python Program Runs?
Python: Platform Independent
Programming Methodologies
Features of Python
Areas of Programming
Python Installation and Setup
Installing Python
Installing Pycharm
Installing VS Code
Installing and using Jupiter Notebook
Python Datatypes
Section Introduction

Lecture Contents : 

  • How Variables are Created

  • What Information does a Variable Holds

  • How Names are given to Data (Variable Name) 

Lecture Contents :

  • How Python  is Dynamically Typed

  • How to Know the Type of Any Variable

Lecture Contents :

  • Rules to Assign Variable Names

  • Defines What Identifiers and Keywords are

Lecture Contents :

  • Introduction to the Data Type Available in Python

Variables

Lecture Contents :

  • Numeric Data Types

  • int and float DataTypes Discussed in Detail.

  • What is  Mutable and Immutable DataType

Lecture Contents :

  • Continuation on Numeric Data Type ( Boolean  , Complex)

Lecture Contents :

  • What is a  Literal

  • How Literals are Assign to  int , float , bool  , complex and  string Data Type

Lecture Contents :

  • Continuation of Literals ( Decimal , Binary , Octal , Hexa)

  • Discussion on int , float , complex

  • A Glance on TypeCasting and User Input

Numeric type & Literals

Lecture Contents :

  • How Base Conversions Works by Using bin( )  oct( ) and hex( )

Lecture Contents :

  • How  One Data Type is Converted to Another Data Type  

  • Types of Type Conversion  :

    1. Implicit

    2. Explicit

Type and Base conversions
Operators and Expression

Lecture Contents :

  • All  About  Arithmetic Operators ( + ,  - ,    * ,  ** ,    / ,  // , %  )

Lecture Contents :

  • Expressions (Operator Precedence) and Associativity

Arithmetic Operators and Expressions

Lecture Contents :

Coding Challenges for Student Using Expressions

  • Challenge 1 : To Find Area of a Rectangle

  • Challenge 2 : To Find Area of a Triangle

  • Challenge 3 : To Find Area of Trapezium

  • Challenge 4 : Displacement

Lecture Contents :

Coding  Challenges for Students Using if ,  else ,  Relational Operator

  • Challenge 1 : Finding Area of a Triangle

  • Challenge 2 : Finding Area of a Trapezium

  • Challenge 3 : Calculating Displacement

Lecture Contents :

Coding Challenges for Students Using if , else

  • Challenge 1 : Converting kms to Miles

  • Challenge 2 : Finding Area of a Circle

Lecture Contents :

Coding Challenge for Student Using Expressions , if  , else

  • Challenge : To Find Total Surface Area of Cuboid

Lecture Contents :

Coding Challenge for Students Using Expressions , if , else

  • Challenge : Finding Roots of Quadratic Equations


Lecture Contents :

  • Assignment Arithmetic Operators

  • +=  ,  -=  ,  *=  ,  %=  ,  \\=  ,  **=   , etc...

Lecture Contents :

  • A Detailed Explanation of Arithmetic Operators on all Datatypes

Arithmetic Assignment Operators
Conditional Statements

Lecture Contents :

  • Conditional Statements( if, else )

  • Relational Operators

Lecture Contents :

  • Expressions ( AND , OR , NOT )

Lecture Contents :

Coding Challenge  for Student Using  if , else , relational operator

  • Challenge 1 : To Find Difference Between Two Numbers

  • Challenge 2 : To Check if Number is Odd or Even

  • Challenge 3 : To Check for Age Eligibility , for Casting a Vote


Lecture Contents :

Coding Challenges for Students Using if else Condition

  • Challenge 1 : To Check if Marks of Subject are Within Range (0-100)

  • Challenge 2 : To Check if a Person is Male or Female

  • Challenge 3 : To Check if a Person is Eligible to Work


Lecture Contents :

Coding Challenges for Students Using if , else

  • Challenge 1 : To Check if a Student has Passed or Failed, by Taking Marks in 3 Subjects

  • Challenge 2 : To Check if a Person is Authorised  for Admin Access

  • Challenge 3 : To  Check if a Given Lower Case Character is a Vowel or Consonant

Lecture Contents  :

  • Nested if , elif

  • Explains how elif is Useful Over Nested if

Lecture Contents :

Coding Challenge for Student ,  elif (Coding)

  • Challenge : To Calculate Discounted Amount


Lecture Contents :

Coding Challenge for Student Using elif

  • Challenge : To Display the Name of a Day by Taking Day Number

Lecture Contents :

Coding Challenge for Student Using elif

  • Challenge : To Check Whether a Year is Leap or Not

Lecture Contents :

  • Explanation on Relational Operator in Detail 

  • Working of   < ,  <= , > , >= , ==  , !=  with  Numeric Data Type

Lecture Contents :

  • Logical Operators ( AND , OR , NOT )

  • Whether Logical Operator Works on Boolean Type

  • Short Circuit.

Lecture Contents :

  • Bitwise Operators

  • AND , OR , XOR , Complement  >>  , <<

  • Explanation on How to Use Bitwise Operator

Lecture Contents :


  • is  ,  is not  Explanation

  • Various Examples to check Working of is ,  is not

Loops - Control Flow

Lecture Contents :

  • Introduction to Loops

  • while loop , for loop

  • Explanation while loop

Lecture Contents :

Coding Challenge for Student Using while loop

  • Challenge : To Display Multiplication Table for a Given Number

Lecture Contents :

Student Coding Challenges Using while loop

  • Challenge 1 : Counting Number of Digits in a Number

  • Challenge 2 : To Find Sum of Digits in a Number

  • Challenge 3 : Reversing a Number

  • Challenge 4 : To Check if Number is Palindrome or Not

Lecture Contents :

Coding Challenge for Student Using while loop

  • Challenge 1  :  To Find Sum of Given Number as Input

  • Challenge 2 :  To Find Sum of Positive and Negative Number

Lecture Contents :

Coding Challenge for Students Using while loop

  • Challenge 1 :  To Find Maximum  Number From the Given Numbers

  • Challenge 2 :  To Convert Decimal Number to Binary Number


Lecture Contents :

Coding Challenge for Student Using while loop

  • Challenge to Guess Numbers from 1 to 10

Loops

Lecture Contents :

Explanation About :

  • Infinite Loop

  • break statement

  • continue statement

  • pass statement


Lecture Contents :

  • else suite

  • Explains how else work's with while

Lecture Contents :

  • Introduction to for loop / for Each Loop

  • Working of for Loop

  • for Loop with Range Function

Lecture Contents :

Coding Challenges for Student Using for loop

  • Challenge 1 : To Display Multiplication Table for a Given Number

  • Challenge 2 : To Find the Factorial of a Given Number.

Lecture Contents :

Coding Challenges for Students

  • Challenge 1 : To Print n terms of AP series

  • Challenge 2 : To Print n terms of Fibonacci series

Lecture Contents :

Coding Challenges for Student Using for Loop

  • Challenge 1 :  To Find the Factors of a Number

  • Challenge 2 : To Check if a Number is Prime or Not

Lecture Contents :

  • break with for loop

  • continue with for loop

  • pass with for loop

Infinite - break , pass , for loop

Lecture Contents :

  • Introduction to Nested Loop

  • How to Write Nested Loop

Lecture Contents :

Coding Challenge for Student Using Nested Loop

  • challenge : To  Print Prime Numbers from 1 to 100

Lecture Contents :

Coding Challenge for Students

  • challenge : To Draw Patterns

  • Explain how Pattern can be Drawn Without Using Nested Loop

Lecture Contents :

  • What is Match Case

  • How Match Case Works

String and its Methods

Lecture contents :

  • Basics of strings

  • How to write string

  • What it contains

  • How it looks in memory

  • len()

  • for loop

  • String literals

Lecture contents :

  • Concatenation

  • Repetition

  • Indexing

  • Slicing

  • in

  • not in


Lecture contents :

  • Continuation of in, not in Operator

Introduction to Strings

Lecture contents :

  • Introduction to String Methods

  • What are Methods on Strings

  • How to know all Methods on Strings

  • What is the use of Help Method

Lecture contents :

  • How Strings are Stored

  • How to Call Methods

  • Methods : s.find , s.rfind , s.index , s.count

Lecture contents:

  • Continuation Methods :

  • s.ljust

  • s.rjust spacing

  • s.center

Lecture contents :

  • Will get to learn about Methods Related  to the Cases of Strings


Lecture contents :

  • Continuation of Methods:

  • isupper( )

  • islower( )

  • istitle( )

  • isalnum( )

  • isspace( )

  • isascii( )

Lecture contents :

Continuation of Methods :

  • isidentifier

  • isprintable

  • isdecimal

  • isdigits

  • Difference Between Decimal and Digits

Lecture contents :

Continuation Methods :

  • s.startswith

  • s.endswith

  • s.removesuffix

  • s.removeprefix

  • s.partition

  • s.r partition

Lecture contents :

Continuation of String Methods :

  • s.replace

  • s.join

  • s.split

  • s.rsplit

  • s.splitlines

Lecture Contents :

  • How to sort jumble letters in a string using sorted( ) method.

Lecture Contents :

  • Display the Data within 25 Letters in a given Format

Lecture Contents :

  • Take two Password inputs from user and check if they are same or not.

Lecture Contents :

  • Taking input as credit card number and displaying the results in such a way that only last 4 digits of the credit card number is readable.

Lecture Contents :

  • Find user ID and Domain Name from Email Address

Lecture Contents :

  • What is Palindrome and how can we convert a string into Palindrome.

Lecture Contents :

  • Find Day, Month and Year from Date where Date is in String Format.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Starts with fundamental concepts like data types and operators, which is helpful for learners who are new to programming or Python specifically
Covers GUI programming with Tkinter, enabling learners to build desktop applications with graphical user interfaces, which is a practical skill for software development
Includes modules like NumPy, which is essential for numerical computations and data analysis, and SQLite, which is useful for database management and application development
Offers 100+ coding challenges, which provides ample opportunity to practice and apply learned concepts, reinforcing understanding and building confidence in coding abilities
Uses PyCharm and Jupyter Notebook, which are industry-standard IDEs, but IDLE is also used, which may be less relevant to professional software development
Includes multithreading, which is an advanced topic that may be challenging for beginners without a solid foundation in basic programming concepts and data structures

Save this course

Save Learn Python Programming - Beginner to Master to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn Python Programming - Beginner to Master with these activities:
Review Basic Programming Concepts
Reinforce fundamental programming concepts like variables, data types, and control flow to build a solid foundation for learning Python.
Browse courses on Programming Fundamentals
Show steps
  • Review notes from introductory programming courses or tutorials.
  • Complete practice exercises on variables, data types, and operators.
  • Write simple programs using conditional statements and loops.
Review 'Python Crash Course'
Solidify your understanding of Python fundamentals by working through the examples and exercises in 'Python Crash Course'.
Show steps
  • Read the chapters covering basic Python syntax and data structures.
  • Complete the coding exercises at the end of each chapter.
  • Work through one of the larger projects in the book to apply your knowledge.
Solve Coding Challenges on Data Structures
Improve your problem-solving skills and understanding of data structures by tackling coding challenges on platforms like LeetCode or HackerRank.
Show steps
  • Choose a platform like LeetCode or HackerRank.
  • Select a set of problems focusing on lists, tuples, sets, and dictionaries.
  • Solve the problems, focusing on efficiency and code clarity.
  • Review solutions and learn from others' approaches.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Build a Simple Calculator Application
Apply your knowledge of Python fundamentals to create a functional calculator application, reinforcing your understanding of input/output, operators, and control flow.
Show steps
  • Design the user interface and functionality of the calculator.
  • Implement the calculator logic using Python code.
  • Test the calculator thoroughly to ensure it functions correctly.
  • Add error handling to handle invalid inputs.
Create a Python Cheat Sheet
Consolidate your understanding of Python syntax and concepts by creating a cheat sheet that you can reference later.
Show steps
  • Identify the key Python concepts and syntax you want to include.
  • Organize the information in a clear and concise format.
  • Include examples and explanations for each concept.
  • Share your cheat sheet with other learners for feedback.
Develop a GUI Application with Tkinter
Extend your Python skills by building a graphical user interface (GUI) application using Tkinter, applying your knowledge of GUI programming concepts.
Show steps
  • Choose a simple application to build, such as a to-do list or a simple game.
  • Design the GUI layout and functionality.
  • Implement the GUI using Tkinter widgets and event handlers.
  • Test the application thoroughly and refine the user interface.
Review 'Automate the Boring Stuff with Python'
Learn practical applications of Python by working through the automation projects in 'Automate the Boring Stuff with Python'.
Show steps
  • Select a few automation projects from the book that interest you.
  • Follow the instructions in the book to implement the projects.
  • Adapt the projects to your own needs and interests.

Career center

Learners who complete Learn Python Programming - Beginner to Master will develop knowledge and skills that may be useful to these careers:
Python Developer
A Python developer specializes in creating applications using the Python programming language. This course provides comprehensive training in Python, from basic concepts to advanced topics such as multithreading and object oriented programming. The course covers a wide array of topics, such as numeric data types, error handling, and file handling. The course also features database programming using SQLite, as well as GUI programming using Tkinter, all of which are relevant to the work of a Python developer. Through practical examples and numerous challenges, this course prepares learners for the various types of tasks they might encounter as a Python developer. The course's resources, quizzes, and projects ensure that learners acquire a deep understanding of Python.
Software Developer
A software developer builds applications, and this course helps build a foundation in Python, a popular language used in development. This course is designed for those from beginner to master, meaning that you will gain the fundamentals needed to start in this role. The course emphasizes practical examples, and the 100+ coding challenges can help a future software developer hone their problem-solving skills, which is essential in this line of work. You will also learn object oriented programming, multithreading, database programming, and GUI programming which are all relevant to this important role. Software developers often encounter complex problems that require detailed knowledge of a programming language. The course's in depth coverage helps to prepare learners for those challenges.
Software Engineer
A software engineer designs and develops software systems, and this course helps build a strong foundation in Python, a versatile language used in many engineering projects. Software engineers need to deeply understand programming concepts, and this course is designed to help learners go from beginner to master. The course covers the fundamentals and advanced features of Python, both of which are relevant to the needs of software engineering. The 100+ coding challenges and many practical examples help a software engineer to problem solve, which is a crucial skill in their day-to-day work. The course's focus on object oriented programming, multithreading, and database programming are useful in the practical world of software engineering.
Backend Developer
A backend developer is responsible for server-side logic, databases, and APIs, and this course can be useful to those wishing for this role. The course's comprehensive coverage of Python, including database programming and file handling, is particularly relevant. The course helps build a strong foundation in software development, and it covers the fundamentals of programming concepts. The database programming using SQLite and the course's in-depth look at error-handling are useful to a backend developer. The course's many hands on challenges help the learner gain confidence by applying all that is learned. Through this course, a backend developer will be able to build well-structured and scalable server side logic.
Database Administrator
A database administrator manages and maintains databases. This course is useful because it contains a section on database programming using SQLite. A database administrator needs to be familiar with interacting with databases through code. The course also covers the fundamentals of programming and introduces key concepts that will help a database administrator automate many of their tasks. The course's hands-on approach with many exercises, quizzes and projects helps a learner gain the practical experience necessary to succeed in this role. By mastering Python in this course, a database administrator can gain experience in database programming.
Full-Stack Developer
A full stack developer works on both the front end and back end of applications, and this course can provide a strong foundation for the back end components. This course in Python will help a learner understand much of the logic, database handling, and other backend work relevant to this role. The course also touches on GUI programming, which is useful for understanding front end components. The course helps to build a foundation in fundamental concepts, to problem solving, and to application development. This course's many exercises, quizzes, and projects help a full stack developer become proficient at all levels of development. By taking this course, learners can build knowledge of both the front and back end.
Web Developer
A web developer creates websites and web applications. While Python is mainly used on the back end, this course can be useful to those who wish to use Python on a web server. The full range of the course content, from fundamental concepts to advanced topics, helps the learner build a strong understanding of the language. The course's practical approach, with numerous challenges and projects, helps a web developer apply the knowledge in real-world situations. Topics such as database programming and file handling will also be helpful when building web applications. The skills and knowledge taught in the course are very relevant to the web development field.
Game Developer
A game developer creates video games, and this course can be useful to those who use Python as a primary or secondary language. The course teaches the fundamental concepts of programming, and it also helps a learner build a foundation using the Python language. The course includes GUI programming using Tkinter, which is often used to prototype game interfaces. The problem-solving skills built in this course can be useful for designing game mechanics and logic. Furthermore, the course's focus on practical exercises, challenges, and projects prepares a game developer with the coding skills needed to build games. The knowledge of object-oriented programming and multithreading can be used to create a better gaming experience.
Data Scientist
Data scientists analyze complex data and extract meaningful insights, and this course may be useful to those in the field. Proficiency in Python is crucial in data science, and this course offers a thorough introduction to the language. This course also covers relevant libraries such as NumPy. Furthermore, the course teaches skills in problem solving. Data scientists use these skills to process data. The fundamental concepts taught in the course help a data scientist write clean and efficient code. The course's focus on practical application is beneficial for those who seek to work with real-world datasets. The skills in this course help the learner write programs to conduct data analysis.
Data Analyst
A data analyst interprets data to find trends and insights, and programming skills are often very useful in this field. This course may be helpful for a data analyst to learn the Python programming language. This course provides a thorough introduction to the language and its applications, which can help a learner build skills in data manipulation, analysis, and visualization. The course also covers relevant modules such as NumPy. The problem-solving skills built in this course can be useful when processing raw data. Through this course, a data analyst can learn to write code to extract insightful data from raw information.
Machine Learning Engineer
A machine learning engineer develops machine learning systems, and this course may be useful to those who use Python as part of this role. The course provides a strong foundation in Python, which is the primary language used in most machine learning applications. The course also teaches coding best practices, and it covers the use of libraries and modules. The course will help you learn the many programming concepts required to begin this role. The course's coverage of multithreading and object-oriented programming will be useful when building machine learning models. This course provides the basic skills required for a machine learning engineer to begin in this field.
Quantitative Analyst
A quantitative analyst uses mathematical and statistical methods to analyze financial markets, and Python is often a necessary skill for the role. This course on Python may be useful to those working in this field. The course will help you build the foundation of programming skills, which will help in writing code for quantitative analysis. The course explores programming concepts, including the use of modules such as NumPy, which is used in many types of quantitative finance. Problem solving exercises featured in this course are crucial to a quantitative analyst when building financial models. With a deep dive into Python, this course helps you prepare for a career in this field.
Automation Engineer
An automation engineer seeks to create automated systems or processes, and this course may be useful to those in the field. This course will help you understand how to write code and use programming logic in Python. The course teaches multithreaded programming which is crucial for many automation tasks. Furthermore, courses in object oriented programming, and use of modules can also help an automation engineer build complex systems with well organized code. Automation engineers must adapt to different systems, and this course teaches how to do that in Python. With numerous challenges, this course helps build skills in designing solutions to a variety of problems.
Research Scientist
A research scientist conducts scientific investigations and analysis, and programming skills are often helpful to this role. This course can be useful to those research scientists who use Python programming for data analysis, simulation, or automation of experiments. The course's intensive training in Python, including its modules and data structures, is useful for building analysis tools. The object-oriented programming skills and problem solving experience gained in this course can help a research scientist organize their code. The course's emphasis on foundational concepts can help a scientist write code for a variety of scientific applications. The focus on practical applications will prove useful when conducting scientific research.
Mobile App Developer
A mobile app developer creates applications for mobile devices, and this course provides skills that may be useful to those using Python in app development. This course provides a foundation for those wanting to learn Python, and it helps to build a strong understanding of programming concepts. The course includes relevant modules, libraries, GUI programming, and database programming that may be useful when building mobile applications. Though Python may not be the most common language for mobile development, this course will still be helpful providing the skills needed to build a foundation in programming and logical thinking. This course will help new app developers in particular.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn Python Programming - Beginner to Master.
Python Crash Course is an excellent introductory book for Python programming. It covers the fundamentals of Python in a clear and concise manner, making it ideal for beginners. The book includes numerous hands-on projects that allow you to apply what you've learned. It is particularly useful for solidifying your understanding of basic syntax and data structures before diving into more advanced topics.
'Automate the Boring Stuff with Python' practical guide to using Python to automate everyday tasks. It covers a wide range of topics, including web scraping, working with files, and automating email. is particularly useful for learning how to apply Python to real-world problems and improving your efficiency. It serves as excellent additional reading to the course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser