Advance Python Programming

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

Government of Pakistan

National Vocational and Technical Training Commission

Prime Minister Hunarmand Pakistan Program,


"Skills for All"

Course Contents/ Lesson Plan


Course Title: Advance Python Programming
Duration: 3 Months

NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad


051-9044250
Trainer Name
Course Title Advance Python Programming
Objective of Course "Advance Python Programming" course is to equip individuals with employable skills
and hands-on practice for Python programming and its applications. In line with the
latest TIOBE Programming Community Index, which ranks Python among the top 10
popular programming languages, this course aims to provide comprehensive training
in Python's general-purpose and high-level programming capabilities.

Participants will learn to develop desktop GUI applications, websites, and web
applications using Python. With its emphasis on simplicity and readability, Python
enables developers to focus on core functionality while streamlining common
programming tasks. By mastering advanced technologies and terminologies in
Python, participants will gain the expertise needed to create efficient and
maintainable tools and software in various domains.

Through practical exercises, real-world projects, and a structured curriculum


spanning 12 weeks, participants will enhance their Python programming skills and
become proficient in leveraging Python's capabilities for software development and
problem-solving. This course aims to empower individuals to excel in the dynamic
field of programming and stay competitive in today's job market.
Course Execution Plan Total Duration of Course: 3 Months (12 Weeks)
Class Hours: 4 Hours per day
Theory: 20% Practical: 80%
Weekly Hours: 20 Hours Per week
Total Contact Hours: 240 Hours

NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad


051-9044250
By the end of the course, students will have acquired a comprehensive skill set in
Learning Outcome of advanced Python programming, empowering them to tackle challenging real-world
the Course problems and contribute effectively to software development projects.

• Master program design, development, debugging, execution, and refactoring in


Python.
• Apply algorithmic thinking to solve problems effectively in Python.
• Utilize Python Standard Library to resolve implementation challenges.
• Understand the programmer's role in software development.
• Create a standout programming portfolio for the job market
• Google
Companies Offering • Facebook
Jobs in the • Amazon
respective • Microsoft
trade • Apple
• IBM
• Intel
• Cisco
• Oracle
• NVIDIA
• Freelancing
These companies, among others, regularly seek professionals proficient in advanced
Python programming skills for various positions ranging from software development to
data analysis and machine learning.
In recent years, Python has emerged as a leading programming language globally,
Job Opportunities witnessing a surge in demand across industries. From mobile application
development to web development, and from machine learning to data science, the
industry seeks skilled Python developers. The ubiquitous presence of machine
learning underscores the widespread adoption of Python. This trend not only presents
lucrative earning prospects but also opens pathways for establishing a rewarding
career in this dynamic field. Through this course, we aim to equip our youth with
cutting-edge technical training in information technology. Additionally, the
burgeoning market demand fosters opportunities for startup entrepreneurship,
particularly in the designated roles mentioned above.

• Python Developer
• Software Engineer
• Data Analyst
• Machine Learning Engineer
• Web Developer
• Automation Engineer
• GUI Developer
• Data Scientist
• Full Stack Developer
• AI Engineer

No of Students 20-24
NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad
051-9044250
Learning Place Labs
Instructiona These links will guide students to dedicated resources providing tutorials, courses,
lResources documentation, and practice platforms, all aimed at improving their proficiency in
advanced Python programming.

Development Platform:
● https://colab.research.google.com
● https://www.codeskulptor.org
● https://www.repl.it
● https://anaconda.com

Learning Material:
● https://github.com
● https://docs.python.org
● https://w3schools.com
● https://tutorialspoint.com
● https://simpleisbetterthancomplex.com
● https://www.geeksforgeeks.org
● https://www.edx.org/course/introduction-to-computer-science-and-
programming-7
● https://www.codecademy.com/learn/learn-python-3
● https://realpython.com/
● https://pythoninstitute.org/

NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad


051-9044250
Scheduled Learning Units Home Assignment
Module Title Day
Week
Introduction to Python - History, creators, • Task 1:
significance. - Exploring Python's popularity and Details may be
its applications in web development. -
Day 1 Understanding different versions of Python and seen at Annexure-I
minor differences. - Basic concepts: Variables,
data types, and basic operations.

