Advanced Python Programming
Advanced Python Programming
Course objectives:
1. Enable students to write and execute Python programs that solve real-world problems,
focusing on mathematical operations, file manipulation, matrix computations, and
building graphical user interfaces (GUIs).
2. Provide hands-on experience in working with data structures such as arrays and
dataframes using libraries like NumPy and Pandas, with an emphasis on data
manipulation, grouping, and visualization techniques.
3. Equip students with the skills to connect Python applications to MySQL databases,
perform essential operations such as creating tables, inserting, updating, and deleting
records, and manage data efficiently.
4. Facilitate the understanding and application of object-oriented programming concepts,
including inheritance and abstraction.
1. Write a Python program that calculates the sum of the first n terms of the following
mathematical series:
2 4 6 n
1 – x / 2! + x / 4! – x / 6! + …… x / n!
2. Write a Python program that reads a file and calculates the number of characters,
words, and lines in it.
3. Write a Python program to compute various matrix and vector operations such as dot
product, inner product, outer product, and matrix exponentiation.
4. a) Write a Python program that uses Pandas' built-in visualization tools to create the
following plots:
o i. Bar plots
o ii. Histograms
11. Create a Python class named Person with attributes for name, age, weight (in kg), and
height (in feet). The class should have a method get_bmi_result() that calculates the
BMI and returns whether the person is "underweight", "healthy", or "obese".
12. Write a Python program to demonstrate various types of inheritance.
13. Write a Python program that creates abstract classes and implements abstract
methods.
Course outcomes
1. Students will be able to design and implement Python programs that solve complex
problems, including mathematical series, file handling, matrix operations, and more.
2. Students will be capable of effectively managing and analyzing datasets using Python
libraries like Pandas and NumPy, and visualizing the data through bar plots,
histograms, line plots, and scatter plots.
3. Students will demonstrate the ability to connect Python programs to MySQL
databases, perform CRUD (Create, Read, Update, Delete) operations, and manage
database interactions proficiently.
4. Students will be able to apply object-oriented programming concepts like inheritance
and abstraction, and develop interactive GUI applications using Tkinter, enhancing
the user experience in software solutions.
Reference Materials:
R. Nageswara Rao , “Core Python Programming” Dreamtech Press India Pvt Ltd
2018.
https://onlinecourses.nptel.ac.in/noc19_cs40/preview
https://onlinecourses.nptel.ac.in/noc19_cs41/preview