2180711 PP Syllabus
2180711 PP Syllabus
Python Programming 2180711 Syllabus
GUJARAT TECHNOLOGICAL UNIVERSITY
SUBJECT CODE: 2180711
B.E. 8th SEMESTER
Type of course: Department Elective III
Prerequisite: Programming Concepts
Rationale: Python is a modern language useful for writing compact codes specifically for programming in the area of Server side Web development, Data Analytics, AI and scientific computing as well as production tools and game programming. This course covers the basics and advanced Python programming to harness its potential for modern computing requirements.
Teaching and Examination Scheme:
|Teaching Scheme||Credits||Examination Marks||Total
|L||T||P||C||Theory Marks||Practical Marks|
|PA (M)||ESE (V)||PA
|Sr. No.||Content||Total Hrs||% Weightage|
|1||Introduction to Python
• The basic elements of python
• Branching Programs
• Control Structures
• Strings and Input
|2||Functions, Scoping and Abstraction
• Functions and scoping
• Global variables
• System Functions and Parameters
|3||Structured Types, Mutability and Higher-Order Functions
• Strings, Tuples, Lists and Dictionaries
• Lists and Mutability
• Functions as Objects
|4||Testing, Debugging, Exceptions and Assertions
• Types of testing – Black-box and Glass-box
• Handling Exceptions
|5||Classes and Object-Oriented Programming
• Abstract Data Types and Classes
• Encapsulation and Information Hiding
|6||Simple Algorithms and Data structures
• Search Algorithms
• Sorting Algorithms
• Hash Tables
|7||Advanced Topics I
• Regular Expressions – REs and Python
• Plotting using PyLab
• Networking and Multithreaded Programming – Sockets, Threads and Processes, Chat Application
|8||Advance Topics II
• Security – Encryption and Decryption , Classical Cyphers
• Graphics and GUI Programming – Drawing using Turtle, Tkinter and Python, Other GUIs
Suggested Specification table with Marks (Theory):
|Distribution of Theory Marks|
|R Level||U Level||A Level||N Level||E Level|
Legends: R : Remembrance ; U = Understanding; A = Application; N = Analyze; E = Evaluation and above Levels (Revised Bloom’s Taxonomy) Reference Books:
- John V Guttag. “Introduction to Computation and Programming Using Python”, Prentice Hall of India
- Nageswara Rao, “Core Python Programming”, dreamtech
- Wesley J. Chun. “Core Python Programming – Second Edition”, Prentice Hall
- Michael Goodrich, Roberto Tamassia, Michael H. Goldwasser, “Data Structures and Algorithms in Pyhon”, Wiley
- Kenneth A. Lambert, “Fundamentals of Python – First Programs”, CENGAGE Publication
- Luke Sneeringer, “Professional Python”, Wrox
- “Hacking Secret Ciphers with Python”, Al Sweigart, URL- https://inventwithpython.com/hacking/chapters
After learning the course, the student will be able:
- To develop proficiency in creating based applications using the Python Programming Language.
- To be able to understand the various data structures available in Python programming language and apply them in solving computational problems.
- To be able to do testing and debugging of code written in Python.
- To be able to draw various kinds of plots using PyLab.
- To be able to do text filtering with regular expressions in Python
- To be able to create socket applications in Python
- To be able to create GUI applications in Python Following guideline is to be kept in mind while framing the list:
- At least 25 programs are to be assigned.
- Programs should cover particular feature from syntactic concepts together with advanced topics and definition based on real life problem.
- Practical list should cover entire syllabus.
- List of Experiments :
- Develop programs to understand the control structures of python
- Develop programs to learn different types of structures (list, dictionary, tuples) in python
- Develop programs to learn concept of functions scoping, recursion and list mutability.
- Develop programs to understand working of exception handling and assertions.
- Develop programs for data structure algorithms using python – searching, sorting and hash tables.
- Develop programs to learn regular expressions using python.
- Develop chat room application using multithreading.
- Learn to plot different types of graphs using PyPlot.
- Implement classical ciphers using python.
- Draw graphics using Turtle.
- Develop programs to learn GUI programming using Tkinter.
- Latest PCs with related software
List of Open Source Software/learning website:
- Turtle – https://docs.python.org/2/library/turtle.html
- PyLab – https://scipy.github.io/old–wiki/pages/PyLab
ACTIVE LEARNING ASSIGNMENTS: Preparation of power-point slides: which include videos, animations, pictures, graphics for better understanding theory and practical work. The faculty will allocate chapters/ parts of chapters to groups of students so that the entire syllabus can be covered. The power-point slides should be put up on the web-site of the College/ Institute, along with the names of the students of the group, the name of the faculty, Department and College on the first slide. The best three works should submit to GTU.