GE3151
PROBLEM SOLVING AND PYTHON PROGRAMMING
COURSE OBJECTIVES:
To
understand the basics of algorithmic problem solving.
•
To learn to solve problems using Python conditionals and loops.
•
To define Python functions and use function calls to solve problems.
•
To use Python data structures - lists, tuples, dictionaries to represent
complex data.
•
To do input/output with files in Python.
UNIT I
COMPUTATIONAL THINKING AND PROBLEM SOLVING
Fundamentals
of Computing - Identification of Computational Problems -Algorithms, building
blocks of algorithms (statements, state, control flow, functions), notation
(pseudo code, flow chart, programming language), algorithmic problem solving,
simple strategies for developing algorithms (iteration, recursion).
Illustrative problems: find minimum in a list, insert a card in a list of
sorted cards, guess an integer number in a range, Towers of Hanoi.
UNIT II
DATA TYPES, EXPRESSIONS, STATEMENTS WLEDGE
Python
interpreter and interactive mode, debugging; values and types: int, float,
boolean, string, and list; variables, expressions, statements, tuple
assignment, precedence of operators, comments; Illustrative programs: exchange
the values of two variables, circulate the values of n variables, distance
between two points.
UNIT III
CONTROL FLOW, FUNCTIONS, STRINGS
Conditionals:
Boolean values and operators, conditional (if), alternative (if-else), chained
conditional (if- elif-else); Iteration: state, while, for, break, continue,
pass; Fruitful functions: return values, parameters, local and global scope,
function composition, recursion; Strings: string slices, immutability, string
functions and methods, string module; Lists as arrays. Illustrative programs:
square root, gcd, exponentiation, sum an array of numbers, linear search,
binary search.
UNIT IV
LISTS, TUPLES, DICTIONARIES
Lists:
list operations, list slices, list methods, list loop, mutability, aliasing,
cloning lists, list parameters; Tuples: tuple assignment, tuple as return
value; Dictionaries: operations and methods; advanced list processing list
comprehension; Illustrative programs: simple sorting, histogram, Students marks
statement. Retail bill preparation.
UNIT V
FILES, MODULES, PACKAGES
Files
and exception: text files, reading and writing files, format operator; command
line arguments, errors and exceptions, handling exceptions, modules, packages;
Illustrative programs: word count, copy file, Voter's age validation, Marks
range validation (0-100).
TOTAL:
45 PERIODS
COURSE OUTCOMES:
Upon
completion of the course, students will be able to
CO1:
Develop algorithmic solutions to simple computational problems.
CO2:
Develop and execute simple Python programs.
CO3:
Write simple Python programs using conditionals and looping for solving
problems.
CO4:
Decompose a Python program into functions.
CO5:
Represent compound data using Python lists, tuples, dictionaries etc.
CO6:
Read and write data from/to files in Python programs.
TEXT BOOKS:
1.
Allen B. Downey, "Think Python: How to Think like a Computer
Scientist", 2nd Edition, O'Reilly Publishers, 2016.
2.
Karl Beecher, "Computational Thinking: A Beginner's Guide to
Problem Solving and programming", 1st Edition, BCS Learning &
Development Limited, 2017.
REFERENCES:
1.
Paul Deitel and Harvey Deitel, "Python for Programmers", Pearson
Education, 1st Edition, 2021.
2.
G Venkatesh and Madhavan Mukund, "Computational Thinking: A Primer for
Programmers and Data Scientists", 1st Edition, Notion Press, 2021.
3.
John V Guttag, "Introduction to Computation and Programming Using
Python: With Applications to Computational Modeling and Understanding
Data", Third Edition, MIT Press 2021
4.
Eric Matthes, "Python Crash Course, A Hands-on Project Based Introduction
to Programming", 2nd Edition, No Starch Press, 2019.
5.
https://www.python.org/
6.
Martin C. Brown, "Python: The Complete Reference", 4th Edition,
Mc-Graw Hill, 2018.