Course Contents/ Lesson Plan Course Title: Advance Python Programming
Duration: 3 Months
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 |
Learning Outcome of the Course | By the end of the course, students will have acquired a comprehensive skill set in advanced Python programming, empowering them to tackle challenging real-world 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 |
Companies Offering Jobs in the respective trade | · Google
· Amazon · Microsoft · 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. |
Job Opportunities | In recent years, Python has emerged as a leading programming language globally, 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 |
Learning Place | Labs |
Instructiona lResources | These links will guide students to dedicated resources providing tutorials, courses, 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/ |
Scheduled Week | Module Title | Day | Learning Units | Home Assignment |
Week 1/12 |
Basic Programming Concepts |
Day 1 |
Introduction to Python – History, creators, significance. – Exploring Python’s popularity and its applications in web development. – Understanding different versions of Python and minor differences. – Basic concepts: Variables, data types, and basic operations. | · Task 1: Details may be seen at Annexure-I |
Day 2 |
Installing Python 3.7+ version. – Setting up Anaconda distribution for Python. – Installing packages using PIP (Module Installations). – Basic concepts: Control structures (if, else, elif), loops (for, while). | |||
Day 3 |
Setting up Virtual Environments for Python projects. – Overview of Python IDEs and Text Editors (Jupyter Notebooks, Pycharm Community Edition, Spider). – Basic concepts: Functions, modules, and libraries. | |||
Day 4 |
Introduction to Python Standard Library. – Exploring commonly used modules in Python Standard Library (e.g., os, sys, math). – Basic concepts: Exception handling, file handling. | |||
Day 5 |
Review of the week’s concepts and practical exercises. – Basic concepts: Object-oriented programming (classes, objects, inheritance). – Developing a simple Python project incorporating concepts learned during the week. – Weekly Task: Develop a small command-line application using
Python that incorporates concepts covered during the week. |
|||
Week 2/12 |
Introduction to Advanced Python Programming |
Day 1 |
Basic Syntax (No Semicolon, indentation, No parenthesis). – Pep8. – Keywords. – Variables & Literals. | · Task 2: Details may be seen at Annexure-I |
Day 2 | Starting out with Expressions. – Basic Types. – Working with variables. | |||
Day 3 |
Arithmetic Operators: Unary, Binary, +, -, x, /, //,
%, **. – Percentage example. – Ratio example. – More Examples of simple calculations. |
|||
Day 4 | Operators precedence. – Variables type conversion/casting. | |||
Day 5 | Introduction to Data Structures: List, Dictionary, Tuple, Sets. | |||
Week 3/12 |
Introduction to Debugging & User Interactions & Strings |
Day 1 |
Syntax Errors – Runtime Errors – Semantic Errors
– How to locate and resolve errors Interactions: |
· Task 3: Details may be seen at Annexure-I |
Day 2 | Output/Print (Constants, variables) – Input | |||
Day 3 | Input – Output – Concat | |||
Day 4 |
Practical exercises on identifying and resolving syntax, runtime, and semantic errors in Python code. |
Day 5 |
Practical exercises on using output/print statements to display constants and variables, and accepting input from users. Introduction to string manipulation and concatenation. | |||
Week 4/12 |
Advance Strings |
Day 1 | Introduction to Functions: – Syntax – Calling methods – Arguments – Return – How they work. | · Task 4: Details may be seen at Annexure-I |
Day 2 |
Types Mutation Methods: – Upper – Isupper – Lower – Islower – Count – Strip – Replace – Join – Split – Substring – Index – Negative index | |||
Day 3 | Practical exercises on defining and calling functions in Python. | |||
Day 4 |
Practical exercises on using formatting methods such as upper, lower, count, strip, replace, join, split, substring, index, and negative index. | |||
Day 5 | Consolidation of the week’s concepts through practical exercises and review. | |||
Week 5/12 |
List/Dictionary Data type & Methods |
Day 1 | List Methods: – Append – Pop – Prepend – Sort – Count – Index (+ve and -ve) – Insert – Remove | · Task 5: Details may be seen at Annexure-I |
Day 2 | List comprehension | |||
Day 3 |
Practical exercises on using list methods such as append, pop, sort, count, index, insert, remove, and list comprehension. | |||
Day 4 | Dictionary Methods: – Keys – Values – Items – Get
– Merging – Pop – Clear – Copy |
|||
Day 5 |
Practical exercises on using dictionary methods such as keys, values, items, get, merging, pop, clear, copy, and dictionary comprehension.
Consolidation of the week’s concepts through practical exercises and review. |
|||
Week 6/12 |
Tuple, Sets, Flow Control & Function |
Day 1 |
uple: – Definition – Builtin Methods Sets: – Definition – Builtin Methods – Frozen Sets – Mutation | · Task 6: Details may be seen at Annexure-I |
Day 2 | Conditions: – Simple – Multiple – Nesting – Logical Operators (>, <, ==, <, is, >=, <=) | |||
Day 3 | Loops: – While – For – For in – Nesting – Range – Break – Continue – Over List – Over String | |||
Day 4 |
Nesting of loops & conditions Exception handling:
– Try – Except |
|||
Day 5 |
Syntax: – Define – Calling Benefits: – Reuse – Code separation Arguments: – Default Arguments
– Optional Arguments – Pass by Value & Reference Recursive Functions Lambda Functions Variable Scope (Global, local) |
Week 7/12 |
Mini Project, Employable Project/Assignm ent (5 weeks i.e. 7- 12) in addition of regular classes. |
Day 1 |
● Guidelines to the Trainees for selection of students employable project like final year project
(FYP) ● Assign Independent project to each Trainee ● 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. • At the end of session the project will be presented in skills competition • The skill competition will be conducted on zonal, regional and National level. • The project will be presented in front of Industrialists for commercialization • The best business idea will be placed in NAVTTC business incubation center for commercialization.
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. |
· Task 7: Details may be seen at Annexure-I |
Introduction to Project Examples: – Overview of Paper Scissors Rock Game. | ||||
Day 2 | All Temperature Calculator: – Design and implementation. | |||
Day 3 | Unit Conversion System: – Design and implementation | |||
Day 4 | Number Guessing Game: – Design and implementation. | |||
Day 5 | Marks Grade/Average Calculations: – Design and implementation. |
Week 8/12 |
Packages/Modul es &Object- Oriented Programming |
Day 1 |
Introduction to Packages: – Examples (math, csv, os, sys). | · Task 8: Details may be seen at Annexure-I |
Day 2 | Modules: – init .py file – Import: Start of file and in functions/blocks – Circular import. | |||
Day 3 | Classes and Objects: – Class – Object – Static Accessors – Private (‘_’) – Public Self Properties. | |||
Day 4 | Methods: – Constructor ( init ()). | |||
Day 5 | Practical exercises on working with packages, modules, classes, and objects in Python. | |||
Week 9/12 |
Advance OOP |
Day 1 | Introduction to Inheritance: – Why inheritance? – Benefits of inheritance. – Single and multiple
inheritance. |
· Task 9: Details may be seen at Annexure-I |
Day 2 | Overriding: – Method overriding. | |||
Day 3 | Polymorphism: – Method overriding for polymorphism. | |||
Day 4 | Composition: – Understanding composition in object-oriented programming. | |||
Day 5 |
Operator Overloading: – Introduction to operator overloading. | |||
Week 10/12 |
I/O Operations |
Day 1 | File Handling: – Open – Modes (w, w+, wb, r) – With Keyword | · Task 10: Details may be seen at Annexure-I |
Day 2 | File Types: – TXT – CSV: – Reader – Dict reader – Writer – Writerow – Writerows – JSON – XML | |||
Day 3 |
Practical exercises on file handling operations such as opening, reading, writing, and closing files in various formats (TXT, CSV, JSON, XML) | |||
Day 4 |
Array: – Array of array – Array of dicts – Array of tuples – Dictionary: – Array as values – Tuple as values – Dictionary as values | |||
Day 5 |
Practical exercises on working with nested data structures such as arrays and dictionaries in Python. | |||
Week 11/12 |
Python Applications and Frameworks |
Day 1 | Desktop Applications: – Introduction to QT – Introduction to PyGUI – Introduction to Tkinter | · Task 11: Details may be seen at Annexure-I |
Day 2 | Web Applications: – Introduction to Flask – Introduction to Django | |||
Day 3 |
Introduction to Machine Learning, Artificial Intelligence, and Data Science: – Overview of PyTorch – Overview of Pandas – Overview of NumPy – Overview of SciPy – Overview of TensorFlow | |||
Day 4 | Practical exercises on developing desktop applications using QT, PyGUI, and Tkinter. |
Day 5 | Practical exercises on developing web applications using Flask and Django. | |||
Week 12/12 |
Final Project Progress & Evaluation |
• Job Market Searching
• Self-employment • Freelancing sites • Introduction • Fundamentals of Business Development • Entrepreneurship • Startup Funding • Business Incubation and Acceleration • Business Value Statement • Business Model Canvas • 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 |
· Task 12: Details may be seen at Annexure-I |
Annexure # 01
Tasks for Certificate Advance Python Programming
Task No. | Description | Week |
1. | Develop a small command-line application using Python that incorporates concepts
covered during the week. |
Week 1 |
2. | Write Python scripts to practice the following concepts: 1. Create variables and literals. 2. Implement basic arithmetic operations. 3. Perform conversions between
variable types. etc. |
Week 2 |
3. | Write Python scripts that include intentional syntax, runtime, and semantic errors,
and practice debugging them. |
Week 3 |
4. | Write Python scripts to demonstrate the use of functions, including defining
functions, passing arguments, and returning values. |
Week 4 |
5. | Implement Python scripts that utilize list and dictionary methods. | Week 5 |
6. | Write Python scripts to practice file handling operations for different file types
(TXT, CSV, JSON, XML). |
Week 6 |
7. | Choose one of the project examples discussed during the week and implement it in
Python. |
Week 7 |
8. | Implement a Python project that demonstrates inheritance, polymorphism,
composition, and operator overloading concepts. |
Week 8 |
9. | Implement a Python project that manipulates nested data structures such as arrays and dictionaries. | Week 9 |
10. | Write Python scripts that demonstrate file handling operations for different file
types (TXT, CSV, JSON, XML) and manipulate nested data structures. |
Week 10 |
11. | Implement a small project using desktop or web applications frameworks
introduced during the week. |
Week 11 |
12. | Develop a business proposal or plan for a startup idea or project. | Week 12 |