## Education is Everything

### M3-R5

Programming and Problem Solving Through Python Language (M3-R5)

Introduction to Module

Python is easy to use, powerful and versatile programming language, making it a great

choice for developers. Python is used widely in different areas likes building

Raspberry Pi applications, writing script program for desktop applications,configuring servers, developing machine learning& data analytics applications and

developing web applications.

Duration

120 Hours - (Theory: 48hrs + Practical: 72 hrs)

Marks Distribution

 Module Unit Written Marks (Max.) 1. Introduction to Programming, Algorithm and Flowcharts to solve problems 20 2. Introduction to Python, Operators, Expressions and Python Statements, Sequence data types 30 3. Functions, File Processing, Modules 40 4. NumPy Basics 10 5. Total 100

Detailed Syllabus

Introduction to Programming

The basic Model of computation, algorithms, flowcharts, Programming

Languages, compilation, testing & debugging and documentation.

(ii) Algorithms and Flowcharts to Solve Problems

Flow Chart Symbols, Basic algorithms/flowcharts for sequential processing,

decision based processing and iterative processing. Some examples like:

Exchanging values of two variables, summation of a set of numbers, Decimal

Base to Binary Base conversion, Reversing digits of an integer, GCD (Greatest

Common Divisor) of two numbers, Test whether a number is prime, factorial

computation, Fibonacci sequence, Evaluate ‘sin x’ as sum of a series, Reverse

order of elements of an array, Find largest number in an array, Print elements of

upper triangular matrix, etc.

(iii) Introduction to Python

Python Introduction, Technical Strength of Python, Introduction to Python

Interpreter and program execution, Using Comments, Literals, Constants,

Python’s Built-in Data types, Numbers (Integers, Floats, Complex Numbers,

Real, Sets), Strings (Slicing, Indexing, Concatenation, other operations on Strings), Accepting input from Console, printing statements, Simple ‘Python’programs.

(iv) Operators, Expressions and Python Statements

Assignment statement, expressions, Arithmetic, Relational, Logical, Bitwise

operators and their precedence, Conditional statements: if, if-else, if-elif-else;

simple programs, Notion of iterative computation and control flow –range

function, While Statement, For loop, break statement, Continue Statement, Pass

statement, else, assert.

(v) Sequence Data Types

Lists, tuples and dictionary, (Slicing, Indexing, Concatenation, other operations

on Sequence datatype),concept of mutability, Examples to include finding

the maximum, minimum, mean; linear search on list/tuple of numbers, and

counting the frequency of elements in a list using a dictionary.

(vi) Functions

Top-down approach of problem solving, Modular programming and functions,

Function parameters, Local variables, the Return statement, DocStrings, global

statement, Default argument values, keyword arguments, VarArgs parameters.

Library function-input(), eval(),print(), String Functions: count(), find(), rfind(),

capitalize(), title(), lower(), upper(), swapcase(), islower(), isupper(), istitle(),

replace(), strip(), lstrip(), rstrip(), aplit(), partition(), join(), isspace(), isalpha(),

isdigit(), isalnum(), startswith(), endswith(), encode(), decode(), String: Slicing,

Membership, Pattern Matching, Numeric Functions: eval(), max(), min(), pow(),

round(), int(), random(), ceil(), floor(), sqrt(), Date & Time Functions, Recursion.

(vii) File Processing

Concept of Files, File opening in various modes and closing of a file, Reading from

(viii) Scope and Modules

Scope of objects and Names, LEGB Rule

(ix) NumPy Basics

Introduction to NumPy, ndarray, datatypes, array attributes, array creation routines,

Array From Existing Data, Array From Numerical Ranges, Indexing & Slicing.