Skip to main content
  1. Resources/
  2. Study Materials/
  3. Information Technology Engineering/
  4. IT Semester 1/
  5. Python Programming (4311601)/

·
Milav Dabgar
Author
Milav Dabgar
Experienced lecturer in the electrical and electronic manufacturing industry. Skilled in Embedded Systems, Image Processing, Data Science, MATLAB, Python, STM32. Strong education professional with a Master’s degree in Communication Systems Engineering from L.D. College of Engineering - Ahmedabad.
Table of Contents

GUJARAT TECHNOLOGICAL UNIVERSITY (GTU)
#

Competency-focused Outcome-based Green Curriculum-2021 (COGC-2021) Semester -I
#

Course Title:

Python Programming

(Course Code: 4311601)

Diploma programme in which this course is offeredSemester in which offered
Information TechnologyFirst

1. RATIONALE
#

Computer programming skills are now becoming part of basic education as these skills are increasing of vital importance for future job and career prospects. The Python programming language is one of the most popular programming languages worldwide. The course emphasizes the use of python programming in multiple domains. Python is a modern language useful for writing compact codes specifically for programming in the area of Serverside Web development, Data Analytics, AI, and scientific computing as well as production tools and game programming.

This course focuses on developing python programming to do a variety of programming tasks where the students are encouraged to develop basic applications using different open source tools. At the end of the course, the student will be developing adequate basic programming skills using python language.

2. COMPETENCY
#

The purpose of this course is to help the student to attain the following industry identified competency through various teaching learning experiences.

· Develop a program using Python language to solve the given problem.
#

3. COURSE OUTCOMES (COs)
#

The practical exercises, the underpinning knowledge and the relevant soft skills associated with the identified competency are to be developed in the student for the following Course Outcomes (COs) achievement :

  • a) Prepare flowchart and algorithm for solving computing problems.
  • b) Develop python programs to solve simple problems.
  • c) Apply control structure feature of python for developing programs.
  • d) Develop a program in Python using built-in functions, modules, and library functions.
  • e) Develop python programs applying strings and lists manipulation concepts.

4. TEACHING AND EXAMINATION SCHEME
#

Teaching SchemeTeaching SchemeTeaching SchemeTotal CreditsExamination SchemeExamination SchemeExamination SchemeExamination SchemeExamination Scheme
(In Hours)(In Hours)(In Hours)(L+T+P/2)Theory MarksTheory MarksPractical MarksPractical MarksTotal
LTPCCAESECAESEMarks
3-4530*702525150

(*): Out of 30 marks under the theory CA, 10 marks are for assessment of the micro-project to facilitate integration of COs and the remaining 20 marks is the average of 2 tests to be taken during the semester for assessing the attainment of the cognitive domain UOs required for the attainment of the COs .

Legends: LLecture; T - Tutorial/Teacher Guided Theory Practice; P -Practical; C - Credit, CA -Continuous Assessment; ESE -End Semester Examination.

5. SUGGESTED PRACTICAL EXERCISES
#

The following practical outcomes (PrOs) are the sub-components of the COs. These PrOs need to be attained to achieve the COs.

