BENEFITS
Best Seller
Online Courses
24/7 Support
Lifetime Access
Get Certificate
Description
TheCourseTree proudly presents to you "The Complete Python Pro Bootcamp 2023" the only Bundle Offer you need to learn to code with Python. Giving you Access for Lifetime.
This offer is without a doubt the most comprehensive Python offer available anywhere online. Even if you have zero programming experience, this Bundle offer will take you from beginner to professional.
We'll take you step-by-step through engaging video tutorials and teach you everything you need to know to succeed as a Python developer. Moreover, you will also receive course certification certificates upon successful completion of bundle courses. This offer comes with 30 days Money Back guarantee, so you can claim 100% cash back if you don’t like our courses.
Offer Curriculum
- 001 What you're going to get from this course (3:27)
- 002 START HERE (2:54)
- 003 Downloadable Resources and Tips for Taking the Course (4:22)
- 004 Day 1 Goals_ what we will make by the end of the day (2:30)
- 006 Printing to the Console in Python (9:29)
- 007 [Interactive Coding Exercise] Printing (12:24)
- 008 String Manipulation and Code Intelligence (9:46)
- 009 [Interactive Coding Exercise] Debugging Practice (6:09)
- 010 The Python Input Function (8:49)
- 011 [Interactive Coding Exercise] Input Function (7:02)
- 012 Python Variables (6:43)
- 013 [Interactive Coding Exercise] Variables (4:00)
- 014 Variable Naming (3:58)
- 015 Day 1 Project_ Band Name Generator (5:49)
- 016 Congratulations! Well done! (0:52)
- 017 Goals_ what we will make by the end of the day (1:46)
- 018 Python Primitive Data Types (7:58)
- 019 Type Error, Type Checking and Type Conversion (7:19)
- 020 [Interactive Coding Exercise] Data Types (6:04)
- 021 Mathematical Operations in Python (8:27)
- 022 [Interactive Coding Exercise] BMI Calculator (7:10)
- 023 Number Manipulation and F Strings in Python (8:10)
- 024 [Interactive Coding Exercise] Life in Weeks (6:24)
- 025 Day 2 Project_ Tip Calculator (18:26)
- 026 You are already in the top 50_ (0:29)
- 027 3 Goals_ what we will make by the end of the day (1:22)
- 028 Control Flow with if _ else and Conditional Operators (10:24)
- 029 [Interactive Coding Exercise] Odd or Even_ Introducing the Modulo (4:56)
- 030 Nested if statements and elif statements (6:28)
- 031 [Interactive Coding Exercise] BMI 2.0 (7:18)
- 032 [Interactive Coding Exercise] Leap Year (10:34)
- 033 Multiple If Statements in Succession (9:29)
- 034 [Interactive Coding Exercise] Pizza Order Practice (6:16)
- 035 Logical Operators (5:58)
- 036 [Interactive Coding Exercise] Love Calculator (14:08)
- 037 Day 3 Project_ Treasure Island (18:12)
- 038 Share and Show off your Project! (0:44)
- 039 Day 4 Goals_ what we will make by the end of the day (1:31)
- 040 Random Module (13:45)
- 041 [Interactive Coding Exercise] Heads or Tails (2:16)
- 042 Understanding the Offset and Appending Items to Lists (13:14)
- 043 [Interactive Coding Exercise] Banker Roulette - Who will pay the bill_ (10:22)
- 044 IndexErrors and Working with Nested Lists (5:25)
- 045 [Interactive Coding Exercise] Treasure Map (11:37)
- 046 Day 4 Project_ Rock Paper Scissors (21:27)
- 047 Programming is like going to the Gym (1:04)
- 048 Day 5 Goals_ what we will make by the end of the day (3:13)
- 049 Using the for loop with Python Lists (7:32)
- 050 [Interactive Coding Exercise] Average Height (8:40)
- 051 [Interactive Coding Exercise] High Score (7:08)
- 052 for loops and the range() function (5:22)
- 053 [Interactive Coding Exercise] Adding Even Numbers (4:35)
- 054 [Interactive Coding Exercise] The FizzBuzz Job Interview Question (5:22)
- 055 Day 5 Project_ Create a Password Generator (16:10)
- 056 Hard Work and Perseverance beats Raw Talent Every Time (1:08)
- 057 Day 6 Goals_ what we will make by the end of the day (1:01)
- 058 Defining and Calling Python Functions (15:50)
- 059 The Hurdles Loop Challenge (10:38)
- 060 Indentation in Python (9:14)
- 061 While Loops (12:42)
- 062 Hurdles Challenge using While Loops (6:57)
- 063 Jumping over Hurdles with Variable Heights (8:12)
- 064 Final Project_ Escaping the Maze (16:41)
- 065 Why is this _so_ Hard_! Can I really do this_ (1:25)
- 066 Day 7 Goals_ what we will make by the end of the day (1:59)
- 067 How to break a Complex Problem down into a Flow Chart (5:13)
- 068 Challenge 1 - Picking a Random Words and Checking Answers (2:05)
- 069 Challenge 1 Solution - How to Check the User's Answer (6:45)
- 070 Challenge 2 - Replacing Blanks with Guesses (2:55)
- 071 Challenge 2 Solution - How to Replace the Blanks (10:47)
- 072 Challenge 3 - Checking if the Player has Won (3:25)
- 073 Challenge 3 Solution - How to Check if the Player Won (3:51)
- 074 Challenge 4 - Keeping Track of the Player's Lives (2:16)
- 075 Challenge 4 Solution - How to Keep Track of the Player's Lives (5:47)
- 076 Challenge 5 - Improving the User Experience (4:23)
- 077 Challenge 5 Solution - How to Add ASCII Art and Improve the UI (6:33)
- 078 The Benefits of Daily Practice (1:12)
- 079 Day 8 Goals_ what we will make by the end of the day (2:15)
- 080 Functions with Inputs (9:32)
- 081 Positional vs. Keyword Arguments (8:51)
- 082 [Interactive Coding Exercise] Paint Area Calculator (7:48)
- 083 [Interactive Coding Exercise] Prime Number Checker (8:54)
- 084 Caesar Cipher Part 1 - Encryption (14:41)
- 085 Caesar Cipher Part 2 - Decryption (6:29)
- 086 Caesar Cipher Part 3 - Reorganising our Code (10:37)
- 087 Caesar Cipher Part 4 - User Experience Improvements & Final Touches (13:23)
- 088 How You Can _Stay_ Motivated (1:06)
- 089 Day 9 Goals_ what we will make by the end of the day (2:29)
- 090 The Python Dictionary_ Deep Dive (14:13)
- 091 [Interactive Coding Exercise] Grading Program (6:00)
- 092 Nesting Lists and Dictionaries (9:55)
- 093 [Interactive Coding Exercise] Dictionary in List (5:35)
- 094 The Secret Auction Program Instructions and Flow Chart (4:29)
- 095 Solution and Complete Code for the Secret Auction Program (18:13)
- 096 Motivation and the Accountability Trick (1:02)
- 097 Day 10 Goals_ what we will make by the end of the day (1:34)
- 098 Functions with Outputs (12:58)
- 099 Multiple return values (3:31)
- 100 [Interactive Coding Exercise] Days in Month (6:44)
- 101 Docstrings (3:43)
- 102 Calculator Part 1_ Combining Dictionaries and Functions (8:44)
- 103 Print vs. Return (4:38)
- 104 While Loops, Flags and Recursion (7:49)
- 105 Calculator Finishing Touches and Bug Fixes (3:47)
- 106 How to Get a Good Night's Sleep (1:32)
- 107 Day 11 Goals_ what we will make by the end of the day (2:15)
- 108 Blackjack Program Requirements and Game Rules (8:34)
- 109 Hint 4 & 5 Solution Walkthrough (6:49)
- 110 Hint 6-8 Solution Walkthrough (5:06)
- 111 Hint 9 Solution Walkthrough_ Refactoring and calling calculate_score() (5:08)
- 112 Hint 10-12 Solution Walkthrough (5:24)
- 113 Hint 13 Solution Walkthrough (8:43)
- 114 A Solid Foundation goes a Long Way (1:38)
- 115 Namespaces_ Local vs. Global Scope (7:52)
- 116 Does Python Have Block Scope_ (2:50)
- 117 How to Modify a Global Variable (4:43)
- 118 Python Constants and Global Scope (1:46)
- 119 Introducing the Final Project_ The Number Guessing Game (4:58)
- 120 Solution & Walkthrough to the Number Guessing Game (23:41)
- 121 Don't be too hard on yourself (0:44)
- 122 Describe the Problem (4:51)
- 123 Reproduce the Bug (3:34)
- 124 Play Computer and Evaluate Each Line (3:51)
- 125 Fixing Errors and Watching for Red Underlines (3:30)
- 126 Squash bugs with a print() Statement (4:39)
- 127 Bringing out the BIG Gun_ Using a Debugger (5:52)
- 128 Final Debugging Tips.en_US (5:09)
- 129 [Interactive Coding Exercise] Debugging Odd or Even (2:45)
- 130 [Interactive Coding Exercise] Debugging Leap Year (3:01)
- 131 [Interactive Coding Exercise] Debugging FizzBuzz (7:34)
- 132 Building Confidence (1:01)
- 136 Installing Python Locally on Your Computer (4:38)
- 137 Download PyCharm for Windows or Mac (1:59)
- 138 PyCharm's Charming Features (while you wait for the download to finish) (13:04)
- 139 How to Install PyCharm on Windows (2:38)
- 140 Installing PyCharm on Mac (2:53)
- 141 Introduction & Requirements for the Coffee Machine Project (10:35)
- 142 Solution & Walkthrough for the Coffee Machine Code (28:58)
- 143 Location, Location, Location - Pavlov's Coding Corner (1:08)
- 144 Why do we need OOP and how does it work_ (7:21)
- 145 How to use OOP_ Classes and Objects (4:09)
- 146 Constructing Objects and Accessing their Attributes and Methods (15:56)
- 147 How to Add Python Packages and use PyPi (5:56)
- 148 Practice Modifying Object Attributes and Calling Methods (8:30)
- 149 Building the Coffee Machine in OOP (7:11)
- 150 Walkthrough and Solution for the OOP Coffee Machine (15:21)
- 151 Don't forget to review occasionally (0:56)
- 152 Day 17 Goals_ what we will make by the end of the day (1:08)
- 153 How to create your own Class in Python (4:44)
- 154 Working with Attributes, Class Constructors and the __init__() Function (11:09)
- 155 Adding Methods to a Class (4:26)
- 156 Quiz Project Part 1_ Creating the Question Class (5:47)
- 157 Quiz Project Part 2_ Creating the List of Question Objects from the Data (7:49)
- 158 Quiz Project Part 3_ The QuizBrain and the next_question() Method (7:51)
- 159 Quiz Project Part 4_ How to continue showing new Questions (4:46)
- 160 Quiz Project Part 5_ Checking Answers and Keeping Score (8:08)
- 161 The Benefits of OOP_ Use Open Trivia DB to Get New Questions (5:35)
- 162 Run for that Bus! (1:19)
- 163 Day 18 Goals_ what we will make by the end of the day (1:03)
- 164 Understanding Turtle Graphics and How to use the Documentation (9:56)
- 165 Turtle Challenge 1 - Draw a Square (2:29)
- 166 Importing Modules, Installing Packages, and Working with Aliases (8:09)
- 167 Turtle Challenge 2 - Draw a Dashed Line (3:00)
- 168 Turtle Challenge 3 - Drawing Different Shapes (6:43)
- 169 Turtle Challenge 4 - Generate a Random Walk (7:21)
- 170 Python Tuples and How to Generate Random RGB Colours (7:42)
- 171 Turtle Challenge 5 - Draw a Spirograph (9:26)
- 172 The Hirst Painting Project Part 1 - How to Extract RGB Values from Images (13:50)
- 173 The Hirst Painting Project Part 2 - Drawing the Dots (12:24)
- 174 Space out your study sessions and stay consistent (1:36)
- 175 Day 19 Goals_ what we will make by the end of the day (1:48)
- 176 Python Higher Order Functions & Event Listeners (7:13)
- 177 Challenge_ Make an Etch-A-Sketch App (7:27)
- 178 Object State and Instances (3:25)
- 179 Understanding the Turtle Coordinate System (13:14)
- 180 Aaaand, we're off to the races! (10:02)
- 181 Expand on the Solutions (1:47)
- 182 Day 20 Goals_ what we will make by the end of the day (4:39)
- 183 Screen Setup and Creating a Snake Body (7:59)
- 184 Animating the Snake Segments on Screen (17:19)
- 185 Create a Snake Class & Move to OOP (7:26)
- 186 How to Control the Snake with a Keypress (10:54)
- 187 Programming is not Memorising (2:14)
- 188 Day 21 Goals_ what we will make by the end of the day (1:06)
- 189 Class Inheritance (6:47)
- 190 Detect Collisions with Food (11:48)
- 191 Create a Scoreboard and Keep Score (10:21)
- 192 Detect Collisions with the Wall (3:52)
- 193 Detect Collisions with your own Tail (6:19)
- 194 How to Slice Lists & Tuples in Python (7:40)
- 195 Stay motivated by remembering the reason you signed up (1:43)
- 196 Day 22 Goals_ what you will make by the end of the day (3:45)
- 197 Set up the Main Screen (1:43)
- 198 Create a Paddle that responds to Key Presses (6:21)
- 199 Write the Paddle Class and Create the Second Paddle (7:37)
- 200 Write the Ball Class and Make the Ball Move (4:44)
- 201 Add the Ball Bouncing Logic (7:01)
- 202 How to Detect Collisions with the Paddle (6:16)
- 203 How to Detect when the Ball goes Out of Bounds (4:02)
- 204 Score Keeping and Changing the Ball Speed (9:25)
- 205 Picturing fears_ even the worst-case scenario is not so scary (1:41)
- 206 Day 23 Goals_ what you will make by the end of the day (1:27)
- 208 How to use the Starter Code (3:29)
- 211 Solution to Step 3 - Create the Player Behaviour (4:43)
- 212 Solution to Step 4 - Create the Car Behaviour (9:13)
- 213 Solution to Step 5 - Detect when the Turtle collides with a Car _squish_ (2:29)
- 214 Solution to Step 6 - Detect when the Player has reached the other side (4:28)
- 215 Solution to Step 7 - Add the Scoreboard and Game Over sequence (7:52)
- 216 This course is not about typing out code (1:44)
- 217 Day 24 Goals_ what you will make by the end of the day (2:08)
- 218 Add a High Score to the Snake Game (10:45)
- 219 How to Open, Read, and Write to Files using the _with_ Keyword (9:32)
- 220 Challenge_ Read and Write the High Score to a File in Snake (6:02)
- 221 Understand Relative and Absolute File Paths (15:26)
- 222 Introducing the Mail Merge Challenge (4:45)
- 223 Solution & Walkthrough for the Mail Merge Project (11:28)
- 224 What's the correct solution_ What's the best answer_ What's the right way_ (2:58)
- 225 Day 25 Goals_ what we will make by the end of the day (1:51)
- 226 Reading CSV Data in Python (13:20)
- 227 DataFrames & Series_ Working with Rows & Columns (17:26)
- 228 The Great Squirrel Census Data Analysis (with Pandas!) (9:52)
- 229 U.S. States Game Part 1_ Setup (10:18)
- 230 U.S. States Game Part 2_ Challenge with .csv (16:04)
- 231 U.S. States Game Part 3_ Saving Data to .csv (5:27)
- 232 Day 26 Goals_ what you will make by the end of the day (1:25)
- 233 How to Create Lists using List Comprehension (15:49)
- 234 [Interactive Coding Exercise] Squaring Numbers (2:03)
- 235 [Interactive Coding Exercise] Filtering Even Numbers (2:38)
- 236 [Interactive Coding Exercise] Data Overlap (4:54)
- 237 Apply List Comprehension to the U.S. States Game (2:42)
- 238 How to use Dictionary Comprehension (8:55)
- 239 [Interactive Coding Exercise] Dictionary Comprehension 1 (4:05)
- 240 [Interactive Coding Exercise] Dictionary Comprehension 2 (3:19)
- 241 How to Iterate over a Pandas DataFrame (4:56)
- 242 Introducing the NATO Alphabet Project (5:29)
- 243 Solution & Walkthrough for the NATO Alphabet Project (5:53)
- 244 Day 27 Goals_ what we will make by the end of the day (2:04)
- 245 History of GUI and Introduction to Tkinter (5:22)
- 246 Creating Windows and Labels with Tkinter (9:34)
- 247 Setting Default Values for Optional Arguments inside a Function Header (5:43)
- 248 _args_ Many Positional Arguments (5:58)
- 249 __kwargs_ Many Keyword Arguments (9:50)
- 250 Buttons, Entry, and Setting Component Options (9:48)
- 251 Other Tkinter Widgets_ Radiobuttons, Scales, Checkbuttons and more (7:19)
- 252 Tkinter Layout Managers_ pack(), place() and grid() (11:04)
- 253 Mile to Kilometers Converter Project (11:10)
- 254 Day 28 Goals_ what we will make by the end of the day (2:41)
- 255 How to work with the Canvas Widget and Add Images to Tkinter (15:10)
- 256 Challenge - Complete the Application's User Interface (UI) (8:45)
- 257 Add a Count Down Mechanism (17:46)
- 258 Dynamic Typing Explained (6:58)
- 259 Setting Different Timer Sessions and Values (8:00)
- 260 Adding Checkmarks and Resetting the Application (9:50)
- 261 Day 29 Goals_ what we will make by the end of the day (3:32)
- 262 Challenge 1 - Working with Images and Setting up the Canvas (5:04)
- 263 Challenge 2 - Use grid() and columnspan to Complete the User Interface (4:54)
- 264 Solution to the Creating the Grid Layout (6:36)
- 265 Challenge 3 - Saving Data to File (13:25)
- 266 Dialog Boxes and Pop-Ups in Tkinter (9:09)
- 267 Generate a Password & Copy it to the Clipboard (12:47)
- 268 Day 30 Goals_ what you will make by the end of the day (1:41)
- 269 Catching Exceptions_ The try catch except finally Pattern (15:32)
- 270 Raising your own Exceptions (4:14)
- 271 [Interactive Coding Exercise] IndexError Handling (2:47)
- 272 [Interactive Coding Exercise] KeyError Handling (3:29)
- 273 Code Exercise_ Exception Handling in the NATO Phonetic Alphabet Project (6:31)
- 274 Write, read and update JSON data in the Password Manager (13:20)
- 275 Challenge 1 - Handling Exceptions in the Password Manager (6:19)
- 276 Challenge 2 - Search for a Website in the Password Manager (17:56)
- 286 Day 32 Goals_ what we will make by the end of the day (2:31)
- 288 How to Send Emails with Python using SMTP (14:28)
- 289 Working with the datetime Module (6:12)
- 290 Challenge 1 - Send Motivational Quotes on Mondays via Email (8:37)
- 291 Automated Birthday Wisher Project Challenge (5:40)
- 292 Solution & Walkthrough for the Automated Birthday Wisher (17:28)
- 293 Run Your Python Code in the Cloud! (6:10)
- 294 Day 33 Goals_ what you will make by the end of the day (1:05)
- 295 What are Application Programming Interfaces (APIs)_ (4:07)
- 296 API Endpoints and Making API Calls (7:43)
- 297 Working with Responses_ HTTP Codes, Exceptions & JSON Data (8:56)
- 298 Challenge - Build a Kanye Quotes App using the Kanye Rest API (4:40)
- 299 Understand API Parameters_ Match Sunset Times with the Current Time (15:08)
- 300 ISS Overhead Notifier Project - Challenge & Solution (10:06)
- 301 Day 34 Goals_ what you will make by the end of the day (2:19)
- 302 Trivia Question API Challenge (5:48)
- 303 Solution & Walkthrough for getting Trivia Questions (3:33)
- 304 Unescaping HTML Entities (4:02)
- 305 Class based Tkinter UI (14:28)
- 306 Python Typing & Showing the Next Question in the GUI (6:56)
- 307 Python Typing_ Type Hints and Arrows -_ (5:14)
- 308 Check the Answer (3:34)
- 309 Give Feedback to the Player, Keep Score and Fix the Bugs =) (8:38)
- 310 Day 35 Goals_ what you will make by the end of the day (1:35)
- 311 What is API Authentication and Why Do We Need to Authenticate Ourselves_ (4:28)
- 312 Using API Keys to Authenticate and Get the Weather from OpenWeatherMap (13:05)
- 313 Challenge - Check if it Will Rain in the Next 12 Hours (18:58)
- 314 Sending SMS via the Twilio API (9:11)
- 315 Use PythonAnywhere to Automate the Python Script (7:36)
- 316 Understanding Environment Variables and Hiding API Keys (10:13)
- 322 Day 37 Goals_ what you will make by the end of the day (2:45)
- 323 HTTP Post Requests (8:21)
- 324 Advanced Authentication using an HTTP Header (10:52)
- 325 Challenge_ Add a Pixel to the Habit Tracker using a Post Request (5:55)
- 326 Autofilling today's date using strftime (4:18)
- 327 How to use HTTP Put and Delete Requests (6:35)
- 347 Day 41 Goals_ what you will make by the end of the day (4:01)
- 348 How Does the Internet Actually Work_ (5:42)
- 349 How Do Websites Actually Work_ (6:20)
- 351 Introduction to HTML (10:52)
- 352 The Anatomy of an HTML Tag (10:55)
- 353 What we're building - HTML Personal Site (2:52)
- 354 What is The HTML Boilerplate_ (17:01)
- 355 How to Structure Text in HTML (11:00)
- 356 HTML Lists (5:24)
- 357 HTML Image Elements (7:32)
- 358 HTML Links and Anchor Tags (11:56)
- 377 Day 44 Goals_ what you will make by the end of the day (0:49)
- 378 What We'll Make - Stylised Personal Site (4:57)
- 379 What Are Favicons_ (4:09)
- 380 HTML Divs (13:31)
- 381 The Box Model of Website Styling (19:40)
- 382 CSS Display Property (15:11)
- 383 CSS Static and Relative Positioning (14:36)
- 384 Absolute positioning (12:12)
- 385 The Dark Art of Centering Elements with CSS (9:03)
- 386 Font Styling in Our Personal Site (14:17)
- 387 Adding Content to Our Website (6:53)
- 388 CSS Sizing (15:54)
- 392 CSS Font Property Challenge Solutions (3:57)
- 393 CSS Float and Clear (16:44)
- 395 Stylised Personal Site Solution Walkthrough (21:22)
- 411 Day 48 Goals_ what you will make by the end of the day (2:50)
- 412 How to Install & Set Up Selenium (11:55)
- 413 How to Find and Select Elements on a Website with Selenium (11:43)
- 414 Challenge_ Use Selenium to Scrape Website Data (8:11)
- 415 Challenge_ Use Selenium in a Blank Project & Scrape a Different Piece of Data (4:30)
- 416 How to Automate Filling Out Forms and Clicking Buttons with Selenium (10:42)
- 417 The Cookie Clicker Project (3:38)
- 444 Understanding Backend Web Development with Python (7:56)
- 445 Create your First Web Server with Flask (12:31)
- 446 Understand the Command Line on Windows and Mac (13:10)
- 447 __name__ and __main__ _ Special Attributes built into Python (3:58)
- 448 Python Functions as First Class Objects_ Passing & Nesting Functions (9:56)
- 449 Understanding Python Decorator Functions and the @ Syntax (9:07)
- 471 What is Bootstrap_ (14:36)
- 472 Installing Bootstrap (7:55)
- 473 Web Design 101 - Wireframing (11:38)
- 474 The Bootstrap Navigation Bar (20:40)
- 475 What We'll Make - Tindog (0:56)
- 477 Setting Up Our New Project (7:42)
- 478 The Bootstrap Grid Layout System (20:17)
- 480 Adding Grid Layouts to Our Website (9:39)
- 482 Bootstrap Containers (5:54)
- 483 Bootstrap Buttons and Font Awesome (11:30)
- 484 Styling Our Website Challenges and Solutions (20:20)
- 486 Solution to Bootstrap Challenge 1 (17:01)
- 487 The Bootstrap Carousel Part 1 (9:39)
- 488 The Bootstrap Carousel Part 2 (17:20)
- 489 Bootstrap Cards (16:32)
- 490 CSS Z-index and Stacking Order (21:28)
- 491 Advanced CSS - Media Query Breakpoints (22:03)
- 493 Solution to Bootstrap Challenge 2 (11:46)
- 494 Code Refactoring (7:48)
- 495 Refactor Our Website Part 1 (19:20)
- 496 Advanced CSS - Combining Selectors (11:44)
- 497 Refactoring Our Website Part 2 (5:21)
- 498 Advanced CSS - Selector Priority (5:51)
- 499 Completing the Website (2:34)
- 541 Introduction to Web Design (3:55)
- 542 Understanding Color Theory (9:04)
- 543 Understanding Typography and How to Choose Fonts (10:28)
- 544 Manage ATTENTION with effective User Interface (UI) Design (10:27)
- 545 User Experience (UX) Design (13:39)
- 546 Web Design in Practice - Let's apply what we've learnt! (18:20)
Offer Ending Soon