← Programming & Computer Science Foundations
Python
Write real Python — from lists and OOP to Django apps, OpenCV, and browser automation
Build a solid foundation in Python — strings, lists, functions, and object-oriented programming — before moving into Tkinter GUIs, PostgreSQL-backed database apps, and web development with Django and Flask. Along the way you'll scrape websites, automate tasks with Selenium, work with OpenCV, and even build a socket-based chat application.
per level · 3 levels · complete programme ₹28,900
- Duration
- 7 mo
Fees by level
Start at any level, or take the complete programme. The fee you pay for a level is locked for you.
| Level | What it covers | Duration | Fee |
|---|---|---|---|
| Beginner | Start from zero | 2 mo | ₹6,800 |
| Intermediate | Build working projects | 2 mo | ₹8,600 |
| Advanced | Get job-ready | 3 mo | ₹13,500 |
| Complete programme (all levels) | ₹28,900 | ||
All fees are in Indian Rupees and include applicable taxes. See our pricing & payment terms.
The complete curriculum
This is the entire syllabus — all 26 modules and 365 lessons, in the order you'll learn them. Nothing hidden.
↓ Download full curriculum (PDF)01 Introduction 3 lessons ▶
- 1.1Installing Python
- 1.2Installing Pycharm
- 1.3Introduction to programming & Python
02 Python Basics 15 lessons ▶
- 2.1Literals
- 2.2Variables
- 2.3Keywords
- 2.4Primitive Datatypes
- 2.5Basic operations with strings
- 2.6Type conversion - int, float, str
- 2.7Type conversion - boolean
- 2.8Arithmetic & Assignment Operators
- 2.9Comparison & Logical Operators
- 2.10Associativity & Precedence of operators
- 2.11Printing to console - the print() function
- 2.12Taking input from user - the input() function
- 2.13Getting started with PyCharm
- 2.14Numeric functions
- 2.15Coding exercises
03 Strings in Python 5 lessons ▶
- 3.1Slicing in strings
- 3.2fstring in Python
- 3.3Escape sequences
- 3.4Operations on strings - membership, strip, replace
- 3.5Operations on strings - count, cases, start, end
04 Lists in Python 6 lessons ▶
- 4.1Lists Introduction
- 4.2List operations - slicing, concat, repeat, append, insert
- 4.3List operations - extend, remove, pop
- 4.4List operation - reverse, sort, count, membership
- 4.5Numerical operations on list elements
- 4.6Nested lists
05 Tuples, Sets & Dictionaries 12 lessons ▶
- 5.1Introducing tuples
- 5.2Basic operations on tuples
- 5.3Lists are mutable! Tuples are not
- 5.4Introducing sets
- 5.5Basic operations on sets
- 5.6Operations on sets - union, intersection, difference
- 5.7Is my set frozen!
- 5.8Introducing dictionaries
- 5.9Operations on dict - updating and deleting
- 5.10Working with keys & values
- 5.11Is the copy shallow or deep
- 5.12for loop
06 Control Statements 5 lessons ▶
- 6.1The if block
- 6.2if else block
- 6.3if-elif-else
- 6.4Nested if statements
- 6.5The ternary Operator
07 Loops 15 lessons ▶
- 7.1for loop
- 7.2For loops with strings and dict
- 7.3The range() function
- 7.4Total, highest and lowest using loops
- 7.5continue and break
- 7.6The while loop
- 7.7Infinite while loop
- 7.8random module
- 7.9Nested loops
- 7.10Star pattern using for loops
- 7.11Exersice - Roll a dice
- 7.12Exercise - List & Loops
- 7.13Exercise - Loops & dictionaries
- 7.14Number guessing game - problem
- 7.15Number guessing game - solution
08 Functions & Modules 16 lessons ▶
- 8.1Introduction to functions
- 8.2User defined functions
- 8.3Returning values from function
- 8.4Types of arguments
- 8.5Variable length positional arguments
- 8.6Variable length keywords arguments
- 8.7Docstrings in Python functions
- 8.8Recursive functions
- 8.9Local and Global variables
- 8.10Function as an argument
- 8.11Lambda function
- 8.12filter() and map() with lambda
- 8.13Modules in Python
- 8.14User defined modules
- 8.15What is __name__
- 8.16A Simple banking application
09 File handling & Exception handling 14 lessons ▶
- 9.1Introduction to File handling
- 9.2Creating files
- 9.3The w mode
- 9.4Reading files
- 9.5Appending into a file
- 9.6The with statement
- 9.7Check if a file exists
- 9.8Common issues with file handling
- 9.9Exception and try-except
- 9.10Exception handling - else & finally
- 9.11Raising exceptions
- 9.12The json module
- 9.13Pickle and exception handling
- 9.14The pickle module
10 Regular Expression 9 lessons ▶
- 10.1Introduction to RegEx
- 10.2The dot metacharacter and character classes
- 10.3Special characters in regex
- 10.4Quantifiers
- 10.5More metacharacters in regex
- 10.6Finding all matches - findall, finditer
- 10.7Substituting the pattern - sub()
- 10.8The compile function
- 10.9Exercise - Finding valid emails
11 Object Oriented Programming 24 lessons ▶
- 11.1Introduction to OOPs
- 11.2What are classes and objects
- 11.3Creating classes and objects
- 11.4What are attributes
- 11.5Instance methods
- 11.6Arguments in instance methods
- 11.7Initializer and Instance variables
- 11.8Class variables
- 11.9class methods
- 11.10static methods
- 11.11Mini Project - Phone Book Part - 1
- 11.12Mini Project - Phone Book Part - 2
- 11.13Inheritance introduction and single inheritance
- 11.14Single inheritance and initialization
- 11.15Single inheritance - arguments
- 11.16Multiple Inheritance
- 11.17Multilevel inheritance
- 11.18Introduction to polymorphism
- 11.19Polymorphism - operator overloading
- 11.20Polymorphism - method overloading
- 11.21Polymorphism - method overriding
- 11.22Introduction of encapsulation and abstraction
- 11.23Abstract class
- 11.24Custom exception classes
12 Tkinter 12 lessons ▶
- 12.1Introduction to GUI and tkinter
- 12.2Label, title, minsize, pack
- 12.3Button and change label text
- 12.4The Entry component
- 12.5What is ttk
- 12.6Quitting the window
- 12.7Frames and background colors
- 12.8Text, Separator and padding
- 12.9Checkbutton widget
- 12.10Radiobutton widget
- 12.11Checkbox and Listbox
- 12.12Spinbox widget
13 CALCULATOR USING TKINTER 3 lessons ▶
- 13.1Calculator(1)
- 13.2Calculator(2)
- 13.3Calculator(3)
14 Building Database Apps with PostgreSQL & Python 15 lessons ▶
- 14.1Introduction to data
- 14.2Introduction to database
- 14.3Introduction to PostgreSQL
- 14.4Installing PostgreSQL
- 14.5Creating a database
- 14.6Deleting a database
- 14.7Creating table and adding data
- 14.8Retrieving data from database and deleting contents in the table
- 14.9Setting up virtualenv
- 14.10Installing psycopg2
- 14.11Connecting to the database
- 14.12Creating table using python
- 14.13Inserting the data using python
- 14.14Extracting the data from the database
- 14.15Adding the input from the user
15 DATA ANALYSIS 34 lessons ▶
- 15.1Data Analysis
- 15.2Installing Anaconda
- 15.3Libraries important properties
- 15.4Importing csv file
- 15.5Methods to view file
- 15.6Data cleaning
- 15.7Data Formatting
- 15.8Data normalization
- 15.9Data Normalization 2
- 15.10Binning
- 15.11Binning 2
- 15.12Value counts
- 15.13Boxplot and Scatterplot
- 15.14Groupby
- 15.15Pivot
- 15.16Heat map 1
- 15.17Heat map 2
- 15.18ANOVA
- 15.19Correlation
- 15.20Correlation 2
- 15.21Simple Linear Regression
- 15.22Multiple Linear Regression
- 15.23Simple Linear Regression using python
- 15.24Multiple Linear Regression using python
- 15.25Regression Plot
- 15.26Residual plot
- 15.27Distribution plot 1
- 15.28Distribution plot 2
- 15.29Polynomial Regression 1
- 15.30Polynomial Regression 2
- 15.31In Sample Evaluation
- 15.32Mean Squared Error
- 15.33R Squared 1
- 15.34R Squared 2
16 Django 64 lessons ▶
- 16.1Introduction to Django
- 16.2Install Django
- 16.3Django Project Structure
- 16.4Creating a new django project
- 16.5Understanding the Django project
- 16.6Start the development server
- 16.7Django Apps
- 16.8Urls & Views
- 16.9Building a blog website
- 16.10Adding home page and other urls & views
- 16.11Dynamic Path Segments
- 16.12Path converters
- 16.13Slugs
- 16.14Returning html content as response
- 16.15Making the code more dynamic
- 16.16Named urls & reverse()
- 16.17Introduction to Templates
- 16.18Creating & using templates
- 16.19Registering Templates
- 16.20Rendering templates - best practice
- 16.21DTL & variable injection - 1
- 16.22DTL & variable injection - 2
- 16.23Template filters
- 16.24Template tags and the 'for' tag
- 16.25Url tag
- 16.26The if tag
- 16.27Inheritance in templates - 1
- 16.28Inheritance in templates - 2
- 16.29The include tag - 1
- 16.30The include tag - 2
- 16.31The 404 template
- 16.32Static files
- 16.33Global static files
- 16.34Adding content to home page - 1
- 16.35Adding content to home page - 2
- 16.36Adding images
- 16.37Changes to allposts page - 1
- 16.38Changes to allposts page - 2
- 16.39Changing the post data in views
- 16.40Making index.html dynamic
- 16.41The include tag revisted
- 16.42Generating url for allposts
- 16.43Fixing individual post page
- 16.44Data & Models
- 16.45Migrations
- 16.46Relationships
- 16.47Adding more models & relationships
- 16.48Admin panel & adding models to it
- 16.49Addind data via admin
- 16.50Configuring the admin panel
- 16.51Auto-populating the slug field
- 16.52Quering data from DB - 1
- 16.53Quering data from DB - 2
- 16.54Quering data from DB - 3
- 16.55Forms
- 16.56The Form class
- 16.57Configuring the form
- 16.58Saving the form data - 1
- 16.59CSRF token
- 16.60Handling the submitted data - 1
- 16.61Handling the submitted data - 2
- 16.62Saving the form data
- 16.63Displaying the comment on the post
- 16.64Handling comments via admin & Conclusion
17 FLASK 13 lessons ▶
- 17.1Introduction to flask
- 17.2Installation of Flask
- 17.3Basic webpage 1
- 17.4Basic webpage 2
- 17.5Importing HTML files using Flask
- 17.6Basic Registration form
- 17.7Basic Registration form 2
- 17.8Basic Registration form 3
- 17.9Redirecting using Hyperlinks
- 17.10Redirecting using Hyperlinks 2
- 17.11Adding images to Flask
- 17.12Template Inheritance
- 17.13Styling the website
18 REST API's USING DJANGO 12 lessons ▶
- 18.1API's and REST API's
- 18.2Hello world using REST API's
- 18.3Creating model in the admin
- 18.4Posting API's
- 18.5Segregating into pages
- 18.6Setting an authentication
- 18.7Adding username to the posts
- 18.8Adding permissions
- 18.9Filtering based on usernames
- 18.10Search Filter
- 18.11Filtering based on the date
- 18.12Ordering filters
19 WEB SCRAPING 20 lessons ▶
- 19.1Intro to Web Scraping
- 19.2Unicode and ASCII
- 19.3Retrieving content from webpages
- 19.4Getting the data
- 19.5Stating the data using dictionaries
- 19.6Content
- 19.7Text
- 19.8Posting the data
- 19.9Params
- 19.10Filtering the data 1
- 19.11Filtering the data 2
- 19.12Filtering the data 3
- 19.13Filtering the data 4
- 19.14To csv file
- 19.15Downloading images 1
- 19.16Downloading images 2
- 19.17Downloading images 3
- 19.18Downloading images 4
- 19.19Price Tracer 1
- 19.20Price Tracer 2
20 OPEN CV 22 lessons ▶
- 20.1Images
- 20.2Installing open-cv
- 20.3CV and OpenCV
- 20.4Reading an image
- 20.5Writing an image
- 20.6Resizing an image
- 20.7Morphological operations
- 20.8Morphological operations 2
- 20.9Flipping an image
- 20.10Resizing an image based on the aspect ratio
- 20.11Resizing an image based on aspect ratio 2
- 20.12Adding shapes and text
- 20.13Shifting an image
- 20.14Image Rotation
- 20.15Thresholding
- 20.16Gaussian blur
- 20.17Median blur
- 20.18Bilateral filter
- 20.19Edge Detection
- 20.20Reading a video
- 20.21Writing a video
- 20.22Accessing the webcam
21 AUTOMATION WITH SELENIUM 9 lessons ▶
- 21.1Installation
- 21.2Opening a url
- 21.3Automating Google search
- 21.4Automating navigations
- 21.5Finding element by different methods
- 21.6Selecting links
- 21.7Refreshing the page
- 21.8Finding element by xpath
- 21.9Getting data
22 Building A Facebook Auto Poster 1 lesson ▶
- 22.1Building A Facebook Auto Poster
23 TIPS AND TRICKS IN PROGRAMMING 4 lessons ▶
- 23.1Tips to become a good programmer
- 23.2Logical Thinking
- 23.3Tips Techniques 1
- 23.4Tips Techniques 2
24 Network Programming In Python Using Sockets : Building A Chat Application 9 lessons ▶
- 24.1IP Address
- 24.2Ports & Sockets
- 24.3Creating A Client
- 24.4Sending Messages
- 24.5Using Buffer
- 24.6Building The Messaging Functionality
- 24.7Sending Messages To Client
- 24.8Programming Send Functionality
- 24.9Completing Our Chat App
25 Miscellaneous Content 9 lessons ▶
- 25.1Updating entries in Django with UpdateView
- 25.2Bootstrap part 1: Introduction To Bootstrap
- 25.3Bootstrap Part 2: Adding Bootstrap To Our Site
- 25.4Bootstrap Part 3: Bootstrap Grid System
- 25.5Bootstrap Part 4: Grid Classes Part 1
- 25.6Bootstrap Part 5: Grid Classes Part 2
- 25.7Bootstrap Part 6: Grid Column Offset
- 25.8Bootstrap Part 7: Making Images Responsive
- 25.9Bootstrap Part 8: Nesting of Rows & Columns
26 Regular Expressions Revisited 14 lessons ▶
- 26.1Introduction to Regular Expressions & Raw Strings
- 26.2Search & Match Methods
- 26.3Introduction To Meta Characters
- 26.4Star Meta Character
- 26.5Introduction To Plus Meta Character
- 26.6Plus Meta Character Example
- 26.7Introduction To Curly Braces
- 26.8Curly Braces Example
- 26.9Introduction To Wildcard
- 26.10Wildcard Example
- 26.11Optional Meta Character
- 26.12Caret Meta Character
- 26.13Character Classes Part 1
- 26.14Character Classes Part 2
Tools you'll use
Every course includes
Related courses
C++
Master C++ fundamentals — OOP, STL, and file streams — with hands-on practice
Competitive Programming
Sharpen your competitive programming edge with STL, graphs, and dynamic programming
DBMS
Database fundamentals through Oracle SQL, PL/SQL, and transaction management