S. No.Practical Outcomes (PrOs)Unit No.Approx. Hrs. required
1Prepare flowchart and algorithm for a given problem.(Following are the sample programs. Faculty can select any other similar programs for the practice of the students.) i. Find the sum of two given numbers. ii. Find a maximum out of two given numbers. iii. Find whether a given number is odd or even. iv. Find a maximum out of three given numbers.I02
2Install & configure python software.II02
3Create a program to print your name, mobile number, and date of birth.II02
4Develop a program to identify data-types in python.II02
5Create a program to read three numbers from the user and find the average of the numbers.II02
6Develop a program that can calculate simple interest and compound interest on given data.II02
7Write a program to convert temperature from Fahrenheit to Celsius unit using eq: C=(F-32)/1.8II02
8Identify whether the scanned number is even or odd and print an appropriate message.III02
9Create a program to find a maximum number among the given three numbers.III02
10Develop a program to demonstrate the basic functionalities of a standard calculator.III02
11Write a python program to print 1 to 10 numbers using loops.III02
12Develop a program to find odd and even numbers from 1 to N numbers. (Where N is an integer number)III02
13Write a program to show whether the entered number is prime or not.III02
S. No.Practical Outcomes (PrOs)Practical Outcomes (PrOs)Unit No.Approx. Hrs. required
14Create a program to display the following patterns.Create a program to display the following patterns.III02
14A) 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5B) * * * * * * * * * * * * * * *
15Create a user-defined function to print the Fibonacci series of 0 to N numbers. (Where N is an integer number and passed as an argument)Create a user-defined function to print the Fibonacci series of 0 to N numbers. (Where N is an integer number and passed as an argument)IV04
16Develop a user-defined function to find the factorial of a given number.Develop a user-defined function to find the factorial of a given number.IV02
17Write a program using the function that reverses the entered value.Write a program using the function that reverses the entered value.IV02
18Write a program that determines whether a given number is an armstrong number or a palindrome using a user-defined function.Write a program that determines whether a given number is an armstrong number or a palindrome using a user-defined function.IV04
19Write a program to find the length of a string.Write a program to find the length of a string.V02
20Write a program to reverse words in a given sentence.Write a program to reverse words in a given sentence.V02
21Write a program to check if a substring is present in a given string.Write a program to check if a substring is present in a given string.V02
22Write a program to count and display the number of vowels, consonants, uppercase, lowercase characters in a string.Write a program to count and display the number of vowels, consonants, uppercase, lowercase characters in a string.V02
23Develop programs to perform the following list operations. a)To swap given two elements in a list. b)To find the sum of elements in a list.Develop programs to perform the following list operations. a)To swap given two elements in a list. b)To find the sum of elements in a list.V02
24Develop programs to perform the following list operations. a)To check if an element exists in a given list. b)To find the smallest and largest element in a given list.Develop programs to perform the following list operations. a)To check if an element exists in a given list. b)To find the smallest and largest element in a given list.V02
25a) Given a list saved in variable: a = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]. Write one line of Python that takes this list and makes a new list that has only the even elements of this list in it. b) Create a list containing the square of all odd numbers from range 1 to 10. c) Create a list of prime and non-prime numbers in range 1 to 50.a) Given a list saved in variable: a = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]. Write one line of Python that takes this list and makes a new list that has only the even elements of this list in it. b) Create a list containing the square of all odd numbers from range 1 to 10. c) Create a list of prime and non-prime numbers in range 1 to 50.V04
TotalTotalTotal56

Note
#

  • i. More Practical Exercises can be designed and offered by the respective course teacher to develop the industry relevant skills/outcomes to match the COs. The above table is only a suggestive list .
  • ii. The following are some sample ‘Process’ and ‘Product’ related skills (more may be added/deleted depending on the course) that occur in the above listed Practical Exercises of this course required which are embedded in the COs and ultimately the competency.
S. No.Sample Performance Indicators for the PrOsWeightage in %
1Identify suitable approach to implement logic25
2Use pre-built packages/functions20
3Use python concepts to implement efficient program25
4Follow different input test cases to check output10
5Identify and mend coding errors in a program / Interpret the result and conclude20
TotalTotal100

6. MAJOR EQUIPMENT/ INSTRUMENTS AND SOFTWARE REQUIRED
#

These major equipment with broad specifications for the PrOs is a guide to procure them by the administrators to usher in uniformity of practical in all institutions across the state.

S. No.Equipment Name with Broad SpecificationsPrO. No.
1Computer system with operating system: Windows 7 or higher Ver., macOS, and Linux, with 4GB or higher RAM, Python versions: 2.7.X, 3.6.XAll
2Python IDEs and Code Editors Open Source : IDLE, Jupyter2 to 8

7. AFFECTIVE DOMAIN OUTCOMES
#

The following sample Affective Domain Outcomes (ADOs) are embedded in many of the above mentioned COs and PrOs. More could be added to fulfil the development of this course competency.

  • a) Follow safety practices.
  • b) Practice good housekeeping.
  • c) Demonstrate working as a leader/a team member.
  • d) Maintain tools and equipment
  • e) Follow ethical practices.

The ADOs are best developed through the laboratory/field based exercises. Moreover, the level of achievement of the ADOs according to Krathwohl’s ‘Affective Domain Taxonomy’ should gradually increase as planned below:

  • i. ‘Valuing Level’ in 1 st year
  • ii. ‘Organization Level’ in 2 nd year.
  • iii. ‘Characterization Level’ in 3 rd year.

8. UNDERPINNING THEORY
#

The major underpinning theory is given below based on the higher level UOs of Revised Bloom’s taxonomy that are formulated for development of the COs and competency. If required, more such UOs could be included by the course teacher to focus on attainment of COs and competency.

