MBU Python Course Content ========================================== .. toctree:: :maxdepth: 1 :hidden: module1_features_and_history_of_python module1_installation_and_ides module1_interpreter_vs_compiler module1_input_output_and_data_types module1_operators_expressions_comments module1_assignment module2_decision_making module2_looping module2_functions_enumerate_zip module2_else_with_loops module2_comprehensions module2_combining_loops_conditionals module2_exception_handling module2_assignment module3_strings module3_data_structures module3_functions module3_lambda_map_filter module3_assignment module4_classes_and_objects module4_constructors_destructors module4_encapsulation module4_inheritance module4_polymorphism_abstraction module4_assignment module5_numpy_basics module5_pandas_dataframes module5_matplotlib_visualization module5_flask_basics module5_flask_forms_crud module5_assignment Welcome to the official documentation for the **Python Programming** course at Mohan Babu University. This documentation is based on the course content curated by Zaid Kamil. Course Overview --------------- This documentation is designed to help students master the essentials of Python programming. The course provides both conceptual clarity and practical exposure, with a blend of theoretical notes, code snippets, assignments, and mini projects. Module 1 ------------------- - :doc:`Features and History of Python ` - :doc:`Installation & IDEs ` - :doc:`Interpreter vs Compiler ` - :doc:`Input/Output and Data Types ` - :doc:`Operators, Expressions, and Comments ` - :doc:`Assignment Questions ` Module 2 ------------------- - :doc:`Decision Making ` - :doc:`Looping ` - :doc:`Functions: enumerate() and zip() ` - :doc:`else with Loops ` - :doc:`List and Dictionary Comprehensions ` - :doc:`Combining Loops with Conditionals ` - :doc:`Exception Handling ` - :doc:`Assignment Questions ` Module 3 ------------------- - :doc:`Strings ` - :doc:`Data Structures ` - :doc:`Functions ` - :doc:`Lambda Functions, map(), and filter() ` - :doc:`Assignment Questions ` Module 4 ------------------- - :doc:`Classes and Objects ` - :doc:`Constructors and Destructors ` - :doc:`Encapsulation ` - :doc:`Inheritance ` - :doc:`Polymorphism and Abstraction ` - :doc:`Assignment Questions ` Module 5 ------------------- - :doc:`NumPy Basics ` - :doc:`Pandas DataFrames ` - :doc:`Matplotlib Visualization ` - :doc:`Flask Basics ` - :doc:`Flask Forms & CRUD ` - :doc:`Assignment Questions ` Course Structure ---------------- **Module 1: Introduction to Python, Input/Output and Operators (7 Periods)** .. image:: _static/module1_topics.png :alt: Module 1 Topics :width: 600 - Features and history of Python - Installation & IDEs (Jupyter, VS Code) - Interpreter vs Compiler - Using input() and print() - Formatted strings (f-strings, format) - Data types: int, float, str, bool - Dynamic typing & type conversions (explicit, implicit) - Operator types: arithmetic, relational, logical, bitwise, assignment, membership, identity - Expression evaluation, precedence & associativity - Comments: single-line & multi-line **Module 2: Decision Making and Looping (7 Periods)** - ``if``, ``if-else``, ``elif``, nested conditions - Loops: ``for``, ``while``, ``break``, ``continue``, ``pass`` - Functions: ``enumerate()``, ``zip()`` - ``else`` with loops - List and dictionary comprehensions - Combining loops with conditionals - Basic exception handling: ``try-except`` **Module 3: Data Structures, Strings, Functions & Recursion (10 Periods)** - Strings: creation, indexing, slicing, immutability - String methods: ``upper()``, ``lower()``, ``find()``, ``replace()``, ``split()``, ``join()`` - Data structures: lists, tuples, dictionaries, sets - Function definition, parameters, return values, default/keyword arguments - Recursion (examples: factorial, Fibonacci) - Function integration with strings & collections - Lambda functions, ``map()``, ``filter()`` - Module 3 Assignment **Module 4: Object-Oriented Programming in Python (8 Periods)** - Classes and objects - Defining classes, instance variables and methods - Constructors (``__init__``) and destructors (``__del__``) - Encapsulation with access conventions: public, protected, private - Using ``@property`` decorator for getters and setters - Inheritance and its types: single, multiple, multilevel, hierarchical - Method overriding with ``super()`` - Polymorphism: method overriding, operator overloading, duck typing - Abstraction using abstract classes (``abc`` module) - ``@abstractmethod`` decorator - Real-world OOP applications and design patterns **Module 5: Data Visualization & Web Development (12 Periods)** - Importance & purpose of data visualization - NumPy, Pandas, Matplotlib: line graphs, bar charts, histograms, scatter plots - Flask: overview, setup, app structure, routing - Template rendering with Jinja2 - Form handling: GET/POST methods - Basic CRUD operations - HTML/CSS integration - Mini project implementation Course Outcomes --------------- After completion of this course, students will be able to: - Demonstrate knowledge of Python constructs, sequences, sets, and dictionaries to solve computational problems. - Apply regular expressions for pattern searching in strings. - Develop and use Python modules to solve problems. - Apply file operations in Python for file processing. - Design applications using OOP features: encapsulation, inheritance, polymorphism, and exception handling. - Work independently to solve problems and communicate effectively. How to Use This Documentation ----------------------------- - Each module has a dedicated section with lecture notes, code samples, and exercises. - Access the notes in reStructuredText format for easy reading and sharing. - Refer to the code samples and mini projects for hands-on practice. Contributing ------------ Contributions are welcome! If you find any issues or have suggestions for improvement, feel free to open an issue or submit a pull request. License ------- This documentation is for educational purposes at Mohan Babu University. Please contact the maintainer for reuse or distribution outside the university. *Curated by Zaid Kamil for Mohan Babu University, 2025.*