SRM VALLIAMMAI ENGINEERING COLLEGE
(An Autonomous Institution)
SRM NAGAR, KATTANGULATHUR – 603 203
DEPARTMENT OF ARTIFICIAL INTELLIGENCE AND DATA SCIENCE
COURSE PLAN
Name of the Staff : R.Danu
Regulation : 2023
Subject Name : PROBLEM SOLVING AND PYTHON PROGRAMMING
Subject Code : GE3231
Sem / Branch : II/ MECH
Course Type : Core/Elective
Academic year : 2023-2024 (EVEN SEMESTER)
Credits : 3 Credits
1. Course Description :
Python is used in many domains from web and game development to machine learning,
AI, scientific computing and academic research. It is easy to learn as a second language. Hence,
the course covers the basic of Python Programming in detail and the advanced concepts in a
lighter way. The course would definitely kindle the students’ interest for further exploration.
2. Course Objective :
The student should be made to:
To know the basics of Python programming
To read and write simple Python programs.
To develop Python programs with conditionals and loops.
To define Python functions and call them.
To use Python data structures and its implementation – lists, tuples, dictionaries.
To understand Object Oriented Concept in Python.
3. Pre-Requisite : PROGRAMMING IN C
4. Syllabus:
GE3231 PROBLEM SOLVING AND PYTHON PROGRAMMING LTPC
3 00 3
UNIT – I: PYTHON BASICS 9
Introduction to Python – Literals – Variables and Identifiers – Data Types – Input Operation –
Comments – Reserved words – Indentation – Operators and Expressions – Modes of python.
Conditionals: Boolean values and operators - conditional if - alternative if - chained conditional -
Iteration, Illustrative programs: Basic Arithmetic Operations, GCD of numbers, Square root
(Newton’s Method).
UNIT- II: FUNCTIONS, LIST, TUPLES 9
Functions, function definition and use. Fruitful functions: return values, parameters, local and
global scope, recursion. Lists: list operations, list slices, list methods, list loop, mutability, list
parameters; Tuples: tuple assignment, tuple as return value. Comparison of Lists and tuples.
Illustrative programs: exchange the values of two variables, square root, Linear and Binary
search. Fibonacci series using functions.
UNIT – III: STRINGS, DICTIONARY, SET 9
Strings: string slices, immutability, string functions and methods, string module. Dictionaries:
Operations (create, access, add, remove) and methods. (Insert, delete).Set operation (Access,
Add, Remove). Illustrative programs: creates a dictionary of radius of a circle and its
circumference.
UNIT- IV: FILES, EXCEPTIONS, MODULES AND PACKAGES 9
Files and exception: Text Files, Reading and Writing files, Format operator; Errors and
Exceptions, Handling Exceptions, Multiple Except blocks, Modules, Packages; Illustrative
programs: word count, copy file, Creating user defined Exceptions.
UNIT- V: CLASSES AND OBJECTS 9
Classes and Objects: Introduction, Classes and Objects, Defining Classes, Creating Objects,
Data Abstraction and Hiding, The Class Method and Self Argument, The __init__( ) method,
Class Variables and Object Variables, Public and Private data members, Private Methods.
Illustrative Programs: Creating Student Class and Objects.
TOTAL: 45 PERIODS
TEXT BOOKS:
1. Reema Thareja, “Python Programming using Problem solving Approach” ,Oxford Higher
Education,2017
2. Allen B. Downey, “Think Python: How to Think Like a Computer Scientist”, 2nd edition,
Updated for Python 3, Shroff/O’Reilly Publishers, 2016 (http://greenteapress.com/wp/think-
python/)
3. Guido van Rossum and Fred L. Drake Jr, “An Introduction to Python” – Revised and updated
for Python 3.2, Network Theory Ltd., 2011.
REFERENCES:
1. Charles Dierbach, “Introduction to Computer Science using Python: A Computational
Problem-Solving Focus”, Wiley India Edition, 2013.
2. John V Guttag, “Introduction to Computation and Programming Using Python’’, Revised and
expanded Edition, MIT Press , 2013
3. Kenneth A. Lambert, “Fundamentals of Python: First Programs”, CENGAGE Learning, 2012.
4. Paul Gries, Jennifer Campbell and Jason Montojo, “Practical Programming: An Introduction
to Computer Science using Python 3”, Second edition, Pragmatic Programmers, LLC,2013.
5. Robert Sedgewick, Kevin Wayne, Robert Dondero, “Introduction to Programming in Python:
An Inter-disciplinary Approach”, Pearson India Education Services Pvt. Ltd., 2016.
Class Schedule: Lecture 4 Hours per week
5. Course Outcomes:
COURSE NAME: GE3231-PROBLEM SOLVING AND PYTHON PROGRAMMING
YEAR OF STUDY: 2022-2023(Even Sem)
GE3231.1 Develop simple Python programs for solving problems.
GE3231.2 Decompose a Python program into functions
GE3231.3 Represent compound data using Python lists, tuples, Set and dictionaries
GE3231.4 Read and write data from/to files in Python Programs.
Understand the concepts of Object-Oriented Programming and develop real time
GE3231.5
applications
6. Result analysis:
i. Current Batch Pre requisite Result:
ii. Previous Batch Result for this Subject:
7. CO-PO-PSO Matrix:
CO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3 PSO4
GE3231.1 3 3 3 3 2 - - - - - 2 2 2 - - 1
GE3231.2 3 3 3 3 2 - - - - - 2 2 - - 3 -
GE3231.3 3 3 3 3 2 - - - - - 2 - - - 1 -
2 2 - 2 2 - - - - - 1 - 3 - 2 -
GE3231.4
GE3231.5 1 2 - - 1 - - - - - 1 - - - - 1
8. CO-PO Justification
Course Program Value Justification
Outcome Outcome
PO1 3 Fundamental programming concepts are introduced.
Students analyze and apply control structures for problem-
PO2 3
solving.
PO3 3 Writing structured Python code enables design thinking.
Understanding Python basics enables students to write and debug
PO4 3 simple programs, forming the foundation for investigating more
complex problems.
GE3231.1 Python is a modern programming tool, and learning its basics
PO5 2
helps students utilize it for engineering and computational tasks.
Basic programming knowledge is essential for managing small-
PO11 2 scale projects, automating tasks, and developing simple financial
models.
Learning Python basics encourages students to explore advanced
PO12 2 topics like AI, Data Science, and Machine Learning, supporting
lifelong learning in technology.
GE3231.2 PO1 3 Understanding and using functions enhances programming skills.
Applying recursion and list operations to solve computational
PO2 3
problems.
PO3 3 Designing modular and reusable code structures.
Functions and data structures help in breaking down and
PO4 3
investigating complex problems.
PO5 2 Python’s built-in tools enhance efficient data manipulation and
problem-solving.
Modular programming improves project management and
PO11 2
scalable financial applications.
Learning modular programming fosters adaptability to evolving
PO12 2
technologies.
PO1 3 Fundamental data structures are covered.
PO2 3 Analyzing data representation and manipulation techniques.
PO3 3 Implementing dictionary-based solutions for problem-solving.
Effective use of data structures helps in analyzing and solving
GE3231.3 PO4 3
complex problems.
Python’s string, dictionary, and set operations enhance modern
PO5 2
data handling techniques.
Structured data management improves efficiency in software
PO11 2
development and project planning.
PO1 2 Understanding file systems and error handling concepts.
PO2 2 Handling real-world data using files and structured modules.
File handling and exception handling aid in investigating
PO4 2
GE3231.4 complex real-world data processing issues.
Modules and packages support modern software development
PO5 2
and reusable code practices.
Efficient file management and error handling enhance
PO11 1
software reliability and project execution.
PO1 1 Understanding classes, objects, and data encapsulation.
PO2 2 Analyzing problems and implementing OOP-based solutions.
GE3231.5 PO5 OOP principles enable the use of modern programming tools for
1
scalable software development.
Object-oriented design improves project management through
PO11 1
modularity and reusability.
9. CO –PSO Justification:
Course Program Value Justification
Outcome Outcome
Builds a strong foundation in programming logic
PSO1 2
and problem-solving using Python.
GE3231.1
Develops fundamental coding skills essential for
PSO4 1
software development and real-world applications.
Enhances modular and structured programming
GE3231.2 PSO3 3
skills through functions, lists, and tuples.
Strengthens structured data handling and
GE3231.3 PSO3 1
manipulation using strings, dictionaries, and sets.
GE3231.4 PSO1 3 Develops proficiency in handling files, exceptions,
and modular programming for problem-solving
Enhances structured programming skills through
PSO3 2
efficient error handling and modular code design.
Develops object-oriented programming skills for
GE3231.5 PSO4 1 building scalable and real-world software
applications.
10.CO-PO-PSO Mapping(Planned)
CO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3 PSO4
GE3231 2.4 2.6 3.0 2.8 1.8 - - - - - 1.6 2.0 2.5 - 2.0 1.0
Subject Incharge HOD