UnitUnit Outcomes (UOs) (4 to 6 UOs at different levels)Topics and Sub-topics
Unit - I Problem Solving using Flowchart and Algorithm1.1 Explain steps to solve a problem. 1.2 Draw flowchart of given problem based on sequence, selection, repetition. 1.3 Write pseudocode for the given problems.1.1.1 Introduction, Steps for problem-solving, Algorithm and its characteristics, Importance of flowchart and algorithm 1.2.1 Symbolic representation of a flowchart, Limitations of flowchart Flow of control 1.3.1 Problem solving using pseudocode
Unit - II Python Introduction2.1 Explain the given features and applications of python. 2.2 Write steps to Install the latest version of python 2.3 Apply given keywords, identifiers, variables, data types, and operators in python programs. 2.4 Write pseudocode for the explicit and implicit type conversion.2.1.1 Introduction to python, Python features, Applications of python programming 2.2.1 Python installation 2.3.1 Basic structure of python program, Keywords, identifiers, and variables, Data types, Operators 2.4.1 Type Conversion
Unit- III Flow of Control3.1 Classify control structure. 3.2 Write pseudocode for the flow of control using different selection types. 3.3 Write pseudocode for the flow of control using different repetition types. 3.4 Implement break and continue statements in the python program.3.1.1 Introduction to Flow of Control 3.2.1 Selection - If statement - Elif statement - Nested if statement 3.3.1 Repetition - For loop - While loop - Nested loop 3.4.1 Break and Continue Statements
Unit- IV Functions4.1 Write pseudocode for user- defined functions. 4.2 Apply Global and Local variable concepts in python program. 4.3 Use built-in functions and modules.4.1.1 Introduction to Functions - User Defined Functions - Arguments and Parameters 4.2.1Scope of a Variable - Global Variable - Local Variable
UnitUnit Outcomes (UOs) (4 to 6 UOs at different levels)Topics and Sub-topics
4.3.1 Python Standard Library - Built-in functions - Input or output - input() , print() - Mathematical Functions - abs(), divmod(), max(), min(), pow(), sum() - Module - math - random - statistics
Unit- V Strings and Lists5.1 Use of string operations in python programs. 5.2 Use built-in functions for string manipulation. 5.3 Write pseudocode for list operations. 5.4 Use built-in functions for list manipulation.5.1.1 Introduction to Strings, String Operations, Traversing a String 5.2.1 Strings Methods and Built-in Functions 5.3.1 Introduction to List and its Operations 5.4.1 List Methods and Built-in Functions - Nested and Copying Lists - List as Arguments to Function

9. SUGGESTED SPECIFICATION TABLE FOR QUESTION PAPER DESIGN
#

Unit No.Unit TitleTeaching HoursDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory MarksDistribution of Theory Marks
Unit No.Unit TitleTeaching HoursR LevelU LevelATotal Marks
IProblem Solving using Flowchart and Algorithm0402020408
IIIntroduction to Python0804040412
IIIFlow of Control1004040816
IVFunctions0804040816
VStrings and Lists1202061018
TotalTotal4216203470

Legends: R=Remember, U=Understand, A=Apply and above (Revised Bloom’s taxonomy)

Note : This specification table provides general guidelines to assist students for their learning and to teachers to teach and question paper designers/setters to formulate test items/questions to assess the attainment of the UOs. The actual distribution of marks at different taxonomy levels (of R, U and A) in the question paper may slightly vary from above table.

10. SUGGESTED STUDENT ACTIVITIES
#

Other than the classroom and laboratory learning, following are the suggested studentrelated co-curricular activities which can be undertaken to accelerate the attainment of the

various outcomes in this course: Students should perform following activities in group and prepare reports of about 5 pages for each activity. They should also collect/record physical evidences for their (student’s) portfolio which may be useful for their placement interviews:

  • a) Prepare a document which differentiates python versions.
  • b) Undertake micro-projects in teams
  • c) Give a seminar on any relevant topics.
  • d) Undertake a market survey of different python frameworks.

11. SUGGESTED SPECIAL INSTRUCTIONAL STRATEGIES (if any)
#

These are sample strategies, which the teacher can use to accelerate the attainment of the various outcomes in this course:

  • a) Massive open online courses ( MOOCs ) may be used to teach various topics/subtopics.
  • b) Guide student(s) in undertaking micro-projects.
  • c) ‘L’ in section No. 4 means different types of teaching methods that are to be employed by teachers to develop the outcomes.
  • d) About 20% of the topics/sub-topics which are relatively simpler or descriptive in nature is to be given to the students for self-learning , but to be assessed using different assessment methods.
  • e) With respect to section No.10 , teachers need to ensure to create opportunities and provisions for co-curricular activities .
  • f) Guide students for open source python editors.

