Core Python Syllabus


1: INTRODUCTION TO PYTHON
  • Features of Python
  • Python Virtual Machine (PVM)
  • Frozen Binaries
  • Memory management in Python
  • Garbage collection in Python
2: WRITING OUR FIRST PYTHON PROGRAM
  • Writing our first Python program
  • Executing a Python program
  • Getting help in Python
  • Reopening the Python program in IDLE
3: DATATYPES IN PYTHON
  • Comments in Python
  • Docstrings
  • How Python sees variables
  • Datatypes in Python
  • Built-in datatypes
  • bool datatype
  • Sequences in Python
  • Sets
  • Literals in Python
  • Determining the datatype of a variable
  • characters in Python
  • User-defined datatypes
  • Constants in Python
  • Identifiers and Reserved words
  • Naming conventions in Python
4: OPERATORS IN PYTHON
  • Arithmetic operators
  • Using Python interpreter as calculator
  • Assignment operators
  • Unary minus operator
  • Relational operators
  • Logical operators
  • Boolean operators
  • Membership operators
  • Identity operators
  • Operator precedence and associativity
  • Mathematical functions
5: INPUT AND OUTPUT
  • Output statements
  • Various formats of print()
  • Input statements
  • Command line arguments
6: CONTROL STATEMENTS
  • if statement
  • if ... else statement
  • if ... elif ... else statement
  • for loop
  • Infinite loops
  • Nested loops
  • break statement
  • continue statement
  • pass statement
  • assert statement
  • return statement
7: ARRAYS IN PYTHON
  • Creating an array
  • Importing the array module
  • Indexing and slicing on arrays
  • Types of arrays
  • Working with arrays using numpy
  • Creating arrays using linspace
  • Creating arrays using logspace
  • Creating arrays using arange() function
  • Creating arrays using zeros() and ones() functions
  • Mathematical operations on arrays
  • Comparing arrays
  • Aliasing the arrays
  • Viewing and Copying arrays
  • Slicing and indexing in numpy arrays
  • Dimensions of arrays
  • Attributes of an array
  • reshape()
  • flatten()
  • Working with Multi dimensional arrays
  • The array() function
  • ones() and zeros() functions
  • eye() function
  • reshape() function
  • Indexing in multi dimensional arrays
  • Slicing the multi dimensional arrays
  • Matrices in numpy
8: STRINGS AND CHARACTERS
  • Creating strings
  • Length of a string
  • Indexing in strings
  • Repeating the strings
  • Concatenation of strings
  • Checking membership
  • Comparing strings
  • Removing spaces from a string
  • Finding sub strings
  • Strings are immutable
  • Replacing a string with another string
  • Splitting and joining strings
  • Changing case of a string
  • Checking starting and ending of a string
  • String testing methods
  • Formatting the strings
  • Sorting strings
9: FUNCTIONS
  • Defining a function
  • Calling a function
  • Returning results from a function
  • Returning multiple values from a function
  • Functions are first class objects
  • Pass by object reference
  • Formal and actual arguments
  • Positional arguments
  • Default arguments
  • Variable length arguments
  • Local and global variables
  • The global keyword
  • Passing a group of elements to a function
  • Recursive functions
  • Lambdas
  • Using lambdas with filter() function
  • Using lambdas with map() function
  • Using lambdas with reduce() function
  • Function decorators
  • Generators
  • Structured programming
  • Creating our own modules in Python
  • The special variable __name__
10: LISTS AND TUPLES
  • Creating lists using range() function
  • Updating the elements of a list
  • Concatenation of two lists
  • Repetition of lists
  • Membership in lists
  • Aliasing and cloning lists
  • Methods to process lists
  • Nested lists
  • List comprehensions
  • Tuples
  • Creating tuples
  • Accessing the tuple elements
  • Basic operations on tuples
  • Functions to process tuples
  • Nested tuples
11: DICTIONARIES
  • Operations on dictionaries
  • Dictionary methods
  • Using for loop with dictionaries
  • Sorting the elements of a dictionary using lambdas
  • Converting lists into dictionary
  • Converting strings into dictionary
  • Ordered dictionaries

