This notes contains the following topics UNIT I ALGORITHMIC PROBLEM SOLVING (GE8151) 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 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 Python interpreter and interactive mode; values and 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 exchange the values of two variables, circulate the values of n variables, distance between two points. UNIT III CONTROL FLOW, FUNCTIONS Boolean values and operators, conditional (if), alternative (if-else), chained conditional (if-elif-else); state, while, for, break, continue, pass; Fruitful return values, parameters, local and global scope, function composition, recursion; string slices, immutability, string functions and methods, string module; Lists as arrays. Illustrative square root, gcd, exponentiation, sum an array of numbers, linear search, binary search. UNIT IV LISTS, TUPLES, DICTIONARIES list operations, list slices, list methods, list loop, mutability, aliasing, cloning lists, list parameters; tuple assignment, tuple as return value; operations and methods; advanced list processing – list comprehension; Illustrative selection sort, insertion sort, mergesort, histogram. UNIT V FILES, MODULES, PACKAGES Files and text files, reading and writing files, format operator; command line arguments, errors and exceptions, handling exceptions, modules, packages; Illustrative word count, copy file.