Installing Python 3.7+ version. - Setting up


Anaconda distribution for Python. - Installing
Day 2 packages using PIP (Module Installations). -
Basic concepts: Control structures (if, else, elif),
loops (for, while).
Setting up Virtual Environments for Python
Basic projects. - Overview of Python IDEs and Text
Week 1/12 Programming Day 3 Editors (Jupyter Notebooks, Pycharm
Concepts Community Edition, Spider). - Basic concepts:
Functions, modules, and libraries.
Introduction to Python Standard Library. -
Exploring commonly used modules in Python
Day 4
Standard Library (e.g., os, sys, math). - Basic
concepts: Exception handling, file handling.
Review of the week's concepts and practical
exercises. - Basic concepts: Object-oriented
programming (classes, objects, inheritance). -
Developing a simple Python project
Day 5
incorporating concepts learned during the week.
- Weekly Task: Develop a small command-line
application using Python that incorporates
concepts covered during the week.
Basic Syntax (No Semicolon, indentation, No • Task 2:
Day 1 parenthesis). - Pep8. - Keywords. - Variables & Details may be
Literals.
seen at Annexure-I
Starting out with Expressions. - Basic Types. -
Day 2
Introduction to Working with variables.
Advanced Arithmetic Operators: Unary, Binary, +, -, x, /, //,
Week 2/12 %, **. - Percentage example. - Ratio example. -
Python Day 3
Programming More Examples of simple calculations.
Operators precedence. - Variables type
Day 4
conversion/casting.
Introduction to Data Structures: List, Dictionary,
Day 5 Tuple, Sets.
Syntax Errors - Runtime Errors - Semantic • Task 3:
Day 1 Errors - How to locate and resolve errors Details may be
Interactions:
Introduction to seen at Annexure-I
Debugging & Day 2 Output/Print (Constants, variables) - Input
Week 3/12 User
Day 3 Input - Output - Concat
Interactions &
Strings Practical exercises on identifying and resolving
Day 4 syntax, runtime, and semantic errors in Python
code.
NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad
051-9044250
Practical exercises on using output/print
statements to display constants and variables,
Day 5 and accepting input from users. Introduction to
string manipulation and concatenation.

Day 1
Introduction to Functions: - Syntax - Calling • Task 4:
methods - Arguments - Return - How they work. Details may be
Types Mutation Methods: - Upper - Isupper - seen at Annexure-I
Day 2 Lower - Islower - Count - Strip - Replace - Join -
Split - Substring - Index - Negative index

Practical exercises on defining and calling


Week 4/12 Advance Strings Day 3 functions in Python.
Practical exercises on using formatting methods
Day 4 such as upper, lower, count, strip, replace, join,
split, substring, index, and negative index.

Consolidation of the week's concepts through


Day 5 practical exercises and review.

List Methods: - Append - Pop - Prepend - Sort - • Task 5:


Day 1 Count - Index (+ve and -ve) - Insert - Remove Details may be
List comprehension seen at Annexure-I
Day 2
Practical exercises on using list methods such
Day 3 as append, pop, sort, count, index, insert,
List/Dictionary remove, and list comprehension.
Week 5/12 Data type &
Dictionary Methods: - Keys - Values - Items -
Methods Day 4 Get - Merging - Pop - Clear - Copy

Practical exercises on using dictionary methods


such as keys, values, items, get, merging, pop,
Day 5 clear, copy, and dictionary comprehension.
Consolidation of the week's concepts through
practical exercises and review.
uple: - Definition - Builtin Methods Sets: - • Task 6:
Day 1 Definition - Builtin Methods - Frozen Sets - Details may be
Mutation
seen at Annexure-I
Conditions: - Simple - Multiple - Nesting -
Day 2 Logical Operators (>, <, ==, <, is, >=, <=)

Loops: - While - For - For in - Nesting - Range -


Day 3 Break - Continue - Over List - Over String
Tuple, Sets,
Week 6/12 Flow Control & Nesting of loops & conditions Exception
Function Day 4 handling: - Try - Except

