Build Your Academic Superpowers
Duration: 3.5 Months
Contact: pitechschools@gmail.com
Website: www.pitechschools.com
OVERVIEW & PURPOSE
In this course you will learn about the Python programming language from basic to advanced level. You will gain confidence to work with advanced problem solving and doing simple tasks with Python language. You will be able to think logically and can solve any mathematical problems with ease. This course also covers your Diploma-In-Engineering course curriculum. So, you don’t have to worry about your academics during this course. We encourage students from class 8 to class 12 (Intermediate) to join in order to improve your logic building skills and programming capabilities. A part of University students can also join us to improve their programming skills.
BENEFITS OF THIS COURSE
- 50+ Online Live and Support Classes.
- 24/7 Support Group.
- 15+ Quizzes Assignments.
- Top 3 Performer Reward.
- Online Coding Platform.
- Interactive Environment.
- Completion Certificate.
- Opportunity to work with industry expert teams.
MATERIALS NEEDED
- A stable internet connection.
- A laptop or a computer or just a mobile phone can do the stuff. But it is not recommended to use a mobile phone to continue this course.
COURSE MODULE
We will continue this course by following this module step by step.
Week 1
Saturday - Introduction of Python programming history, Installation in multiple Operating System and Basic syntax overview.
- Who is the creator of Python?
- How was Python born?
- Why was Python created for?
- Why should I use Python?
- How Python is ruling the world now?
- Download and install Python 3.12.x
- Download and install VS Code latest.
- Setup extensions for VS Code for Python code.
- Introduction with Python shell, PIP module.
- Basic syntax overview of Python.
Monday - Quiz Test
Tuesday - Operators, Data Types, Comments, Number Types, Type Casting.
- Operators:
- Addition
- Subtraction
- Multiplication
- Division
- Floor division
- Modulus
- Exponentiation
- Data Types:
- String
- Integer
- Float
- Complex
- List
- Tuple
- Dictionary
- Set
- Bool
- None
- Type casting:
- String
- Integer
- Float
- Complex
- List
- Tuple
- Dictionary
- Set
- Bool
- Why are comments important?
Thursday - Assignment “Python History”: Write a brief history about the Python programming language in 500+ words with basic syntax covered and type casting examples.
Week 2
Saturday - Variables, User input, Print statements, Keywords.
- What are variables?
- Usage of variables.
- User input and manipulations.
- Output data with print functions.
- Keywords:
- and
- or
- not
- is
- in
- assert
- del
- nonlocal
- global
Monday - Quiz Test
Tuesday - Condition statements, varieties of conditions.
- If…else statement.
- Elif ladder.
- Problem: Even-Odd check.
- Shorthanded if-else.
Thursday - Assignment “Login System”: Write a program that takes username and password as user input and checks if username and password matches our previously declared username and password. If both matches it will print login success otherwise failed to login.
Week 3
Saturday - Loops, Types of loops.
- What is a loop?
- Why do we need loops?
- Type of loops:
- For loop syntax and usage.
- While loop syntax and usage.
- Infinity and controlled loop examples with both variants.
Monday - Quiz Test
Tuesday - Everything about Python functions.
- What functions do we need?
- What are functions in Python?
- Using built-in functions.
- Writing our custom functions.
- Arguments types:
- Positional arguments
- Keyword arguments
- Positional-Only arguments
- Keyword-Only arguments
- Default value, return statement
- Docs string
- pass statement
Thursday - Assignment “ChatBot”: Write a basic chatbot. Based on topics - Loops, input, print, conditions.
Week 4
Saturday - String Manipulations.
- What is string?
- Various types of string methods.
- Single quote, Double quote, Multi-lines string.
- Concatenation.
- F-string, Raw-string.
- String methods:
- lower()
- upper()
- title()
- capitalize()
- len()
- format()
- startswith()
- endswith()
Monday - Quiz Test
Tuesday - Advanced String methods.
- String slicing.
- Accessing substring.
- Reverse slicing.
- More methods:
- strip()
- lstrip()
- rstrip()
- replace()
- split()
- Escape sequence:
- \\
- \n
- \t
- \r
Thursday - Assignment “Custom CMD or Shell”: Write a command shell like CMD. Based on topics - Loops, input, print, conditions.
Week 5
Saturday - List operations.
- Why list?
- Array vs List in Python.
- List methods:
- append()
- remove()
- insert()
- pop()
- len()
- count()
- clear()
Monday - Quiz Test
Tuesday - Advance list operations.
- List slicing.
- Access by index.
- Change list items.
- Nested List.
- More List methods:
- sort()
- extend()
- join()
- reverse()
- Shallow copy VS Deep copy.
Thursday - Assignment: TODO management system using lists, loops and other necessary things as you need.
Week 6
Saturday - Dictionary, Tuple and Set operations.
- What is a Dictionary, Tuple and Set in Python?
- Access items.
- Change items.
- Loop over a Dictionary, Tuple and Set.
- Nested Dictionary, Tuple and Set.
- Various types of methods in Dictionary, Tuple and Set.
Monday - Quiz Test
Tuesday - Structural Pattern Matching
- What is Structural Pattern Matching ?
- Why do we need a Match statement ?
- If - Else VS Match - Case.
- Advance usage of Match statement.
Thursday - Assignment “Grade Analysis”: Student Grades Analysis System. Use match statement.
Week 7
Saturday - Builtin functions.
- List of built-in functions we need:
- help()
- dir()
- type()
- sorted()
- reversed()
- enumerate()
- zip()
- sum()
- range()
- exec() VS eval()
- any() VS all()
Monday - Quiz Test
Tuesday - File Operations.
- File modes. When to use which modes?
- File manipulation methods:
- open()
- read()
- readline()
- readlines()
- write()
- close()
- is_closed
- Why do we need a context manager?
- Advantages of context managers.
Thursday - Assignment “Shopping List Manager”: Reading and Writing Shopping Lists to a File.
Week 8
Saturday - Exception Handling.
- Why do we need to handle exceptions?
- Try… Except
- Try…Except…Except…
- Try…Except…Else
- Try…Except…Else…Finally
- Handling:
- SyntaxError
- IndexError
- AssertionError
- AttributeError
- ImportError
- KeyError
- NameError
- TypeError
Monday - Quiz Test
Tuesday - Math, Datetime module.
- Use of Math and Datetime module.
- Important Math methods.
- Built-in math methods:
- min()
- max()
- abs()
- pow()
- From Math module:
- sqrt()
- ceil()
- floor()
- pi
- e
- Datetime manipulation in Python.
- Datetime methods:
- now()
- today()
- year
- strftime()
- timedelta()
- Custom formatted date time.
Thursday - Assignment: Multi-functional Calculator with time log.
Week 9
Saturday - OS and Random module.
- OS methods:
- getcwd()
- chdir()
- mkdir()
- listdir()
- rename()
- path.join()
- Random methods:
- random()
- randint()
- sample()
- choice()
- Problem: Implement a dice game.
Monday - Quiz Test
Tuesday - Sys module.
- What is the sys module?
- Argv, exit(), path, modules,
- Problem - Custom print function.
- Problem - Custom CLI tool.
Thursday - Assignment: Password Generator CLI tool, which will take a number of characters and return a random generated password as predefined in the tool internally.
Week 10
Saturday - Requests module.
- What is an API request?
- Why do we need to use requests?
- Requests method:
- Get
- Post
- Proxy
- Header
- Data
- Status_code
- Encoding
- Text
- Content
- Json
- Exceptions to handle:
- ConnectionError
- TooManyRedirects
- Timeout
- HTTPError
- JSONDecodeError
Monday - Quiz Test
Tuesday - Regular Expression or RegEx.
- Why regular expressions?
- Where to use RegEx?
- Introduction with RegEx instructions.
- Problems:
- Email validation
- Mobile number validation
- GPA/CGPA validation
- URL validation
- Methods:
- find()
- findall()
- search()
- sub()
Thursday - Assignment “Image downloader”: Download image from the internet using Python.
Week 11
Saturday - Introduction to Object Oriented Programming (OOP).
- What is class?
- Contractor, objects, instance.
- Methodologies of OOP.
- Introduction to Abstraction, Encapsulation, Polymorphism, and Inheritance.
- Abstraction explanations.
- Why do we need it?
- ABC module.
- Abstract class construction.
- Encapsulation explanations
- Access modifiers.
- Public, Private, Protected.
- Why do private variables not exist in Python?
Monday - Quiz Test
Tuesday - More OOPs
- Polymorphism explanations.
- Runtime polymorphism.
- Compile-time polymorphism.
- Inheritance explanations.
- Single inheritance.
- Multiple inheritance.
- Multi-level inheritance.
- Hierarchical inheritance.
Thursday - Assignment “Bank Account Simulation”: Simulate a Bank Account with OOP.
Week 12
Saturday - Dunder methods or Magic methods of Python.
- What are dunder methods in Python?
- How do thunder methods work?
- List of dunder methods:
- __init__
- __str__
- __del__
- __repr__
- __len__
- __add__
- __sub__
- __mul__
- __div__
- __eq__
- __ne__
- __bool__
- __setitem__
- __getitem__
- __delitem__
- __contains__
- __int__
- __float__
- __reversed__
- __sorted__
Monday - Quiz Test
Tuesday - Logging and Unit testing.
- Why is logging and testing needed?
- Basic logger setup.
- Understanding logging concepts.
- Debugging applications with logging.
- Basic of Unit testing and structure.
- Testing our codes.
- Multiple test setup.
Thursday - Assignment “Module Testing”: Writing unit tests for a simple calculator application.
Week 13
Saturday - List, Dictionary and Set Comprehensions and Lambda/Anonymous functions.
- What is comprehension in Python programming language?
- Why do we need comprehension?
- List comprehension examples.
- Dictionary comprehension examples.
- Set comprehension examples.
- What is Lambda for Anonymous functions?
- What is the use case of Lambda functions?
- Lambda functions examples.
Monday - Quiz Test
Tuesday - Iterators, Generators and Decorators.
- What are iterators and generators?
- Why use them?
- Built-in iterative objects.
- Custom iterator declaration.
- Writing lazy methods with generators.
- What are Decorators?
- Why do we need to use them?
- Using built-in decorators.
- Writing custom decorators.
Thursday - Assignment “Performance Tester”: Implementing a simple logging decorator for function execution time.
Week 14
Saturday - Creating your custom modules.
- What are modules in the Python programming language?
- What modules are important in Python?
- How modules are built?
- Creating our custom Python importable modules.
- Creating a virtual environment.
- Writing custom methods and classes.
- Writing tests for our module.
- Writing configurations for our module.
- Format our codes and sort import properly following PEP-8 standards.
Monday - Quiz Test
Tuesday - Publishing our own module to PyPI global registry.
- Setup your PyPI account.
- Final configuration of our project for publishing.
- Connect an SSH token with your device.
- Validate our module before publishing with Twine.
- Publish and install locally to test.
Thursday - Assignment “Dictionary Module”: Create your custom module dictionary. It will have some predefined words list from Bangla to English and English to Bangla. Your module should have functions bangla_to_english() and english_to_bangla() show your creativity and architect your own module.
TERMS AND POLICIES
The course module is developed by our instructor and changes are subject to our decisions. We have the rights to change any specific part or everything in this module at any time. All rights have been reserved by PITechSchools.
SUPPORT SYSTEM
We provide 24/7 online group based support. If a student encounters any problem he/she can ask in a related support group. An instructor or support team will try to answer the problem as quickly as possible. We are serving our students from the Discord server. This is a public server and anyone can join us here. We have separated each support group by roles. For students, instructors, support team, general community members. You can join our server from this link: https://discord.gg/NYJakz7BWV
Get the pdf version of this module: https://t.ly/VmOPp