Outschool
Open currency, time zone, and language settings
Log In

Advanced Python Coding: Build Web Projects With Databases, Flask, and Automation

Master advanced Python skills with this hands-on course! Learn HTML, Git, OOP, Data Science, Playwright, and Flask. Perfect for coders looking to level up in web development, automation, and backend programming. Start building robust apps!
Faruk Hasan
Average rating:
4.8
Number of reviews:
(145)
Popular
Class

What's included

50 live meetings
29 hrs 10 mins in-class hours
Homework
1 hour per week. 1-2 per week
Assessment
To evaluate your understanding and progress in our coding class, we use a variety of assessments: Do Now: These are short, quick tasks that you complete at the beginning of each class. They help reinforce what you’ve learned and prepare you for the day’s lesson. Quiz: Periodically, you will take quizzes that cover the material we've been studying. These quizzes are designed to test your knowledge of key concepts and ensure you’re keeping up with the coursework. Simple Coding Tasks: You will also complete simple coding tasks that apply what you’ve learned in a practical way. These tasks help you practice your skills and gain confidence in writing code. Projects: Throughout the course, you will work on various projects. These projects allow you to integrate and apply multiple concepts, demonstrating your ability to create functional and creative coding solutions.

Class Experience

US Grade 8 - 11
Welcome, aspiring software engineers and parents!

*** This class is not for beginners


Embark on a journey to elevate your Python coding skills with a seasoned professional in the tech industry. This course is tailored for aspiring individuals seeking proficiency in Python. Participants will immerse themselves in advanced Python concepts, focusing on object-oriented programming (OOP) and automation through Selenium. Dive into browser testing, automation strategies, and harnessing OOP principles in Python. Gain practical experience with essential tools like pytest for testing, command-line scripting, HTML for web development, and version control using GitHub and Git. By course end, students will be adept at automating browser testing workflows and collaborating on projects using advanced Python techniques, ready to excel in the tech industry.


Explore the Dynamic World of Software Development:

Immerse yourself in a comprehensive journey that goes beyond traditional software testing. Through practical exercises, you'll deepen your understanding of Python, Selenium, and advanced software testing techniques. This course isn't just about mastering testing; it's about gaining insights into the entire software development lifecycle.

Project-Based Learning: Our hands-on projects aren't limited to testing alone. You'll delve into various facets of software development, including algorithms, advanced Python concepts like Object-Oriented Programming (OOP), and essential skills such as version control with Git and GitHub, merge conflict resolution, and more.

Craft Your Portfolio: As you progress, you'll build a robust portfolio showcasing not only your testing expertise but also your understanding of software development principles. This portfolio will serve as a testament to your versatility, opening doors to diverse career opportunities and internships in the software industry.

Join us as we navigate the intersection of software testing, Python coding, and the broader landscape of software development. Together, we'll equip you with a skill set that transcends boundaries and empowers you to thrive in the dynamic world of software engineering.

Agenda: 
=======

Week 1: Understanding Software Development (Testing)

Objective: Gain a comprehensive understanding of software testing and its significance.

Discussion Points:

Defining software testing: What is it and why is it crucial?
Exploring the need for testing: Real-world examples and case studies.
Introduction to web applications: Understanding their structure and functionality.
Overview of popular testing tools: Python, Git, Object-Oriented Programming (OOP) concepts, Selenium, pytest, and their roles in testing.

Week 2: Testing Web Applications with Selenium and Python

Objective: Learn how to effectively test web applications using Selenium and Python.

Discussion Points:

Understanding Selenium: What is it and how does it automate web browsers?
Integration of Python and Selenium: Exploring their synergy in web testing.
Practical demonstration: Running basic Selenium scripts to test web pages.
Q&A session with a guest speaker: Experienced tester shares insights and best practices in web application testing.

Week 3: Identifying Web Elements for Testing

Objective: Master the techniques for identifying and interacting with web elements using Selenium.

Discussion Points:

Locators in Selenium: Understanding different methods for locating web elements.
Practical exercises: Finding and inspecting web elements on live web pages.
Interacting with web elements: Clicking, typing, and interacting with various types of elements.
Hands-on lab: Writing Selenium scripts to interact with dynamic web elements.

Week 4: Practical Application: Testing Scenarios with Python and Selenium

Objective: Apply knowledge gained to test real-world scenarios using Python and Selenium.

Discussion Points:

Opening URLs and navigating web pages programmatically.
Interacting with form elements: Typing into fields and clicking buttons.
Group project: Collaborative testing of a web application, followed by peer review and feedback.

Learning Goals