Syntax: - Define - Calling Benefits: - Reuse -


Code separation Arguments: - Default
Arguments - Optional Arguments - Pass by
Day 5 Value & Reference Recursive Functions
Lambda Functions Variable Scope (Global,
local)

NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad


051-9044250
● Guidelines to the Trainees for selection of • Task 7:
students employable project like final year Details may be
project (FYP)
● Assign Independent project to each Trainee seen at Annexure-I
● A project based on trainee’s aptitude and
acquired skills.
● Designed by keeping in view the emerging
trends in the local market as well as across the
globe.
● The project idea may be based on
Entrepreneur.
● Leading to the successful employment.
● The duration of the project will be 6 weeks
● Ideas may be generated via different sites
such as: https://1000projects.org/
https://nevonprojects.com/
https://www.freestudentprojects.com
/
https://technofizi.net/best-computer- science-
and-engineering-cse-project- topics-ideas-for-
students/
• Final viva/assessment will be conducted on
project assignments.
Day 1 • At the end of session the project will be
Mini Project, presented in skills competition
Employable • The skill competition will be conducted on
Project/Assignm zonal, regional and National level.
ent • The project will be presented in front of
Week 7/12 (5 weeks i.e. 7- Industrialists for commercialization
12) in • The best business idea will be placed in
addition of NAVTTC business incubation center for
regular commercialization.
classes.

OR
On job training for 2 weeks:
• Aims to provide 2 weeks industrial training to
the Trainees as part of overall training program
• Ideal for the manufacturing trades
• As an alternate to the projects that involve
expensive equipment
• Focuses on increasing Trainee’s motivation,
productivity, efficiency and
quick learning approach.
Introduction to Project Examples: - Overview of
Paper Scissors Rock Game.
All Temperature Calculator: - Design and
Day 2 implementation.
Unit Conversion System: - Design and
Day 3 implementation
Number Guessing Game: - Design and
Day 4 implementation.
Marks Grade/Average Calculations: - Design
Day 5 and implementation.
NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad
051-9044250
Introduction to Packages: - Examples (math, • Task 8:
Day 1 csv, os, sys). Details may be
seen at Annexure-I
Modules: - init .py file - Import: Start of file and in
Packages/Modu Day 2 functions/blocks - Circular import.
les &Object-
Week 8/12 Classes and Objects: - Class - Object - Static
Oriented
Day 3 Accessors - Private ('_') - Public Self Properties.
Programming
Day 4 Methods: - Constructor ( init ()).

Practical exercises on working with packages,


Day 5 modules, classes, and objects in Python.
Introduction to Inheritance: - Why inheritance? - • Task 9:
Day 1 Benefits of inheritance. - Single and multiple Details may be
inheritance.
seen at Annexure-I
Day 2 Overriding: - Method overriding.

Polymorphism: - Method overriding for


Day 3 polymorphism.
Week 9/12 Advance OOP
Composition: - Understanding composition in
Day 4 object-oriented programming.
Operator Overloading: - Introduction to operator
Day 5 overloading.

Day 1
File Handling: - Open - Modes (w, w+, wb, r) - • Task 10:
With Keyword Details may be
File Types: - TXT - CSV: - Reader - Dict reader - seen at Annexure-I
Day 2 Writer - Writerow - Writerows - JSON - XML

Practical exercises on file handling operations


Day 3 such as opening, reading, writing, and closing
Week 10/12 I/O Operations files in various formats (TXT, CSV, JSON, XML)
Array: - Array of array - Array of dicts - Array of
Day 4 tuples - Dictionary: - Array as values - Tuple as
values - Dictionary as values

Practical exercises on working with nested data


