Python is easy to use, powerful and versatile, making it a great choice for developers. Python is used widely in different areas like building Raspberry Pi applications, writing script programs for desktop applications, configuring servers, developing machine learning & data analytics applications, and developing web applications.
What will you learn
- 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, and Dictionaries wherever required
- Manage data using Numpy
- Handle files and create Modules in Python
(i) 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 Division) of two numbers, Test whether a number is prime, factorial computation, Fibonacci sequence, Evaluate ‘sin x’ as the sum of a series, Reverse the order of elements of an array, Find the largest number in an array, Print elements of the 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 data type), the concept of mutability, Examples to include finding the maximum, minimum, mean; linear search on the list/tuple of numbers, and counting the frequency of elements in a list using a dictionary.
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.
(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.
(viii) Scope and Modules
Scope of objects and Names, LEGB Rule Module Basics, Module Files as Namespaces, Import Model, Reloading Modules.
(ix) NumPy Basics
Introduction to NumPy,ndarray, data types, array attributes, array creation routines, Array From Existing Data, Array From Numerical Ranges, Indexing & Slicing.