Unit I : Problem Solving, Programming and Python Programming General Problem Solving Concepts - Problem solving in everyday life, types of problems, problem solving with computers, difficulties with problem solving, problem solving aspects, top down design. Problem Solving Strategies. Program Design Tools : Algorithms, Flowcharts and Pseudo-codes, implementation of algorithms. Basics of Python Programming : Features of Python, History and Future of Python, Writing and executing Python program, Literal constants, variables and identifiers, Data Types, Input operation, Comments, Reserved words, Indentation, Operators and expressions, Expressions in Python. (Chapter - 1) Unit II : Decision Control Statements Decision control statements, Selection/conditional branching Statements: if, if-else, nested if, if-elif-else statements. Basic loop Structures/Iterative statements: while loop, for loop, selecting appropriate loop. Nested loops, The break, continue, pass, else statement used with loops. Other data types- Tuples, Lists and Dictionary. (Chapter - 2) Unit III : Functions and Modules Need for functions, Function : definition, call, variable scope and lifetime, the return statement. Defining functions, Lambda or anonymous function, documentation string, good programming practices. Introduction to modules, Introduction to packages in Python, Introduction to standard library modules. (Chapter - 3) Unit IV : Strings Strings and Operations - concatenation, appending, multiplication and slicing. Strings are immutable, strings formatting operator, built in string methods and functions. Slice operation, ord() and chr() functions, in and not in operators, comparing strings, Iterating strings, the string module. (Chapter - 4) Unit V : Object Oriented Programming Unit VI : File Handling and Dictionaries