Course Overview
The objectives of this course are to make the student understand programming language, programming, concepts of Loops, reading a set of Data, stepwise refinement, Functions, Control structure, Arrays. After completion of this course the student is expected to analyze the real life problem and write a program in ‘Python’ language to solve the problem. The main emphasis of the course will be on problem solving aspect i.e. developing proper algorithms
What You Will Learn
- 1.Introduction to Programming : The basic Model of computation, algorithms, flowcharts, Programming Languages, compilation, testing & debugging and documentation.
- 2. Algorithms and Flowcharts : Flow Chart Symbols, Basic algorithms/flowcharts for sequential processing, decision-based processing and iterative processing. Examples like Exchanging values of two variables, summation of a set of numbers, Decimal Base to Binary Base conversion, Reverse digits of an integer, GCD (Greatest Common Divisor) of two numbers, Test whether a number is prime, factorial computation, Fibonacci sequence, Reverse order of elements of an array, Find largest number in an array, etc
- 3. Programming with 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)
- 4. Python constructs : 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.
- 5. Sting Handling and Sequence Data types : String Handling: Strings (Slicing, Indexing, Concatenation, other operations on Strings), Accepting input from Console, printing statements, Simple ‘Python’ programs. 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.
- 6. Functions: Top-down approach of problem solving, Modular programming and functions, Function parameters, Local variables, the Return statement, Default argument values, keyword arguments, VarArgs parameters. Library function : e.g. input(), eval(),print() String Functions: e.g. count(), find(), rfind(), capitalize(), title(), lower(), upper(), swapcase(), islower(), isupper(), istitle(), replace(), strip() Numeric Functions: e.g. eval(), max(), min(), pow(),Date & Time Functions, Recursion. Packages and Modules: Scope of objects and Names, LEGB Rule Module Basics, Module Files as namespaces, Import Model, Reloading Modules.
- 7. Introduction to NumPy : Array Processing Package, Array types, Array slicing, Computation on NumPy Arrays – Universal functions, Aggregations: Min, Max, etc., N-Dimensional arrays, Broadcasting, Fancy indexing, sorting arrays
Prerequisites
- Basic Computer
