Live Lectures 1-16
Python has a simple syntax similar to the English language. Python has syntax that allows developers to write programs with fewer lines than some other programming languages. Python runs on an interpreter system, meaning that code can be executed as soon as it is written.
Live Lecture
· What is Language?
· Types of languages
· Introduction to Translators
· Compiler
· Interpreter
· What is Scripting Language?
· Types of Script
· Programming Languages v/s Scripting Languages
· Difference between Scripting and Programming languages
· What is programming paradigm?
· Procedural programming paradigm
· Object Oriented Programming paradigm
· Introduction to Python
· What is Python?
· Features-Dynamic, Interpreted, Object oriented, Embeddable, Extensible, Large standard libraries, Free and Open source
· Why Python is General Language?
· Limitations of Python
· What is PSF?
· Python implementations
· Python applications
· Python versions
· Software Development Architectures
· Practical Exercise(60 min)
Live Lecture
· Python Software’s
· Python Distributions
· Download &Python Installation Process in Windows, Unix, Linux and Mac
· Online Python IDLE
· Python Real-time IDEs like Spyder, Jupyter Note Book, PyCharm, Rodeo, Visual Studio Code, ATOM, PyDevetc
· Practical Exercise(60 min)
Live Lecture
· Python Language Fundamentals
· Keywords
· Identifiers
· Constants / Literals
· Data types
· Python Syntax
· Practical Exercise(60 min)
Live Lecture
· Different Modes of Python
· Interactive Mode
· Scripting Mode
· Programming Elements
· Structure of Python program
· First Python Application
· Comments in Python
· Python file extensions
· Setting Path in Windows
· Edit and Run python program without IDE
· Edit and Run python program using IDEs
· Programmers View of Interpreter
· What is Byte Code in PYTHON?
· Python Debugger
· Practical Exercise(60 min)
Live Lecture
· Python Variables
· bytes Data Type
· byte array
· String Formatting in Python
· Math, Random, Secrets Modules
· Introduction
· Initialization of variables
· Local variables
· Global variables
· ‘global’ keyword
· Input and Output operations
· Data conversion functions – int(), float(), complex(), str(), chr(), ord()
· Practical Exercise(60 min)
Live Lecture
· Operators
· Arithmetic Operators
· Comparison Operators
· Python Assignment Operators
· Logical Operators
· Bitwise Operators
· Shift operators
· Practical Exercise(60 min)
Live Lecture
· Input & Output Operators
· Print
· Input
· Command-line arguments
· Practical Exercise(60 min)
Live Lecture
· Control Statements
· Conditional control statements
· If-else
· If-elif-else
· Nested-if
· Loop control statements
· for
· while
· Nested loops
· Branching statements
· Break
· Continue
· Pass
· Return
· Case studies
· Practical Exercise(60 min)
Live Lecture
· Data Structures or Collections
· Introduction
· Importance of Data structures
· Applications of Data structures
· Types of Collections
· Sequence
· Strings, List, Tuple, range
· Non sequence
· Set, Frozen set, Dictionary
· Practical Exercise(60 min)
Live Lecture
· What is string
· Representation of Strings
· Processing elements using indexing
· Processing elements using Iterators
· Manipulation of String using Indexing and Slicing
· String operators
· Methods of String object
· String Formatting
· String functions
· String Immutability
· Practical Exercise(60 min)
Live Lecture
· What is List
· Need of List collection
· Different ways of creating List
· List comprehension
· List indices
· Processing elements of List through Indexing and Slicing
· List object methods
· List is Mutable
· Mutable and Immutable elements of List
· Nested Lists
· List_of_lists
· Hardcopy, shallowCopy and DeepCopy
· zip() in Python
· How to unzip?
· Python Arrays
· Practical Exercise(60 min)
Live Lecture
· Tuple Collection
· What is tuple?
· Different ways of creating Tuple
· Method of Tuple object
· Tuple is Immutable
· Mutable and Immutable elements of Tuple
· Process tuple through Indexing and Slicing
· List v/s Tuple
· Practical Exercise(60 min)
Live Lecture
· Set Collection
· What is set?
· Different ways of creating set
· Difference between list and set
· Iteration Over Sets
· Accessing elements of set
· Python Set Methods
· Python Set Operations
· Union of sets
· functions and methods of set
· Python Frozen set
· Difference between set and frozenset ?
· Practical Exercise(60 min)
Live Lecture
· Dictionary Collection
· What is dictionary?
· Difference between list, set and dictionary
· How to create a dictionary?
· Accessing values of dictionary
· Python Dictionary Methods
· Copying dictionary
· Updating Dictionary
· Reading keys from Dictionary
· Reading values from Dictionary
· Reading items from Dictionary
· Delete Keys from the dictionary
· Sorting the Dictionary
· Python Dictionary Functions and methods
· Dictionary comprehension
· Practical Exercise(60 min)
Live Lecture
· What is Function?
· Advantages of functions
· Syntax and Writing function
· Calling or Invoking function
· Classification of FunctionsRecursion
· Python argument type functions :
· Default argument functions
· Required(Positional) arguments function
· Keyword arguments function
· Variable arguments functions
· ‘pass’ keyword in functions
· Lambda functions/Anonymous functions
· map()
· filter()
· reduce()
· Nested functions
· Non local variables, global variables
· Closures
· Decorators
· Generators
· Iterators
· Monkey patching
· Practical Exercise(60 min)
Live Lectures 17-30
Learn some of the more complex aspects of Python, including data structures, list comprehensions, list slicing, and lambda expressions.
Live Lecture
· Importance of modular programming
· What is module
· Types of Modules – Pre defined, User defined.
· User defined modules creation
· Functions based modules
· Class based modules
· Connecting modules
· Import module
· From … import
· Module alias / Renaming module
· Built In properties of module
· Practical Exercise(60 min)
· Packages
· Organizing python project into packages
· Types of packages – pre defined, user defined.
· Package v/s Folder
· py file
· Importing package
· Practical Exercise(60 min)
Live Lecture
· What is Exception?
· Why exception handling?
· Syntax error v/s Runtime error
· Exception codes – AttributeError, ValueError, IndexError, TypeError…
· Handling exception – try except block
· Try with multi except
· Handling multiple exceptions with single except block
· Finally block
· Try-except-finally
· Try with finally
· Case study of finally block
· Raise keyword
· Custom exceptions / User defined exceptions
· Need to Custom exceptions
· Practical Exercise(60 min)
· Regular expressions
· Understanding regular expressions
· String v/s Regular expression string
· “re” module functions
· Match()
· Search()
· Split()
· Findall()
· Compile()
· Sub()
· Subn()
· Expressions using operators and symbols
· Simple character matches
· Special characters
· Character classes
· Mobile number extraction
· Mail extraction
· Different Mail ID patterns
· Data extraction
· Password extraction
· URL extraction
· Vehicle number extraction
· Practical Exercise(60 min)
Live Lecture
· Introduction to files
· Opening file
· File modes
· Reading data from file
· Writing data into file
· Appending data into file
· Line count in File
· CSV module
· Creating CSV file
· Reading from CSV file
· Writing into CSV file
· Object serialization – pickle module
· XML parsing
· JSON parsing
· Practical Exercise(60 min)
Live Lecture
· Logging Levels
· implement Logging
· Configure Log File in over writing Mode
· Timestamp in the Log Messages
· Python Program Exceptions to the Log File
· Requirement of Our Own Customized Logger
· Features of Customized Logger
· Practical Exercise(60 min)
Live Lecture
· How to use Date & Date Time class
· How to use Time Delta object
· Formatting Date and Time
· Calendar module
· Text calendar
· HTML calendar
· Practical Exercise(60 min)
Live Lecture
· Shell script commands
· Various OS operations in Python
· Python file system shell methods
· Creating files and directories
· Removing files and directories
· Shutdown and Restart system
· Renaming files and directories
· Executing system commands
· Practical Exercise(60 min)
Live Lecture
· Introduction
· Multi tasking v/s Multi threading
· Threading module
· Creating thread – inheriting Thread class , Using callable object
· Life cycle of thread
· Single threaded application
· Multi threaded application
· Can we call run() directly?
· Need to start() method
· Sleep()
· Join()
· Synchronization – Lock class – acquire(), release() functions
· Practical Exercise(60 min)
Live Lecture
· Introduction
· Importance of Manual garbage collection
· Self reference objects garbage collection
· ‘gc’ module
· Collect() method
· Threshold function
· Practical Exercise(60 min)
Python Data Base Communications
Live Lecture
· What is Sockets?
· What is Socket Programming?
· The socket Module
· Server Socket Methods
· Connecting to a server
· A simple server-client program
· Server
· Client
· Practical Exercise(60 min)
Live Lecture
· Introduction to GUI programming
· Tkinter module
· Tk class
· Components / Widgets
· Label , Entry , Button , Combo, Radio
· Types of Layouts
· Handling events
· Widgets properties
· Practical Exercise(60 min)
Project Development
· Project-1 Site Connectivity Checker
The job of a site connectivity checker is to visit a URL and display the status of that URL, that is, whether or not it is a live URL. Usually, site connectivity checkers visit URLs at regular intervals and return the results each time. This project will work on the same lines – it will check the live status of URLs. Site connectivity checker is one of the interesting python projects for beginners.
· Project-2 Web Crawler
A web crawler is an automated program script that surfs the internet and stores the content of a particular webpage. A web crawler is one of the most useful python projects to find up-to-date information. You will need to use a multi-thread concept for such a program. You can use Python’s request module to make the crawler bot, or you can use Scrapy. It is Python’s open-source web crawling framework explicitly designed for web scraping and extracting data by using APIs.
· Project-3 Expense Tracker
As you can guess by the name, an expense tracker is a software application that lets you keep track of your expenses, and even analyze the expenses. In this python project, you will build a simple expense tracker that can keep track of the user’s expenses. Expense tracker is one of the trending python projects which should also be able to perform statistically analysis to give accurate insights to users on their expenses so that they can plan their expenses better. You can use PySimpleGUI to create the interface for this application and even Python libraries like Pandas and Matplotlib can be handy tools for the project
· Option: Students can select their own Application / Definition to develop projects.