Advanced Python Syllabus


    12: INTRODUCTION TO OOPS
    • Problems in Procedure Oriented Approach
    • Features of Object Oriented Programming System (OOPS)
    • Classes and objects
    • Encapsulation
    • Abstraction
    • Inheritance
    • Polymorphism

    13: CLASSES AND OBJECTS
    • self variable
    • Constructor
    • Types of variables
    • Namespaces
    • Types of methods
    • Passing members of one class to another class
    • Inner classes

    14: INHERITANCE AND POLYMORPHISM
    • Constructors in inheritance
    • Overriding super class constructors and methods
    • super() method
    • Types of inheritance
    • Method Resolution Order (MRO)
    • Duck typing philosophy of Python
    • Operator overloading
    • Method overloading
    • Method overriding

    15: ABSTRACT CLASSES AND INTERFACES
    • Abstract Method and Abstract Class
    • Interfaces in Python
    • Abstract Classes vs. Interfaces

    16: EXCEPTIONS
    • Errors in a Python program
    • Exceptions
    • Exception handling
    • Types of exceptions
    • The except block
    • assert statement
    • User- defined exceptions
    • Logging the exceptions

    17: FILES IN PYTHON
    • Types of files in Python
    • Working with text files with strings
    • Knowing whether a file exists or not
    • Working with binary files
    • Pickle in Python
    • seek() and tell()
    • Random accessing of binary files
    • Random accessing of binary files using mmap
    • Zipping and Unzipping files
    • Running other programs from Python program

    18: REGULAR EXPRESSIONS IN PYTHON
    • Sequence characters in regular expressions
    • Quantifiers in regular expressions
    • Special characters in regular expressions
    • Using regular expressions on files
    • Retrieving information from a HTML file

    19: DATE AND TIME
    • The epoch
    • Date and time now
    • Combining date and time
    • Formatting dates and times
    • Finding durations using timedelta
    • Comparing two dates
    • Sorting dates
    • Stopping execution temporarily
    • Knowing the time taken by a program
    • Working with calendar module

    20: THREADS
    • Difference between process and thread
    • Concurrent programming and GIL
    • Uses of threads
    • Creating threads in Python
    • Thread class methods
    • Single tasking using a thread
    • Multi tasking using multiple threads
    • Thread synchronization
    • Avoid deadlocks in a program
    • Communication between threads
    • Thread communication using nofity() and wait() methods
    • Thread communication using a queue
    • Daemon threads

    21: GRAPHICAL USER INTERFACE
    • GUI in Python
    • the root window
    • Fonts and colors
    • Working with containers
    • Canvas
    • Frame
    • Widgets
    • Button widget
    • Label widget
    • Message widget
    • Text widget
    • Scrollbar widget
    • Checkbutton widget
    • Radiobutton widget
    • Entry widget
    • Spinbox widget
    • Listbox widget
    • Menu widget

    22: NETWORKING IN PYTHON
    • TCP/IP Protocol
    • User Datagram Protocol (UDP)
    • Sockets
    • Knowing IP Address
    • Reading the source code of a web page
    • Downloading a web page from Internet
    • Downloading an image from Internet
    • TCP/IP Server and Client
    • UDP Server and Client
    • File server
    • File client
    • Sending a simple mail

    23: PYTHON'S DATABASE CONNECTIVITY
    • Advantages of a DBMS over files
    • Working with MySQL database in Python
    • Operations on rows of a table
    • Creating database tables through Python
    • Working with Oracle database in Python
    • Stored procedures

    24: DATA SCIENCE IN PYTHON
    • Introduction to data science
    • What is data science?
    • Data Frame
    • Data Analysis
    • Data visualization
    • Line chart, bar diagram, histogram, pie chart

    25:JSON
    • Introduction to JSON
    • Using Python data in Python Program
    • Using Python data in Java Program

    26: RUNNING PYTHON SCRIPTS IN THE WEB SERVER
    • Configuring Tomcat Apache web server
    • Running Python scripts