Python Application Programming - 18CS752 - Syllabus
Python Application Programming - 18CS752 - Syllabus
Python Application Programming - 18CS752 - Syllabus
Course Learning Objectives: This course (18CS752) will enable students to:
Module 1
Why should you learn to write programs, Variables, expressions and statements, Conditional execution,
Functions
Terminology: interpreter and compiler, Writing a program, What is a program? The building blocks of
programs, what could possibly go wrong?, The learning journey
Variables-Values and types, variables, variable name and keywords, Statements, Operator and operands
Functions- Function calls, Built-in functions, Type Conversion functions, Random numbers, Math
functions, Adding new functions, Definition and uses, Flow of execution, Parameters and arguments,
Fruitful functions and void functions, Why functions? Debugging
Textbook 1: Chapters 1 – 4
RBT: L1, L2
Module 2
Iteration, Strings, Files
Iteration-Updating variables, The while statement, Infinite Loops, "Infinite Loops" and break, Finishing
iterations with continue, Definite loops using for
Loop patterns---Counting and summing loops, Maximum and minimum loops, Debugging
Strings-A string is a sequence, Getting the length of a string using len, Traversal through a string with a
loop, String slices, Strings are immutable, Looping and counting, The in operator, String comparison,
String methods, Parsing strings, Format operator, Debugging
Files-Persistence, Opening files, Text files and lines, Reading files, Searching through a file, Letting the
user choose the filename, Using try, except and open, Writing files, Debugging
Textbook 1: Chapters 5– 7
Module 3
Lists, Dictionaries, Tuples, Regular Expressions
Lists-A list is a sequence, Lists are mutable, Traversing a list, List Operations, List slices, List methods,
Deleting elements, Lists and Functions, Lists and Strings, Parsing lines, Objects and values, Aliasing,
List arguments, Debugging
Dictionaries-As a set of counters, Dictionaries and files, Looping and Dictionaries, Advanced text
parsing, Debugging
Tuples- Tuples are immutable, Comparing tuples, Tuple assignment, Dicitionaries and tuples, multiple
assignment with dictionaries, The most common words, using tuples as keys in dictionaries
Textbook 1: Chapters 8 – 11
Module 4
Classes and objects, Classes and functions, Classes and methods
Classes and Objects - Programmer Defined Types, Attributes, Rectangles, Instances as Return Values,
Objects are Mutable, Copying, Debugging
Classes and Functions - Time, Pure, Functions, Modifiers, Prototyping and Planning, Debugging
Classes and Methods-Object-Oriented Features, Printing Objects, Another Example, A more
complicated Example, The init Method, The_str_method, Operator Overloading, Type-based Dispatch,
polymorphism, Interface and Implementation, Debugging.
Textbook 2: Chapters 15 – 17
RBT: L1, L2, L3
Module 5
Networked programs, Using Web Services, Using databases and SQL
Networked programs-HTTP, The world's simplest Web browser, Retriving an image over HTTP,
Retrieving web pages with urlib, Parsing HTML and scaping the web, Parsing HTML using regular
expressions, Parsing HTML using BeautifulSoup, Reading binary files using urllib.
Using Web Services-eXtensible Markup Language-XML, Parsing XML, Looping through nodessss,
JAvascript Object Notation- JSON, Parsing JSON, Application Programming Interfaces, Google
geocoding web service, Security and API usage
Using databases and SQL-What is a database? Database concepts, Database Browser for SQLite,
Creating a database table, Structured Query Language summary, Spidering Twitter using a database,
SQL Basic data modeling, Programming with multiple tables, Constraints in database tables, Retrieve
and/or insert a record, Storing the friend relationship, Three kinds of keys, Using JOIN to retrieve data,
Debugging.
Examine Python syntax and semantics and be fluent in the use of Python flow control and
functions.
Demonstrate proficiency in handling Strings and File Systems.
Create, run and manipulate Python Programs using core data structures like Lists, Dictionaries
and use Regular Expressions.
Interpret the concepts of Object-Oriented Programming as used in Python.
Implement exemplary applications related to Network Programming, Web Services and
Databases
Textbooks:
1. Charles R. Severance, “Python for Everybody: Exploring Data Using Python 3”, 1st Edition,
CreateSpace Independent Publishing Platform, 2016.
(http://do1.drchuck.com/pythonlearn/EN_us/pythonlearn.pdf )
2. Allen B. Downey, "Think Python: How to Think Like a Computer Scientist”, 2ndEdition, Green
Tea Press, 2015. (http://greenteapress.com/thinkpython2/thinkpython2.pdf) (Download pdf files
from the above links)
Reference Books:
1. Charles Dierbach, "Introduction to Computer Science Using Python",1st Edition, Wiley India
Pvt Ltd, 2015. ISBN-13: 978-8126556014
2. Gowrishankar S, Veena A, “Introduction to Python Programming”, 1st Edition, CRC
Press/Taylor & Francis, 2018. ISBN-13: 978-0815394372
3. Mark Lutz, “Programming Python”,4th Edition, O’Reilly Media, 2011.ISBN-13: 978-
350232873
4. Roberto Tamassia, Michael H Goldwasser, Michael T Goodrich, “Data Structures and
Algorithms in Python”,1stEdition, Wiley India Pvt Ltd, 2016. ISBN-13: 978-8126562176
5. Reema Thareja, “Python Programming Using Problem Solving Approach”, Oxford university
press, 2017. ISBN-13: 978-0199480173