Advanced Algorithms Mastery:
Goal: Understand and implement complex algorithms efficiently.
Objectives:
Study and implement sorting algorithms such as quicksort, mergesort, and radix sort.
Learn data structures like graphs, trees, and hash tables
Browser Automation Proficiency:
Goal: Automate web tasks using browser automation tools.
Objectives:
Familiarize yourself with tools like Playwright for automated testing and web scraping.
Practice writing scripts to interact with web elements
learning goal

Other Details

Parental Guidance
*** Notice about the usage of Third-party tool A third-party tool, PyCharm, is going to be used in this class. The following paragraph is taken from the PyCharm privacy policy section and by joining this class you give permission that the following data will be collected from the enrolled student(s). "As you use our Website, we may use automatic data collection technologies to collect information about your equipment, browsing actions, and patterns. For example, we may collect: details of your visits to our Website, including traffic data, location data, logs, and other communication data; and information about your computer and internet connection, including your IP address, operating system, and browser type. The information we collect automatically is statistical data and does not include Personal Information. It helps us to improve our Website and to deliver a better and more personalized service, including by enabling us to: estimate our audience size and usage patterns; monitor site performance and uptime; resolving technical issue for Website users; store information about your preferences, allowing us to customize our Website for you; and recognize you when you return to our Website."
External Resources
In addition to the Outschool classroom, this class uses:
  • pyCharm
Joined May, 2020
4.8
145reviews
Popular
Profile
Teacher expertise and credentials
Master's Degree from Loyola Marymount University
Hello Future Engineers, Scientists, and Innovators!

I'm Faruk, a passionate Software Test Engineer (SDET) and STEM instructor based in New York, with over 12 years of experience in software development and teaching. My goal is to make learning fun, interactive, and hands-on while helping students build real-world problem-solving skills.

With a Bachelor’s and Master’s in Electrical Engineering, I bring technical expertise and a deep understanding of coding, algorithms, and project development. Through engaging, project-based learning, my classes aim to equip students with the essential skills to succeed in tech careers.

Classes I Offer:

Python Classes:

- Level-1: Real-World Python Projects – Learn coding with hands-on projects that mimic real-world applications.

- Level-2: Advanced Python Projects – Dive deeper into Python with advanced project-based learning.

- Level-3: Python Algorithms – Master algorithm design and logical problem-solving in Python.

- Beginner Python Coding: Year-Long Project-Based Programming Class for Kids – A year-long class designed for younger students to learn Python through fun projects.

- Level 5: Python Flex – Algorithms and Projects with Object-Oriented Programming – Learn advanced Python techniques and object-oriented programming with flexible learning.

- Python Coding GUI Mastery: From Basics to Intermediate Tkinter (Flex, Level 4) – Dive into graphical user interfaces with Tkinter for Python.

- Python and Artificial Intelligence Projects: Build, Train, and Deploy AI Models – Learn how to build, train, and deploy AI models using Python.

Java Classes:
- Level-1: Java for Beginners – A beginner's project-based approach to learning Java.

- Advanced Java Programming – Explore algorithm design and real-world Java applications.

- Java Object-Oriented Programming – Learn Java OOP through real-world projects in software testing.

Web Development Classes:
- Beginner Web Development Bootcamp: Javascript, HTML, and CSS for Kids! – An introductory bootcamp designed for kids to learn web development using JavaScript, HTML, and CSS.

Math Classes:
- Algebra 1 for Middle Schoolers – Algebra concepts taught in a fun, approachable way for middle school students.


Why Choose My Classes?

- Real-World Experience: I apply industry knowledge to make complex concepts easy and relatable.

- Hands-On Projects: Each class is designed around projects that help students build practical coding skills.

- Engaging Learning Environment: I foster a fun and supportive environment where learning and creativity thrive.

Education:

- Bachelor’s in Electrical Engineering – Queen Mary, University of London, UK

- Master’s in Electrical Engineering – Loyola Marymount University, Los Angeles, CA

Professional Background:
With over 12 years in the tech industry, I have experience delivering cutting-edge technology services and am excited to share those insights with my students.

Hobbies:
When I’m not coding, I love traveling, cycling, reading, and gaming. My diverse hobbies inspire creativity in my teaching and make each class dynamic and enjoyable.

Join Me!
Let’s embark on a fun and educational STEM journey together! Whether you’re just starting or want to take your skills to the next level, I’m here to help you succeed.

Reviews

Live Group Class
Share

$12

weekly
1x per week, 50 weeks
35 min

Live video meetings
Ages: 13-17
5-8 learners per class

About
Support
SafetyPrivacyCA PrivacyLearner PrivacyYour Privacy ChoicesTerms
Financial Assistance
Get The App
Download on the App StoreGet it on Google Play
© 2025 Outschool