## O Level Induction of Programming and Problem Solving through Python Language

Python is easy to use, powerful and versatile, making it a great choice for developers. Python is used widely in different areas likes building Raspberry Pi applications, writing a script program for desktop applications, configuring servers, developing machine learning & data analytics applications, and developing web applications.

## O Level – Programming and Problem Solving through Python Language _ Objective

The objectives of this module are to make the beginners understand the programming language concepts like Data Types, Loops, Functions; Python Lists, Strings, Tuples, Dictionaries, Elementary Data Handling using Pandas, NumPy Arrays, Creating Forms etc.

After completion of this course, the learner is expected to analyze the real-life problem and write a program in Python to solve the problem. The main emphasis of the module will be on writing an algorithm to solve problems and implement in Python. After completion of the module, the learner will be able to

- Draw flow charts for solving different problems
- Develop efficient algorithms for solving a problem
- Use the various constructs of Python viz. conditional, iteration
- Write programs making judicious use of Lists, Strings, Tuples, Dictionaries

wherever required - Manage data using Numpy
- Handle files and create Modules in Python

## O Level IT – Programming and Problem Solving through Python Language Marks Distribution

Marks Distribution Module Unit |
Written Marks (Max.) |

Introduction to Programming, Algorithm and Flowcharts to solve problems |
20 |

Introduction to Python, Operators, Expressions and Python Statements, Sequence data types |
30 |

Functions, File Processing, Modules | 30 |

NumPy Basics | 20 |

Total |
100 |

## O Level Syllabus Paper – Programming and Problem Solving through Python Language

### Unit (i): Introduction to Programming

The basic Model of computation, algorithms, flowcharts, Programming Languages, compilation, testing & Debugging and documentation.

### Unit (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 Division) 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.

### Unit (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.

### Unit: (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.

### Unit: (v) Sequence Data Types

Lists, tuples and dictionary, (Slicing, Indexing, Concatenation, other operations on Sequence data type), 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.

### Unit: (vi) Functions

The 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.

### Unit: (vii) File Processing

Concept of Files, File opening in various modes and closing of a file, Reading from a file, Writing onto a file, File functions-open(), close(), read(), readline(),readlines(),write(), writelines(),tell(),seek(), Command Line arguments.

### Unit: (viii) Scope and Modules

Scope of objects and Names, LEGB Rule Module Basics, Module Files as Namespaces, Import Model, Reloading Modules.

### Unit: (ix) NumPy Basics

Introduction to NumPy ,ndarray, datatypes, array attributes, array creation routines, Array From Existing Data, Array From Numerical Ranges, Indexing & Slicing.