Python
Python
Introduction to Programming
Importance of programming in various fields
Overview of Python: history, versions, and features
Setting up the environment: installing Python, IDEs (PyCharm, VSCode, Jupyter
Notebook)
Introduction to interactive mode and script mode
Basic Syntax
Variables: naming conventions, assigning values
Data Types: integers, floats, strings, booleans
Operators: arithmetic, comparison, logical, bitwise, assignment
Type conversion and type casting
Control Flow
Conditional Statements: if, elif, else
Loops: for loop, while loop
Loop control statements: break, continue, pass
Module 2: Data Structures
Lists and Tuples
Creating lists and tuples
Accessing and modifying elements
List methods: append(), extend(), insert(), remove(), pop(), clear(), index(), count(),
sort(), reverse()
Tuple properties: immutability, indexing, slicing
Dictionaries and Sets
Creating dictionaries and sets
Accessing and modifying dictionary elements
Dictionary methods: keys(), values(), items(), get(), update(), pop(), popitem(), clear()
Set operations: union, intersection, difference, symmetric difference
Comprehensions
List comprehensions: syntax, examples
Dictionary comprehensions: syntax, examples
Set comprehensions: syntax, examples
Module 3: Functions and Modules
Functions
Defining and calling functions
Function arguments: positional, keyword, default, variable-length (*args, **kwargs)
Return statement
Lambda functions: syntax, use cases
Modules and Packages
Importing modules: import, from...import, as
Overview of Python Standard Library: os, sys, math, random, datetime
Creating and using custom modules
Introduction to packages and namespace packages
Exception Handling
Try, except, else, finally blocks
Built-in exceptions
Raising exceptions
Creating custom exceptions
Module 4: File Handling and Basic OOP
File Handling
File operations: open(), read(), write(), close()
File modes: read (r), write (w), append (a), binary (b)
Reading and writing text files
Working with CSV files using csv module
Working with JSON files using json module
Object-Oriented Programming (OOP)
Classes and objects: defining classes, creating objects
Methods: instance methods, class methods, static methods
Constructors: init method
Inheritance: single, multiple, multilevel inheritance
Polymorphism: method overriding, method overloading
Encapsulation and data hiding
Module 5: Advanced Data Structures and Algorithms
Advanced Lists and Dictionaries
Nested lists and dictionaries
List comprehensions with conditions
Dictionary comprehensions with complex keys and values
Algorithms
Sorting algorithms: bubble sort, selection sort, insertion sort, quicksort, mergesort
Searching algorithms: linear search, binary search
Basic time complexity: Big O notation
Module 6: Libraries for Data Analysis
NumPy
Introduction to NumPy: advantages, array creation
Array operations: indexing, slicing, reshaping
Mathematical operations on arrays
Broadcasting and vectorized operations
Pandas
Introduction to Pandas: Series and DataFrame
Creating, accessing, and modifying DataFrames
Data manipulation: filtering, grouping, merging, concatenating
Handling missing data: isnull(), dropna(), fillna()
Matplotlib
Introduction to Matplotlib: plotting basics
Creating plots: line plot, bar plot, histogram, scatter plot
Customizing plots: titles, labels, legends, styles
Module 7: Web Development with Flask
Introduction to Flask
Setting up Flask: installation, project structure
Basic routing: defining routes, URL parameters
Templates and Static Files
Jinja2 template engine: syntax, template inheritance
Serving static files: CSS, JavaScript, images
Forms and User Input
Handling forms: WTForms, form validation
Processing user input and displaying results
Module 8: Working with APIs and Databases
RESTful APIs
Introduction to REST: principles, methods (GET, POST, PUT, DELETE)
Consuming APIs using requests library: making requests, handling responses
Databases with SQLAlchemy
Introduction to SQLAlchemy: ORM basics, installation
Connecting to a database: SQLite, PostgreSQL, MySQL
Defining models and schemas
Performing CRUD operations: create, read, update, delete
Project Work
Integrating Flask with a database
Building a small web application: user authentication, CRUD operations