0
12526

# GE8151-Problem Solving and Python Programming Syllabus 2017 Regulation

GE8151Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â PROBLEM SOLVING AND PYTHON PROGRAMMING Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â L T P C Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â 3 0 0 3

OBJECTIVES:

• To know the basics of algorithmic problem solving
• 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 â- lists, tuples, dictionaries.
• To do input/output with files in Python.

UNIT IÂ Â Â Â Â Â Â Â Â Â Â Â Â  Â ALGORITHMIC PROBLEM SOLVINGÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â 9

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, EXPRESSIONS, STATEMENTSÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â 9

Python Â interpreter Â and Â interactive Â mode; Â values Â and Â types: Â int, Â float, Â boolean, Â string, Â andÂ  list; variables, expressions, Â statements, tuple assignment, precedence of operators, comments; modules and functions, function definition and use, flow of execution, parameters and arguments; Â Illustrative programs: exchange the values of two variables, circulate the values of n variables, distance between two points.

UNIT IIIÂ Â Â Â Â Â Â Â Â Â  Â CONTROL FLOW, FUNCTIONSÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â 9

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Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â 9

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: selection sort, insertion sort, mergesort, histogram.

UNIT VÂ Â Â Â Â Â Â Â Â  Â FILES, MODULES, PACKAGESÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â 9

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.

OUTCOMES:

Upon completion of the course, students will be able to

• Develop algorithmic solutions to simple computational problems
• Read, write, execute by hand simple Python programs.
• Structure simple Python programs for solving problems.
• Decompose a Python program into functions.
• Represent compound data using Python lists, tuples, dictionaries.
• Read and write data from/to files in Python Programs.

TOTAL : 45 PERIODS

TEXT BOOKS:

1. 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/)
2. 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. John V Guttag, âIntroduction to Computation and Programming Using Pythonââ, Revised and

expanded Edition, MIT Press , 2013

1. Robert Sedgewick, Kevin Wayne, Robert Dondero, âIntroduction to Programming in Python:

An Inter-disciplinary Approach, Pearson India Education Services Pvt. Ltd., 2016.

1. Timothy A. Budd, âExploring Pythonâ, Mc-Graw Hill Education (India) Private Ltd.,, 2015.
2. Kenneth A. Lambert, âFundamentals of Python: First Programsâ, CENGAGE Learning, 2012.
3. Charles Dierbach, âIntroduction to Computer Science using Python: A Computational Problem- Solving Focus, Wiley India Edition, 2013.
4. Paul Gries, Jennifer Campbell and Jason Montojo, âPractical Programming: An Introduction to

Computer Science using Python 3â, Second edition, Pragmatic Programmers, LLC, 2013.