3003-syllabus
[TOC]
PROBLEM SOLVING AND PROGRAMMING L T P C 3003
COURSE OBJECTIVES
UNIT I ALGORITHMIC PROBLEM SOLVING 9
Algorithms, building blocks of algorithms (instructions/statements, state, control flow, functions), notation (pseudo code, flow chart, programming language), algorithmic problem solving, simple strategies for developing algorithms (iteration, recursion). Illustrative problems: 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 9
Python interpreter and interactive mode; values and types: int, float, booleans, strings, and lists; variables, expressions, statements, tuple assignment, precedence of operators, comments; modules and functions, function definition and use, flow of execution, parameters and arguments; Illustrative programs: exchange the values of two variables, circulate the values of n variables, test for leap year, distance between two points.
UNIT III CONTROL FLOW, FUNCTIONS 9
Conditionals: Boolean values and operators, conditional (if), alternative (if-else), chained conditional (if-elif-else); Iteration: state, while, for, break, continue, pass; Fruitful functions: return values, parameters, scope: local and global, composition, recursion; Strings: string slices, immutability, string functions and methods, string module; Lists as arrays. Illustrative programs: square root, gcd, exponentiation, sum the array of numbers, linear search, binary search.
UNIT IV COMPOUND DATA: LISTS, TUPLES, DICTIONARIES 9
Lists, list operations, list slices, list methods, list loop, mutability, aliasing, cloning lists, list parameters; Tuples, tuple assignment, tuple as return value; Dictionaries: operations and methods; advanced list processing - list comprehension; Illustrative programs: selection sort, insertion sort, merge sort, histogram.
UNIT V FILES, MODULES, PACKAGES 9
Files and exception: text files, reading and writing files, format operator, command line arguments, errors and exceptions, handling exceptions, modules, packages; Illustrative programs: word count, copy file,
TOTAL: 45 PERIODS
COURSE OUTCOMES
Upon completion of the course, students will be able to
Develop algorithmic solutions to simple computational problems
Read, write, execute by hand simple Python programs.
Structure simple Python programs for solving problems.
Decompose a Python program into functions.
Represent compound data using Python lists, tuples, dictionaries.
Read and write data from/to files in Python Programs.
TEXT BOOKS
Allen B. Downey, ``Think Python: How to Think Like a Computer Scientist’’, 2nd edition, Updated for Python 3, Shroff/O’Reilly Publishers, 2016 (http://greenteapress.com/wp/think-python/)
REFERENCES
John V Guttag, “Introduction to Computation and Programming Using Python’’, Revised and expanded Edition, MIT Press , 2013
Robert Sedgewick, Kevin Wayne, Robert Dondero, “Introduction to Programming in Python: An Inter-disciplinary Approach, Pearson India Education Services Pvt. Ltd., 2016.
Timothy A. Budd, “Exploring Python”, Mc-Graw Hill Education (India) Private Ltd.,, 2015.
Kenneth A. Lambert, “Fundamentals of Python: First Programs”, CENGAGE Learning, 2012.
Charles Dierbach, “Introduction to Computer Science using Python: A Computational Problem-Solving Focus, Wiley India Edition, 2013.
The Python Tutorial, https://docs.python.org/2.7/tutorial/
Lab
COMPUTER PRACTICES LABORATORY LTPC 0042
COURSE OBJECTIVES
To write, test, and debug simple Python programs. To implement Python programs with conditionals and loops. Use functions for structuring Python programs. Represent compound data using Python lists, tuples, dictionaries. Read and write data from/to files in Python.
List of programs
Platform needed
Python 3 interpreter for Windows/Linux TOTAL: 60 PERIODS
COURSE OUTCOMES
Upon completion of the course, students will be able to
Write, test, and debug simple Python programs.
Implement Python programs with conditionals and loops.
Develop Python programs step-wise by defining functions and calling them.
Use Python lists, tuples, dictionaries for representing compound data.
Read and write data from/to files in Python.
Last updated