Anna University GE3151 Problem Solving and Python Programming Syllabus (Regulation 2021)
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 (statements, state, control flow, functions), notation (pseudo code, flowchart, programming language).
- Algorithmic problem solving: simple strategies (iteration, recursion).
- Illustrative problems: finding minimum in a list, inserting a card in a sorted list, guessing an integer in a range, Towers of Hanoi.
Unit II: Data Types, Expressions, Statements
- Python interpreter and interactive mode, debugging.
- Values and types: int, float, boolean, string, list.
- Variables, expressions, statements, tuple assignment, operator precedence, comments.
- Illustrative programs: exchanging values of two variables, circulating values of n variables, calculating 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, summing an array of numbers, linear search, binary search.
Unit IV: Lists, Tuples, Dictionaries
- Lists: list operations, slices, methods, loops, 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 exceptions: text files, reading and writing files, format operator.
- Command line arguments, errors and exceptions, handling exceptions, modules, packages.
- Illustrative programs: word count, copying a file, voter’s age validation, marks range validation (0-100).
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 Python programs using conditionals and loops to solve 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.
Textbooks
- Allen B. Downey. Think Python: How to Think Like a Computer Scientist. 2nd Edition, O'Reilly Publishers, 2016.
- Karl Beecher. Computational Thinking: A Beginner's Guide to Problem Solving and Programming. 1st Edition, BCS Learning & Development Limited, 2017.
References
- Paul Deitel and Harvey Deitel. Python for Programmers. Pearson Education, 1st Edition, 2021.
- G. Venkatesh and Madhavan Mukund. Computational Thinking: A Primer for Programmers and Data Scientists. 1st Edition, Notion Press, 2021.
- John V. Guttag. Introduction to Computation and Programming Using Python: With Applications to Computational Modeling and Understanding Data. 3rd Edition, MIT Press, 2021.
- Eric Matthes. Python Crash Course: A Hands-on Project-Based Introduction to Programming. 2nd Edition, No Starch Press, 2019.
- Python Official Website
- Martin C. Brown. Python: The Complete Reference. 4th Edition, McGraw Hill, 2018.
Post Your comments,Views and thoughts Here, Give Us Time To Respond Your Queries