Course Contents / Lesson Plan
Course Title: Python/ Django + Angular
Duration: 3 Months
Trainer Name | |
Author | |
Course Title | Python/ Django + Angular |
Objectives and Expectations | Employable skills and hands-on practice in Python/ Django + Angular
This is a special course designed to address unemployment in the youth. The course aims to achieve the above objective through hands on practical training delivery by a team of dedicated professionals having rich market/work experience. This course is therefore not just for developing a theoretical understanding/back ground of the trainees. Contrary to that, it is primarily aimed at equipping the trainees to perform commercially in a market space in independent capacity or as a member of a team. The course therefore is designed to impart not only technical skills but also soft skills (i.e. interpersonal/communication skills; personal grooming of the trainees etc.) as well as entrepreneurial skills (i.e. marketing skills; free lancing etc.). The course also seeks to inculcate work ethics to foster better citizenship in general and improve the image of Pakistani work force in particular. |
MODULES
Schedu led
Weeks |
Module Title | Days | Hours | Learning Units | Home Assignment |
Week 1 | Introduction to Front-End Development | Day 1 | Hour 1 | Introduction to HTML |
· Task 1
Details may be seen at Annexure-I |
Hour 2 | Working with Links and Images | ||||
Hour 3 | Understanding HTML Forms | ||||
Hour 4 | Semantic HTML and Multimedia | ||||
Day 2 | Hour 1 | Introduction to CSS | |||
Hour 2 | Layout and Positioning | ||||
Hour 3 | Responsive Design and Flexbox | ||||
Hour 4 | CSS Grid and Advanced Techniques | ||||
Day 3 | Hour 1 | Introduction to JavaScript | |||
Hour 2 | Control Flow and Conditionals | ||||
Hour 3 | Understanding of Loops and Arrays | ||||
Hour 4 | Understanding of Functions | ||||
Day 4 | Hour 1 | Understanding of Objects and JSON | |||
Hour 2 | Understanding of DOM Manipulation | ||||
Hour 3 | Understanding of Asynchronous JavaScript |
Hour 4 | Final Project | ||||
Day 5 | Hour 1 | Bootstrap Fundamentals | |||
Hour 2 | Additional Native Components | ||||
Hour 3 | Understanding of Form Components | ||||
Hour 4 | Understanding of Bootstrap Plugins and Third-Party Plugins | ||||
Week 2 | Introduction of Python Programming | Day 1 | Hour 1 | Python Variables and Constants |
· Task 2
Details may be seen at Annexure-I |
Hour 2 | Python Class and Objects | ||||
Hour 3 | Python Array Implementation | ||||
Hour 4 | · Python File Methods
· Python Keywords and Identifiers · Python Tuples |
||||
Day 2 | Hour 1 | · Python Sets
· Python Different Modules · python dictionary · Python Strings |
|||
Hour 2 | · python dictionary
· Python Strings |
||||
Hour 3 | · Python Directory and File Management System
· Python Data Type Conversion |
||||
Hour 4 | · Python Numbers
· Python Namespace and Scope · Python Global, Local and Nonlocal |
variables | |||||
Day 3 | Hour 1 | · Python Global
Keyword · Python Iterators · Python Iterations Using for |
|||
Hour 2 | · Python Inheritance
· Python Multiple Inheritance |
||||
Hour 3 | · Python Function Arguments
· Python Functions · Python break statement |
||||
Hour 4 | · Python continue statement
· Python Errors and Exceptions · Python User Defined Exception |
||||
Day 4 | Hour 1 | · Python OOP Approach | |||
Hour 2 | · Python Operator Overloading
· Python Statements and Comments · Python Pass Statement |
||||
Hour 3 | · Python Generators
· Python Decorators |
||||
Hour 4 | · Python Conditional Statements | ||||
Day 5 | Hour 1 | · Python Loops | |||
Hour 2 | · Improving the views using templates
· Python Matrix Implementation |
Hour 3 | · Python Regular Expressions
· Python List Comprehension |
||||
Hour 4 | · Python Recursion
· Python Input, Output and Import |
||||
Week 3 | Introduction to Django and Displaying Hyperlinks Project | Day 1 | Hour 1 | Understanding the Framework |
· Task 3
Details may be seen at Annexure-I |
Hour 2 | Features of Django | ||||
Hour 3 | Django web server | ||||
Hour 4 | Understanding Django environment | ||||
Day 2 | Hour 1 | A simple ‘Hello world’ application | |||
Hour 2 | Django architecture | ||||
Hour 3 | MVC vs MVT Architectural Pattern | ||||
Hour 4 | Starting a project | ||||
Day 3 | Hour 1 | Django apps | |||
Hour 2 | Activating our first app | ||||
Hour 3 | A view that displays a hyperlink | ||||
Hour 4 | Mapping the views to URLs | ||||
Day 4 | Hour 1 | Running our first app |
Hour 2 | Improving the views using templates | ||||
Hour 3 | The improved templates | ||||
Hour 4 | Template inheritance | ||||
Day 5 | Hour 1 | Sending data from URL to view | |||
Hour 2 | Sending data from view to template | ||||
Hour 3 | Lab Practice | ||||
Hour 4 | Lab Practice | ||||
Week 4 | CREATING A WEBSITE – PROJECT | Day 1 | Hour 1 | Starting a project |
· Task 4 Details may be seen at Annexure-I |
Hour 2 | Creating an app inside the project | ||||
Hour 3 | Activating the app | ||||
Hour 4 | Creating model for our site | ||||
Day 2 | Hour 1 | Converting the model into a table | |||
Hour 2 | Examples for Fields in Models | ||||
Hour 3 | Basic data access using Django shell | ||||
Hour 4 | Saving objects into database | ||||
Day 3 | Hour 1 | Retrieving objects from database |
Hour 2 | Modifying objects of database | ||||
Hour 3 | Sorting objects | ||||
Hour 4 | Filtering objects | ||||
Day 4 | Hour 1 | Deleting objects | |||
Hour 2 | Making changes in the data model | ||||
Hour 3 | Create test cases for models, views, and other components | ||||
Hour 4 | Create views, templates for database | ||||
Day 5 | Hour 1 | Security Considerations | |||
Hour 2 | Documentation and
Deployment |
||||
Hour 3 | Hands-on Lab Practice | ||||
Hour 4 | Hands-on Lab Practice | ||||
Week 5 | Creating Administration Panel and First Page of our Site | Day 1 | Hour 1 | Using the admin interface |
· Task 5 Details may be seen at Annexure-I |
Hour 2 | Customizing the admin
interface |
||||
Hour 3 | Adding users | ||||
Hour 4 | Data access and
modification using admin panel |
Day 2 | Hour 1 | Giving permissions to users | |||
Hour 2 | Implement the First Page of
website |
||||
Hour 3 | The Django template system | ||||
Hour 4 | Template Inheritance | ||||
Day 3 | Hour 1 | Improving the website | |||
Hour 2 | Adding background color for web pages | ||||
Hour 3 | Adding banner to the web site | ||||
Hour 4 | Adding background image in the web pages | ||||
Day 4 | Hour 1 | Storing and displaying images | |||
Hour 2 | Adding users to our site | ||||
Hour 3 | Uploading the information by user | ||||
Hour 4 | Changing the administration interface title | ||||
Day 5 | Hour 1 | User Registration and Login Functionality | |||
Hour 2 | Password Recovery and Reset Options | ||||
Hour 3 | Customizing User Profiles and Preferences | ||||
Hour 4 | Hands-on Practice |
Week 6 | Django Forms Creation, Email Functionality and Template Language | Day 1 | Hour 1 | Understanding of Forms in Django and its types |
· Task 6
Details may be seen at Annexure-I |
Hour 2 | · HTML Forms
· Django Forms · Form Fields |
||||
Hour 3 | Method for Creating
Contact Us Form |
||||
Hour 4 | · Form Class
· HTML Integration · View Handling · CSRF Protection |
||||
Day 2 | Hour 1 | Implementation of Form
Field Examples |
|||
Hour 2 | · Text Fields
· Textarea Fields · Choice Fields · File Upload Fields · Validation |
||||
Hour 3 | Configuring Email Settings
· Settings.py Configuration · SMTP Servers |
||||
Hour 4 | Sending Emails with Django
· Email Sending Methods · Text and HTML Emails · Dynamic Content · Attachments · Testing Email Sending |
||||
Day 3 | Hour 1 | Django Template Language | |||
Hour 2 | Django Template Tags:
· Variable Rendering · Template Tags · Custom Template Tags |
||||
Hour 3 | If/Else:
· Conditional |
Statements
· Boolean Values |
|||||
Hour 4 | If/Elif/Else:
· Extended Conditional Statements |
||||
Day 4 | Hour 1 | For:
· Iteration in Templates · Loop Variables |
|||
Hour 2 | Comments:
· Commenting Syntax |
||||
Hour 3 | Filters:
· Built-in Filters · Custom Filters |
||||
Hour 4 | Using Templates to Display Data in the Site:
· Integrate Templates · Rendering Context Data · Template Inheritance |
||||
Day 5 | Hour 1 | Django Form Validation
· Built-in Validators · Custom Validators · Error Handling |
|||
Hour 2 | Django’s Middleware
· Understanding the middleware in Django · Common Use Cases · Order of Execution |
||||
Hour 3 | User Authentication in Django
· User Models · User Registration · Login and Logout · Password Reset |
||||
Hour 4 | Hands-on Practice |
Week 7 | · Integrating Bootstrap into Django
· Sessions and Cookies · Using Other Databases in Django · Django RESTful API |
Day 1 | Hour 1 | Understanding the Sessions |
· Task 7 Details may be seen at Annexure-I |
Hour 2 | Understanding the Cookies | ||||
Hour 3 | Creating Sessions and implementation | ||||
Hour 4 | Creating Cookies and implementation | ||||
Day 2 | Hour 1 | Overview Database | |||
Hour 2 | Understanding of DBMS and RDBMS | ||||
Hour 3 | Overview of Django default database (SQLite) | ||||
Hour 4 | Connecting Django to other databases
• PostgreSQL • MySQL |
||||
Day 3 | Hour 1 | Configuring database settings in Django | |||
Hour 2 | Migrating data between different databases | ||||
Hour 3 | Configuring MySQL database | ||||
Hour 4 | Working with MySQL in Django | ||||
Day 4 | Hour 1 | Configuring Oracle database | |||
Hour 2 | Working with Oracle in Django | ||||
Hour 3 | Hand-on Practice |
Hour 4 | Hand-on Practice | ||||
Day 5 | Hour 1 | Understanding of REST
Framework |
|||
Hour 2 | Understanding of Django and RESTful APIs | ||||
Hour 3 | Building a Simple Django API | ||||
Hour 4 | Setting up Django REST framework | ||||
Week 8 | · Django RESTful API
· Deploymen t and Best Practices · Real-world Project · Live Project Implementa tion · Introduction to Angular JS |
Day 1 | Hour 1 | RESTful structure
· GET · POST · PUT · DELETE |
· Task 8 Details may be seen at Annexure-I |
Hour 2 | Build models for our Django app | ||||
Hour 3 | Model serializer | ||||
Hour 4 | Views and View Sets in RESTful Framework | ||||
Day 2 | Hour 1 | Router in RESTful Framework | |||
Hour 2 | Authentication and Authorization | ||||
Hour 3 | CRUD Operations with Django REST Framework | ||||
Hour 4 | Hands-on Practice (RESTful API) | ||||
Day 3 | Hour 1 | Deploying a Django API to platforms like Heroku or AWS | |||
Hour 2 | Building a To-Do List API |
Hour 3 | Project life cycle | ||||
Hour 4 | Creating a functional
website in Django |
||||
Day 4 | Hour 1 | Project Activity (Django) | |||
Hour 2 | Project Activity (Django) | ||||
Hour 3 | Overview of Angular JS | ||||
Hour 4 | AngularJS JavaScript Framework | ||||
Day 5 | Hour 1 | Key Features and Benefits | |||
Hour 2 | Setting Up the Development Environment | ||||
Hour 3 | Hello World in AngularJS | ||||
Hour 4 | Hands-on Practice | ||||
Week 9 | · Understand ing the Basics of Angular JS
· Working with Templates and Views · AngularJS Controller · Services and Dependenc y Injection · Forms and Validation · Directives and Custom Directives |
Day 1 | Hour 1 | MVC Architecture in AngularJS |
· Task 9 Details may be seen at Annexure-I |
Hour 2 | Directives and Data Binding | ||||
Hour 3 | Expressions and Filters | ||||
Hour 4 | Controllers and Scopes | ||||
Day 2 | Hour 1 | Introduction to Templates | |||
Hour 2 | Two-Way Data Binding |
Hour 3 | · AngularJS Directive
· ng-repeat and ng-if Directives |
||||
Hour 4 | Routing in AngularJS | ||||
Day 3 | Hour 1 | AngularJS controllers | |||
Hour 2 | Controller methods | ||||
Hour 3 | Controllers in External files | ||||
Hour 4 | Overview of Services | ||||
Day 4 | Hour 1 | Creating Custom Services | |||
Hour 2 | Dependency Injection in AngularJS | ||||
Hour 3 | Common Built-in Services | ||||
Hour 4 | Forms in AngularJS | ||||
Day 5 | Hour 1 | Form Controls and Validation | |||
Hour 2 | Custom Validation | ||||
Hour 3 | Handling Form Submission | ||||
Hour 4 | Built-in Directives | ||||
Week 10 | · Directives and Custom Directives
· Introduction to AngularJS Components |
Day 1 | Hour 1 | Creating Custom Directives | · Task 10
Details may be seen at Annexure-I |
Hour 2 | Directive Communication |
· Testing in AngularJS
· Advanced Topics · Building a Real-World Project |
Hour 3 | Best Practices for Using Directives | |||
Hour 4 | Understanding Components | ||||
Day 2 | Hour 1 | Creating and Using Components | |||
Hour 2 | Component Communication | ||||
Hour 3 | Lifecycle Hooks in Components | ||||
Hour 4 | Overview of Testing in AngularJS | ||||
Day 3 | Hour 1 | Unit Testing with Jasmine and Karma | |||
Hour 2 | End-to-End Testing with Protractor | ||||
Hour 3 | Best Practices for Testing | ||||
Hour 4 | Advanced Data Binding Techniques | ||||
Day 4 | Hour 1 | Animation in AngularJS | |||
Hour 2 | Internationalization and Localization | ||||
Hour 3 | Performance Optimization Tips | ||||
Hour 4 | Applying the Learned Concepts | ||||
Day 5 | Hour 1 | Building a Simple SPA | |||
Hour 2 | Project Structure and Best Practices |
Hour 3 | Deployment Considerations | ||||
Hour 4 | Project Activity (Angular) | ||||
Week 11 | · Getting Started and Profile Optimization
· Winning Jobs and Writing Proposals · Time Management and Scaling Your Business · Legal and Ethical Consideratio ns · Final Strategies and Q&A |
Day 1 | Hour 1 | · Introduction to Freelancing Platforms
· Overview of Upwork and Fiverr |
· Task 11 Details may be seen at Annexure-I |
Hour 2 | · Creating a Winning Profile
· Crafting an effective headline and bio |
||||
Hour 3 | · Navigating the Platforms
· Setting Up Payment Methods |
||||
Hour 4 | · Showcasing Your Skills in a Portfolio
· Uploading Samples and Projects |
||||
Day 2 | Hour 1 | Writing Persuasive Proposals
Tailoring proposals to job descriptions |
|||
Hour 2 | Bidding Strategies
Setting competitive rates |
||||
Hour 3 | Job Search Techniques
Advanced search filters on Upwork and Fiverr |
||||
Hour 4 | Successfully Completing Projects
Effective communication during projects |
||||
Day 3 | Hour 1 | Balancing Multiple Projects
Creating a realistic schedule |
|||
Hour 2 | Scaling Your Freelance Business
Hiring freelancers as a |
client | |||||
Hour 3 | Keeping Up with Industry
Trends Continuous learning and skill development |
||||
Hour 4 | Building a Personal Brand
Creating a professional website |
||||
Day 4 | Hour 1 | Understanding Freelancer Rights and Responsibilities
Contract negotiations and agreements |
|||
Hour 2 | Taxation and Financial Management
Keeping track of income and expenses |
||||
Hour 3 | Advanced Strategies for Upwork and Fiverr Success
Building Long-Term Client Relationships |
||||
Hour 4 | Leveraging Upwork and Fiverr Features
Using premium features to stand out |
||||
Day 5 | Hour 1 | Recap of Key Takeaways | |||
Hour 2 | Open Forum for Questions and Answers | ||||
Hour 3 | Implementing Strategies for Success | ||||
Hour 4 | Practice Session | ||||
Week 12 | · Project Activity (Django) | Day 1 | Hour 1 | · Task 12 |
· Project Activity (Angular JS)
· Freelancing Platform Activity |
Hour 2 |
Build a Complete Website in Django (Part 1) |
Details may be seen at Annexure-I
Final Project |
||
Hour 3 | |||||
Hour 4 | |||||
Day 2 | Hour 1 |
Build a Complete Website in Django (Part 2) |
|||
Hour 2 | |||||
Hour 3 | |||||
Hour 4 | |||||
Day 3 | Hour 1 |
Build a Complete Website in Angular JS (Part 1) |
|||
Hour 2 | |||||
Hour 3 | |||||
Hour 4 | |||||
Day 4 | Hour 1 |
Build a Complete Website in Angular JS (Part 2) |
|||
Hour 2 | |||||
Hour 3 | |||||
Hour 4 | |||||
Day 5 | Hour 1 |
Hour 2 |
Build an Account on Freelancing Platform |
||||
Hour 3 | |||||
Hour 4 |
Tasks for Certificate in Web (Python/ Django + Angular)
Task No. | Task | Description | Week |
1. | Front-End Fundamentals | Develop a Responsive Website with HTML, CSS, and JavaScript, Integrating Bootstrap | Week 1 |
2. | Python Fundamental | Python Programming Fundamentals and Advanced Topics Overview | Week 2 |
3. | Django Hyperlink Display Project | Build Django Hyperlink Display Project | Week 3 |
4. | Django Database | Built a Django website with database integration | Week 4 |
5. | Admin Panel | Built Admin Panel, Site Page, Implemented User
Features |
Week 5 |
6. | Develop Forms, Email, Templates | Develop a Django project with validated forms, email functionality, template customization, user authentication, and advanced template usage | Week 6 |
7. | Django RESTful API | implementation of a Django RESTful API for data services. | Week 7 |
8. | Django Website | Combine all the concept to build real world project. | Week 8 |
9. | User Registration Form | Build a simple user registration form using AngularJS. | Week 9 |
10. | Angular Website | Combine all the concept to build real world project. | Week10 |
11. | Fiverr & Upwork | Build an account on freelancing platform like Fiver and Upwork | Week11 |
12. | Final Project | Combining all the topics covered in the course to build a complete Python (Django) website. | Week12 |
13. | Final Project | Combining all the topics covered in the course to build a complete Angular JS website. | Week12 |
Annexure-II:
Motivational Lectures
Web (Python/ Django + Angular)
The Rise of Django: https://www.youtube.com/watch?v=rIWJWy3_njo
This video provides an overview of the impact that Django is having on various industries and highlights some of the breakthroughs that have been made in recent years.
What Is Django And How It Works? https://www.youtube.com/watch?v=sPZeuiViku8
Django is a very powerful framework run on python and used by some of the biggest tech companies. We will also discuss the MVT architecture on which Django is built.
Django Rest Framework: https://www.youtube.com/watch?v=-M8D1UKZf0o
In this video, I have explained about Django rest framework. You will learn the Django rest framework. Django rest framework is used to create rest API using a python programming language.
Introduction to Angular: https://www.youtube.com/watch?v=0LhBvp8qpro
In this video, I will explain to you everything you need to get started with the Angular framework. Angular is a very popular framework used to create single-page applications (SPA). This video will cover an Angular Project in Hindi wherein we will be building a client-side Todos List app from scratch
The Upwork Success Story: https://www.youtube.com/watch?v=IJJVUUYAkO4
Transformed client’s digital presence with strategic marketing on Upwork, resulting in a 150% increase in sales within three months
My Success Story | Fiverr Freelancing: https://www.youtube.com/watch?v=GPjkpVIL3a0
In this video, I’m unveiling my Fiverr journey from zero to $12,000 with Fiverr tips due to this you can earn money online.