Course Name: Problem Solving Using Python
Course Code: DSC-C-BCA-352T
Credits: 4
Course Outcomes:
On the completion of the course, students will:
Understanding Core Python Programming , Python Libraries and concepts of OOP
Understanding Python Database connectivity
Knowledge of Data analysis and Data Visualization in Python using Pandas and Matplotlib
Prerequisites:
Basic Knowledge of Computer Operations
Contents
Unit Particulars Hours Credits
Python Introduction 15 01
Features of Python, Flavours of Python, PVM, Memory
Management and Garbage Collection in Python,
Comparisons between Python, C, , Java
Data Types in Python
Built-In Datatypes: None types, Numeric types, Converting the
datatypes explicitly
Sequence in Python : Str, bytes, bytearray, list, tuple ,range
Sets : set, frozenset, Mapping types
1
Determining the datatype of a Variable
Python Fundamentals and Control Flow Statements
Tokens, keywords, Identifiers
Membership Operators ,Identity Operators
Output Statements, Input Statements
If , if-else , if-elif-else, match case
Loops : while , for , infinite, nested, else suite
Pass statement, Assert Statement, Return Statement
Arrays 15 01
Array, Advantages of Array, Creating an Array,
2
Importing the array module ,Indexing Slicing and Processing the
arrays
Functions
Difference between a function and a method
Defining-calling and returning(single and multiple) results from a
function
Pass by Object Reference,
Positional arguments, Keyword arguments, Default arguments,
Variable length arguments
Anonymous Functions
List, Tuples and Dictionary
Exploring List, Creating lists using range() function, Updating the
elements of the list, Concatenation of two lists, Repetition of lists,
Membership in lists, Aliasing and Cloning lists, Methods to process
List Nested Lists
Tuples, Creating and accessing Tuple elements, Basic operations on
Tuples, Functions to process tuples, Nested Tuples and its sorting.
Introduction to Dictionaries, Operations on Dictionaries, Dictionary
methods, Converting List into Dictionary
Classes & Objects 15 01
Creating a class, The Self variable, Constructor, Types of variables,
Types of methods
Inheritance & Polymorphism
The super() method, Types of Inheritance : Single, Multiple
3 Method Resolution Order (MRO)
Polymorphism : Operator Overloading, Method Overloading, Method
Overriding
Exception Handling
Exceptions, Exception Handling, Types of Exceptions
Database Management 15 01
Introduction to MySQL, Installing MySQL Connector, Verifying the
Connector Installation, Perform CRUD (Create, Read, Update, Delete)
in python, Commit Transaction
4
Data Analysis With Pandas
Install & Configure Pandas : Install PIP, create Virtual Environment,
Activate Virtual Environment, Install Pandas 2.0, verify installation,
Pandas Data structure : Series, Dataframe
Creating Data Frame from an Excel Spreadsheet, from .csv files, ,
from Python Dictionary, from list and tuples
Operations on Data frames : Knowing number of rows and columns,
Retrieving rows from Data frame, Retrieving a range of rows
Retrieving column names, column data, from multiple columns,
Displaying Statistical information, Knowing the index range,Setting a
column as index, Sorting the data, Handling missing data
Merging and Joining DataFrames: Merging DataFrames using
merge() Function, Joining DataFrames using join() Method
Grouping and Aggregating Data
Data Visualization with Matplotlib
Bar Graph, Histograms, Creating a pie chart and Line Graph
Text Book :
1. Core Python Programming
By Dr. R. Nageshwara Rao , 2nd Edition
2. Learning Pandas 2.0 by Matthew Rosch
Reference Books:
1. A Byte of Python, By Swaroop C H
2. Python Cookbook, Recipes of Mastering
Python 3, By David Beazely & Brian K. Jones
3. Pandas for Everyone: Python Data Analysis by Daniel Y. Chen
Web Resources:
https://www.python.org/about/apps/
https://www.w3schools.com/python/default.asp
https://www.programiz.com/python-programming/tutorial
https://www.programiz.com/python-programming/match-case
https://www.geeksforgeeks.org/crud-operation-in-python-using-mysql/
https://www.geeksforgeeks.org/data-visualization-using-matplotlib/
https://www.geeksforgeeks.org/how-to-calculate-summary-statistics-in-pandas/
Required Softwares:
Python 3.10 or higher
IDE: IDLE
Database: MySQL
Accomplishments of the student after completing the Course:
After completion of this course, students will be able to
Gain Proficiency in Python Syntax
Competence in handling various data types and structures, such as lists, dictionaries, and tuples.
Capability to identify, debug, and handle errors and exceptions effectively
Implementing Python Database Connectivity
Understanding and applying object-oriented programming (OOP) concepts like classes, objects,
inheritance, and polymorphism.
Understanding Data Analysis and Data Visualization in Python
***** * *****