12. SUGGESTED MICRO-PROJECTS
#

Only one micro-project is planned to be undertaken by a student that needs to be assigned to him/her in the beginning of the semester. In the first four semesters, the micro-project are group-based (group of 3 to 5). However, in the fifth and sixth semesters , the number of students in the group should not exceed three.

The micro-project could be industry application based, internet-based, workshop-based, laboratory-based or field-based. Each micro-project should encompass two or more COs which are in fact, an integration of PrOs, UOs and ADOs. Each student will have to maintain dated work diary consisting of individual contribution in the project work and give a seminar presentation of it before submission. The duration of the microproject should be about 14 -16 (fourteen to sixteen) student engagement hours during the course. The students ought to submit micro-project by the end of the semester to develop the industry-oriented COs.

A suggestive list of micro-projects is given here. This has to match the competency and the COs. Similar micro-projects could be added by the concerned course teacher:

  • Case Study 1: Compare three various tools functionality for python programming development.
  • Case Study 2: List out new features of python 3.9 version and compare with older two different versions.
  • Case Study 3: Study math module of python and explain real life usage with examples.

13. SUGGESTED LEARNING RESOURCES
#

S. No.Title of BookAuthorPublication with place, year and ISBN
1Learn Programming in Python with Cody JacksonCody JacksonPackt Publishing, 2018, ISBN : 9781789531947
2Python Basics: A Practical Introduction to Python 3David Amos, Dan Bader et. al.Real Python, 2021 ISBN : 9781775093329
3Introduction to Problem Solving with PythonE. BalagurusamyMc Graw Hill India, New Delhi, 2017 ISBN: 9789352602582
4Beginning PythonJames PayneWiley, 2010 ISBN: 9780470414637
5Think PythonAllen DowneyO’Reilly, USA, 2016, ISBN : 978-9352134755

14. SOFTWARE/LEARNING WEBSITES
#

15. PO-COMPETENCY-CO MAPPING
#

Semester ISemester IPython Programing (Course Code : 4311601)Python Programing (Course Code : 4311601)Python Programing (Course Code : 4311601)Python Programing (Course Code : 4311601)Python Programing (Course Code : 4311601)Python Programing (Course Code : 4311601)Python Programing (Course Code : 4311601)
Competency & Course OutcomesCompetency & Course OutcomesPO 1 Basic & Discipline specific knowledgePO 2 Problem AnalysisPO 3 Design/ develop- ment of solutionsPOs PO 4 Engineering Tools, Experimen- tation &TestingPO 5 Engineering practices for society, sustainability & environmentPO 6 Project Manage- mentPO 7 Life-long learning
CompetencyCompetencyDevelop a program using Python language to solve a the given problemDevelop a program using Python language to solve a the given problemDevelop a program using Python language to solve a the given problemDevelop a program using Python language to solve a the given problemDevelop a program using Python language to solve a the given problemDevelop a program using Python language to solve a the given problemDevelop a program using Python language to solve a the given problem
CO a)Course Outcomes Prepare flowchart and algorithm for solving computing problems.3232-23
CO b) Develop python programs to solve simple problems.3232-23
CO c)Apply control structures of python for developing programs.3-33-33
CO d)Develop a program in Python using built-in functions, modules, and library functions.-333-33
CO e)Develop python programs applying strings and lists manipulation concepts.-333-32

Legend: ’ 3’ for high, ’ 2 ’ for medium, ‘1’ for low and ‘-’ for no correlation of each CO with PO.

16. COURSE CURRICULUM DEVELOPMENT COMMITTEE
#

GTU Resource Persons
#

S. No.Name and DesignationInstituteContact No.Email
1Mr. Mayank V. ParekhGovernment Polytechnic, Ahmedabad079-26301285mayank.parekh50 @gmail.com
2Ms. Ayesha S. ShaikhR.C. Technical Institute, Ahmedabad079-27664785 (Ext. 961 & 962)shaikh.ayesha0014 @gmail.com
3Mr. Hardik MandoraR.C. Technical Institute, Ahmedabad079-27664785 (Ext. 961 & 962)hmandora@gmail.com

NITTTR Resource Persons
#

S. No.Name and DesignationDepartmentContact No. Email
1Dr. M.A. Rizvi, Associate ProfessorComputer Science and Engineering Education0755-2661600 marizvi@nitttrbpl.ac.in
2Dr. K.J. Mathai, Associate ProfessorMedia Research and Development Education0755-2661600 kjmathai@nitttrbpl.ac.in