Day 5 structures such as arrays and dictionaries in
Python.
Desktop Applications: - Introduction to QT - • Task 11:
Day 1 Introduction to PyGUI - Introduction to Tkinter Details may be
seen at Annexure-I
Web Applications: - Introduction to Flask -
Day 2 Introduction to Django
Python
Applications Introduction to Machine Learning, Artificial
Week 11/12
and Intelligence, and Data Science: - Overview of
Frameworks Day 3 PyTorch - Overview of Pandas - Overview of
NumPy - Overview of SciPy - Overview of
TensorFlow
Practical exercises on developing desktop
Day 4
applications using QT, PyGUI, and Tkinter.
NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad
051-9044250
Practical exercises on developing web
Day 5
applications using Flask and Django.
• Job Market Searching • Task 12:
• Self-employment Details may be
• Freelancing sites
• Introduction seen at Annexure-I
• Fundamentals of Business Development
• Entrepreneurship
• Startup Funding
• Business Incubation and Acceleration
Final Project • Business Value Statement
Week 12/12 Progress & • Business Model Canvas
Evaluation • Sales and Marketing Strategies
• How to Reach Customers and Engage CxOs
• Stakeholders Power Grid
• RACI Model, SWOT Analysis, PEST Analysis
• SMART Objectives
• OKRs
• Cost Management (OPEX, CAPEX, ROCE
etc.)
• Final Assessment

NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad


051-9044250
List of Machinery / Equipment
1. Software List

Sr. No Software Name


1. MS Office(Installed on each PC)
2. Operating System (Windows, Linux or other Operating Systems)
3. Programming Languages including PyCharm, Notebook

4 Database Management System (Optional):


• SQLite
• PostgreSQL
• MySQL
• MongoDB

2. Minimum Qualification of Teachers / Instructor


The qualification of teachers / instructor of this course should be a minimum of bachelors inComputer
science, / Software Engineering/ Statistics / Networks / Artificial Intelligence / Data Science with
minimum 3 years of development experience in relevant trade.

3. Eligibility for the trainees:


Bachelor’s of Computers Science / Software Engineering/ Statistics / Networks / Artificial Intelligence
/ Data Science etc

4. Supportive Notes

Teaching Learning Material

Books Name Author


Python Crash Course Eric Matthews

Learn Python the Hard Way Zed A. Shaw


Python Programming: An Introduction to Computer Science John Zelle

5. List of Machinery/Equipments
Quantity physically available at
Sr. No Name of item as per curriculum
the training location

1 Computers Minimum Core-i7 8th Generation 25


● LCD Display 17” with built in speakers
2 DSL Internet Connection (Minimum 5 MB) Available on every PC

NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad


051-9044250
3 25 each
Accessories/Devices

● Connectors
● Multimedia
● Printer (NW printer)
● Audio/visual aid
● White Board
● Pin Board
● Flip Chart Board
● Hard copy of Training Material
● Mobile Phones
For every PC
Wires, data cables, power plugs, powersupply
4
Available
5 UPS
Available
6 Generator / Solar Backup
Available
7 Air Conditioner (2 Tons)

NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad


051-9044250
Annexure # 01

Tasks for Certificate Advance Python Programming


Task No. Description Week
Develop a small command-line application using Python that incorporates
1. Week 1
concepts covered during the week.
Write Python scripts to practice the following concepts: 1. Create variables and
2. literals. 2. Implement basic arithmetic operations. 3. Perform conversions Week 2
between variable types. etc.
Write Python scripts that include intentional syntax, runtime, and semantic
3. Week 3
errors, and practice debugging them.
Write Python scripts to demonstrate the use of functions, including defining
4. Week 4
functions, passing arguments, and returning values.
5. Implement Python scripts that utilize list and dictionary methods. Week 5
Write Python scripts to practice file handling operations for different file types
6. Week 6
(TXT, CSV, JSON, XML).
Choose one of the project examples discussed during the week and implement it
7. Week 7
in Python.
Implement a Python project that demonstrates inheritance, polymorphism,
8. Week 8
composition, and operator overloading concepts.
Implement a Python project that manipulates nested data structures such as
9. arrays and dictionaries. Week 9

Write Python scripts that demonstrate file handling operations for different file
10. Week 10
types (TXT, CSV, JSON, XML) and manipulate nested data structures.
Implement a small project using desktop or web applications frameworks
11. Week 11
introduced during the week.
Develop a business proposal or plan for a startup idea or project.
12. Week 12

NAVTTC HQs, Plot no. 38, Kirthar Road, H-9 Islamabad


051-9044250

You might also like