IT1552 Python Programming Course Handout 2020
IT1552 Python Programming Course Handout 2020
A. Introduction: This course is offered by Dept. of Information Technology as a department elective, targeting students
who wish to pursue research & development in industries or higher studies in field of Information Technology, including
Python programming, numpy, pandas, matplotlib, scipy libraries and gives an introductory level to advanced level
knowledge on implementation of data structures as well as data analytics. Students are expected to have background
knowledge on problem solving techniques and object oriented concepts for a better learning.
B. Course Objectives: At the end of the course, students will be able to
[1552.1]. Acquire basic programming skills of Python programming.
[1552.2]. Illustrate the concept of file handling and exception handling.
[1552.3]. Implement the concept of re-usability in python.
[1552.4]. Understand and Implement the concept of analytics using python libraries like numpy, Pandas, scipy.
[1552.5]. Enhance skills required for employability or entrepreneurship.
[PO.1]. Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals,
and an engineering specialization to the solution of complex engineering problems
[PO.2]. Problem analysis: Identify, formulate, research literature, and analyze complex engineering problems
reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering sciences
[PO.3]. Design/development of solutions: Design solutions for complex engineering problems and design
system components or processes that meet the specified needs with appropriate consideration for the public health
and safety, and the cultural, societal, and environmental considerations
[PO.4]. Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis of the information to
provide valid conclusions
[PO.5]. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
engineering and IT tools including prediction and modeling to complex engineering activities with an understanding
of the limitations
[PO.6]. The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal,
health, safety, legal, and cultural issues and the consequent responsibilities relevant to the professional engineering
practice
[PO.7]. Environment and sustainability: Understand the impact of the professional engineering solutions in
societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable development
[PO.8]. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the
engineering practices
[PO.9]. Individual and team work: Function effectively as an individual, and as a member or leader in diverse
teams, and in multidisciplinary settings
[PO.10]. Communication: Communicate effectively on complex engineering activities with the engineering
community and with society at large, such as, being able to comprehend and write effective reports and design
documentation, make effective presentations, and give and receive clear instructions
[PO.11]. Project management and finance: Demonstrate knowledge and understanding of the engineering
and management principles and apply these to one’s own work, as a member and leader in a team, to manage projects
and in multidisciplinary environments
[PO.12]. Life-long learning: Recognize the need for, and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological change
[PSO.1]: To apply creativity in support of the design, simulation, implementation and inference of existing and
advanced technologies.
[PSO.2]: To participate & succeed in IT oriented jobs/competitive examinations that offer inspiring & gratifying
careers.
[PSO.3]: To recognize the importance of professional developments by pursuing postgraduate studies and positions.
D. Assessment Plan:
E. Syllabus
Python Concepts: Introduction to Python, Variables, Keywords, Identifiers, Literals, Operators, Comments; Control
Statement: if, if else, else if, nested if, for loop, while loop, break, continue, pass; Python OOPs: OOPs Concepts,
Object, Class, Constructors, Inheritance; Data structures: List, Tuple, Set, Dictionary; Functions: Functions
overview, lambda function, Recursive functions, map, filter and reduce; File and Exception handling: Create a file,
read and write operation with file, Introduction to Exceptions & Errors, Handling exceptions using try-except-else-
finally; Numpy: Introduction to Numpy, indexing and Boolean indexing, Data types and Operations; Pandas: Pandas
and its features, Creating Series and Data Frame with data inputs; Matplotlib: Matplotlib and its data visualization
features, types of plots; SciPy: Introduction, characteristics and sub-packages of SciPy.
F. Text Books
T.1 W. McKinney, “Python for Data Analysis: Data Wrangling with Pandas, NumPy, and Ipython”, Second
Edition, O’Reilly, 2017.
T.2 A. Martelli, “Python in a Nutshell”, Second Edition, O’ Reilly, 2012.
T.3 J. Georzen, T. Bower, B. Rhodes, “Foundations of Python Network Programming: The comprehensive guide
to building network applications with Python”, Second Edition, Academic Press, 2010.
G. Reference Books
R.1 A. Geron, “Hands-On Machine Learning with Scikit-Learn and Tensor Flow: Concepts, Tools, and
Techniques to Build Intelligent Systems”, First Edition, O’Reilly, 2017.
R.2 D. M. Beazley, “Python Essential Reference”, Second Edition, Amazon Books, 2010.
H. Lecture Plan:
IT 1 2 1 1
1552.3
IT 1 2 1 1 1
1552.4
IT 3 2 2
1552.5
1- Low Correlation; 2- Moderate Correlation; 3- Substantial Correlation