Table of Contents

The Modern Python 3 Bootcamp by Colt Steele

Return to Python Coursesm, Python or Courses

The Modern Python 3 Bootcamp

A Unique Interactive Python Experience With Nearly 200 Python Exercises and Python Quizzes

As of June 2020:

This course includes:

What you'll learn

Course content

376 lectures

30:17:31

Course Introduction

27:21 - Course Introduction - 05:52


MAC/LINUX Command Line Fundamentals

52:28

Command Line Fundamentals 4 questions Making Directories with MKDIR 02:59 Creating Files with TOUCH 04:48 Quick Activity: Salamanders and Frogs 04:07 Moving and Renaming with MV 05:29 Deleting Files with RM 02:03 Deleting Directories (Plus Tangents on Permissions and MAN Pages) 08:26 Command Line Fundamentals II 3 questions

WINDOWS Command Line Fundamentals

38:14 Why Do You Need The Command Line? 04:58 Using Powershell 04:45 Paths, LS, and PWD 04:35 Using The CD Command 08:05 Command Line Fundamentals (Windows) 4 questions OPTIONAL: Making Directories with MKDIR 03:29 OPTIONAL: Making Files (it's…complicated) 06:41 Creating a Touch Function 00:54 OPTIONAL: Removing Files and Folders with RM 04:47 Command Line Fundamentals II (Windows) 2 questions – MAC Python Setup 19:45 Installing Python: MAC 03:16 Optional: Installing Sublime Text 07:57 Our First Python Program! 05:07 Say Your Name 1 question SOLUTION 00:05 Important Note on Print and the Python Interpreter 03:20 – WINDOWS Python Setup 19:11 Installing Python On a PC 05:31 Introducing Sublime Text 04:15 Your First Python Program 06:00 Print Your Name 1 question SOLUTION 00:05 Important Note on Print and the Python Interpreter 03:20 – Numbers, Operators, and Comments 21:59 Section Introduction/Objectives 02:32 Numbers: Ints and Floats 05:02 Quick Ints and Floats Quiz 2 questions Numbers: Basic Math 02:57 Basic Math Refresher 3 questions Quick Note: Comments 04:30 One Question Quiz 1 question Numbers: Weirder Operators 05:00 Numbers Quiz 3 questions Introduction to the Python Documentation 01:58 – Variables and Strings 01:11:10 Variables and Data Types 02:27 Introduction to Variables 07:16 Bank Robbery Money 1 question SOLUTION 00:03 Variable Naming Restrictions and Conventions 06:18 Data Types Overview Preview 07:53 What The Heck is Dynamic Typing Preview 02:32 Super Quick One Question Quiz! 1 question The Special Value NONE 03:25 Double Vs. Single Quotes 03:45 Make Some Variables! 1 question SOLUTION 00:15 String Escape Sequences 05:01 Escape Sequence Practice 1 question SOLUTION 00:15 String Concatenation 05:33 String Concatenation Exercise 1 question SOLUTION 00:10 String Formatting 03:53 IMPORTANT: Interpolation w/ Udemy Exercises 02:47 Formatting Strings 1 question SOLUTION 00:09 Strings and Indexes (Indicies?) 03:00 Converting Data Types 05:48 Building a Mileage Convertor With User Input 10:39 Variables and Data Types 8 questions – Boolean and Conditional Logic 01:02:30 Section Introduction and Objectives 03:01 Getting User Input 03:33 Intro to Conditionals 08:06 Lucky Number 7 1 question SOLUTION 00:05 Number is Odd 1 question SOLUTION 00:06 Multiple Elifs 02:05 A Word on Truthiness + A Quick Example 06:25 The Joy of Comparison Operators 05:53 Logical AND & OR 06:52 Food Classifying Exercise 1 question SOLUTION 00:09 LOGICAL NOT 07:27 Boolean Logic Principles 6 questions A Note on Is Vs. == 05:17 Bouncer Code-Along and Nested Conditionals 12:50 Boolean & Conditional Logic in Python 3 questions Positive or Negative Checking 1 question SOLUTION 00:22 Calling in Sick 1 question SOLUTION 00:18 – Rock, Paper, Scissors 34:20 Rock, Paper, Scissor Mini Project: BASIC Version 03:04 RPS Mini Project: BASIC Version Solution 07:40 RPS Mini Project: Refactoring Time 08:37 Another Cleaner RPS Solution 00:33 RPS Mini Project: Playing Against The Computer 03:13 RPS Mini Project: Computer AI Solution 11:13 – Looping in Python 58:07 Section Introduction 04:53 IMPORTANT ANNOUNCEMENT ON LOOPS EXERCISES 00:23 The Basics of For Loops 06:30 Exploring Ranges In Depth 06:02 Quick Ranges Quiz 4 questions For Loop and Range Exercise 1 question SOLUTION 00:31 EXERCISE: Screaming Repeating 04:01 EXERCISE: Unlucky Numbers 08:33 Introducing While Loops 09:01 EXERCISE: Emoji Art 08:48 EXERCISE: Stop Copying Me 04:36 The Break Keyword 04:34 Stuck in a Loop 3 questions While Loop Exercise 1 question SOLUTION 00:15 Loops 4 questions + Guessing Game 4 lectures 29:21 Guessing Game Mini Project 03:21 Guessing Game Solution 10:20 Improving Rock Paper Scissors 11:29 SIDE NOTE: Python Style and PEP8 04:11 + Lists 14 lectures 01:06:39 Intro to Lists and Objectives 07:04 Creating Lists 04:31 Creating Lists Exercise 1 question SOLUTION 00:05 Accessing Data in Lists 05:12 Accessing List Data 1 question SOLUTION 00:10 Iterating Over Lists 07:39 List Iteration Exercise 1 question SOLUTION 00:18 List Methods: Append, Insert, and Extend 08:42 Lists Basics Exercise 1 question SOLUTION 00:14 List Methods: Clear, Pop, and Remove, 07:09 Lists Quiz 4 questions List Methods: Index, Count, Sort, Reverse, and Join 09:04 Lists Methods Exercise 1 question SOLUTION 00:12 Slices 14:46 Slices Quiz 3 questions Swapping Values in Lists 01:31 + Lists Comprehensions 11 lectures 30:51 Note About The List Comprehension Slides 00:57 List Comprehension 08:38 List Comprehension With Conditional Logic 05:23 List Comprehension Exercises 1 question SOLUTION 00:11 More List Comprehension Exercises 1 question SOLUTION 00:15 Another List Comp Exercise 1 question SOLUTION 00:04 List Exercises 4 1 question SOLUTION 00:08 Nested Lists 11:52 List Exercises 5 1 question SOLUTION 00:02 One More Nested List Comp Challenge 1 question SOLUTION 00:31 Lists Recap 02:49 + Dictionaries 14 lectures 54:09 Intro To Dictionaries: Creating Dictionaries 08:23 Dictionary Creation Exercise 1 question SOLUTION 00:12 Accessing Data in Dictionaries 03:28 Access Data in a Dictionary Exercise 1 question SOLUTION 00:20 Iterating Dictionaries 05:45 Totaling Donations Exercise 1 question SOLUTION 00:21 Using In With Dictionaries 03:42 Dictionary Methods: Clear, Copy, Fromkeys, and Get 08:46 Dictionary Access 1 question SOLUTION 00:38 Fromkeys Exercise 1 question SOLUTION 00:04 Dictionary Methods: Pop, Popitems, and Update 05:49 Dictionary Methods Exercise 1 question SOLUTION 00:11 Spotify Playlist Example 08:53 Dictionary Comprehension 07:36 Dictionaries Quiz 3 questions + Dictionary Exercises 4 lectures 00:39 State Abbreviations Exercise 1 question SOLUTION 00:10 List to Dictionary Exercise 1 question SOLUTION 00:20 Vowels Dict Exercise 1 question SOLUTION 00:03 ASCII Codes Dictionary 1 question SOLUTION 00:04 + Tuples and Sets 6 lectures 34:46 Section Introduction 10:04 Tuple Looping and Methods 04:29 Introduction to Sets 06:49 Set Methods and Set Math 06:40 Tuples and Sets Quiz 3 questions Tuples and Sets Exercise 1 question SOLUTION 00:23 Set Comprehension and Recap 06:21 + Functions Part I 16 lectures 01:03:35 Introduction to Defining Functions 06:44 Defining Functions 03:47 Your First Function 1 question SOLUTION 00:02 The Magical Return Keyword 06:04 Writing a coin_flip Function Using Random 05:02 Super Quick Return Exercise 1 question SOLUTION 00:01 Generating Evens Exercise 1 question SOLUTION 00:09 Parameters 09:11 Yell Function Exercise 1 question SOLUTION 00:10 Common Mistakes When Returning 04:26 Fix This Function! 1 question SOLUTION 00:20 Default parameters 08:21 Default Parameter Exercise - Talking Animals 1 question SOLUTION 00:38 Keyword Arguments 04:28 Scope 09:19 Docstrings and Functions Recap - WE DID IT! 04:52 + Functions Exercises 14 lectures 04:07 Product 1 question SOLUTION 00:03 return_day 1 question SOLUTION 00:33 last_element 1 question SOLUTION 00:08 number_compare 1 question SOLUTION 00:05 single_letter_count 1 question SOLUTION 00:09 multiple_letter_count 1 question SOLUTION 00:11 list_manipulation 1 question SOLUTION 00:10 is_palindrome 1 question SOLUTION 00:26 frequency 1 question SOLUTION 00:04 multiply_even_numbers 1 question SOLUTION 00:17 capitalize 1 question SOLUTION 00:07 compact 1 question SOLUTION 00:21 intersection 1 question SOLUTION 00:47 partition 1 question SOLUTION 00:41 + Functions Part II 9 lectures 31:42 Introduction and *args 08:14

1 question SOLUTION 00:14 **kwargs 07:20 **kwargs Exercise 1 question SOLUTION 00:16 Ordering Parameters 04:51 Tuple unpacking 04:43 Unpacking Exercise 1 question SOLUTION 00:16 Dictionary unpacking 04:46 calculate 1 question SOLUTION 01:00 Args and Kwargs 4 questions + Lambdas and Built-In Functions 23 lectures 01:33:31 Lambdas 09:55 Writing Your Own Lambda! 1 question SOLUTION 00:07 Map 06:16 Map Time Exercise 1 question SOLUTION 00:17 Filter 13:47 Filter Exercise! 1 question SOLUTION 00:17 Any and All 05:18 Generator Expressions and Using sys.getsizeof 04:49 Any/All Exercise 1 question SOLUTION 00:24 Sorted 07:53 Min and Max 08:02 Extremes Exercise - Using Min and Max 1 question SOLUTION 00:07 Reversed 04:08 Len() and a Special Sneak Peak of OOP! 07:31 Abs(), Sum(), and Round() 07:12 Greatest Magnitude Exercise 1 question SOLUTION 00:09 sum_even_values 1 question SOLUTION 00:23 sum_floats 1 question SOLUTION 00:23 Zip Basics 04:38 More Complex Zip Examples 11:07 Interleaving Strings (kind of tough!) 1 question SOLUTION 00:31 triple_and_filter 1 question SOLUTION 00:07 extract_full_name 1 question SOLUTION 00:06 + Debugging and Error Handling 7 lectures 47:45 Section Introduction 01:36 Common Types of Errors in Python 08:49 Raising Our Own Errors 08:56 Try and Except Blocks 06:44 Try, Except, Else, and Finally! 11:18 Debugging With PDB 10:13 Errors Quiz 4 questions Debugging and Error Handling Exercises 1 question SOLUTION 00:09 + Modules 11 lectures 52:35 Section Introduction 01:45 Working With Built-In Modules 09:46 Built In Modules Exercise 1 question SOLUTION 00:05 Built-In Modules: Slightly Tougher Challenge 1 question SOLUTION 00:21 Custom modules 05:11 Custom Module Exercise 1 question SOLUTION 00:22 Built-in and Custom Imports Quiz 4 questions Note about using the termcolor module on Windows 00:35 Installing External Modules And TermColor 10:10 ASCII Art Exercise 11:20 Using The autopep8 Package to Clean Up Code 06:16 The Mysterious __name__ variable 06:43 External Modules and Module Patterns Quiz 5 questions + OPTIONAL SECTION: Making HTTP Requests with Python 8 lectures 01:12:13 HTTP: START HERE 01:50 HTTP Introduction and Crash Course 13:51 HTTP Verbs and APIs 10:27 Writing Your First Python Request 07:28 Requesting JSON with Python 11:18 Sending Requests with Params 10:28 API Project 02:04 API Project Solution 14:47 + Object Oriented Programming 16 lectures 01:31:07 Section Introduction and Objectives 02:59 Defining Classes and Objects 06:35 Abstraction and Encapsulation 14:14 Creating Classes and Instances 04:22 World's Simplest Class Exercise 1 question SOLUTION 00:13 The __init__ method 07:28 Your First Class - Social Media Comments 1 question SOLUTION 00:09 Underscores: Dunder Methods, Name Mangling, and More! 07:41 Adding Instance Methods 12:33 Bank Account OOP Exercise 1 question SOLUTION 00:08 Introducing Class Attributes 04:44 Class Attributes Continued 12:42 Chicken Coop Exercise 1 question SOLUTION 00:09 Class Methods 06:43 A More Advanced Class Method Example 07:24 The __repr__ method 03:02 OOP Part 1 5 questions + Deck Of Cards Exercise 5 lectures 31:02 Deck Of Cards Intro Video 06:23 Deck of Cards Exercise Introduction Text 01:12 Deck of Cards Tests 1 question SOLUTION 00:04 Deck of Cards Solution: Card Class 04:11 Deck of Cards Solution: Deck Class 19:12 + OOP Part 2 12 lectures 01:23:26 Inheritance and Objectives 07:01 All About Properties 10:50 Introduction to Super() 07:19 Inheritance Example: User and Moderator 09:21 Roleplaying Game Classes 1 question SOLUTION 00:15 The Crazy World of Multiple Inheritance 09:42 WTF is Method Resolution Order(MRO) 09:04 MRO Genetics 1 question SOLUTION 00:09 Polymorphism Introduction 06:41 Special __magic__ methods 14:19 Making a Grumpy Dictionary - Overriding Dict 08:39 Special Methods Train 1 question SOLUTION 00:05 OOP Part 2 6 questions + Iterators & Generators 14 lectures 53:49 Section Introduction and Objectives 01:25 Iterators vs. Iterables?!?!? 05:34 Writing Our Own Version of for loops 06:54 Writing a Custom Iterator 07:43 Iterators Quiz 3 questions Making our Deck class Iterable 02:21 Introduction to Generators 08:55 Week Generator Exercise 1 question SOLUTION 00:12 yes_or_no 1 question SOLUTION 00:09 Writing a Beat Making Generator 06:54 Generators Quiz 3 questions make_song 1 question SOLUTION 00:09 Testing Memory Usage With Generators 05:59 get_multiples 1 question SOLUTION 00:04 get_unlimited_multiples 1 question SOLUTION 00:09 Generator Expressions AND Speed Testing! 07:19 + Decorators 14 lectures 48:41 Higher Order Functions 09:29 Introduction to Decorators 06:20 Decorators With Different Signatures 04:27 Using Wraps To Preserve Metadata 04:44 Decorators Quiz 4 questions Building A Speed-Test Decorator 07:32 show_args 1 question SOLUTION 00:16 Another Example: Ensuring Args With A Decorator 03:26 double_return 1 question SOLUTION 00:14 ensure_fewer_than_three_args 1 question SOLUTION 00:07 only_ints 1 question SOLUTION 00:08 ensure_authorized 1 question SOLUTION 00:06 Writing an ensure_first_arg_is Decorator 05:43 Enforcing Argument Types With A Decorator 05:59 delay 1 question SOLUTION 00:08 + Testing With Python 11 lectures 01:17:43 Section Introduction 04:17 Why Test? 08:28 Assertions 08:56 Assertions Quiz 4 questions Doctests 11:30 Doctests Exercise 00:10 Introduction to Unittest 13:07 Other Types of Assertions 09:21 Before and after hooks 08:15 Testing Card/Deck Exercise 00:29 Testing Card/Deck Exercise Intro 03:08 Testing Card/Deck Solution 10:02 + File IO 10 lectures 31:49 Section Introduction 02:33 Reading Text Files: Open and Read 06:03 Reading Files: Seek and Cursors 07:39 The With Statement 03:43 Writing to Text Files 03:55 File Modes 07:21 Text Reading Quiz 3 questions copy 1 question SOLUTION 00:12 copy_and_reverse 1 question SOLUTION 00:11 statistics 1 question SOLUTION 00:06 find_and_replace 1 question SOLUTION 00:05 + Working With CSV and Pickling! 10 lectures 49:47 Reading CSV Files 13:08 Writing to CSV Files: Writer 09:07 Writing to CSV Files: DictWriter 11:55 CSV Quiz 5 questions add_user 1 question SOLUTION 00:04 print_users 1 question SOLUTION 00:05 find_user 1 question SOLUTION 00:09 Pickling Time! 07:14 Extra Fancy JSON Pickling 07:41 update_users 1 question SOLUTION 00:11 delete_users 1 question SOLUTION 00:11 + Web Scraping with BeautifulSoup 8 lectures 01:21:01 Introduction to Web Scraping 06:50 Is Scraping…OK? 07:50 Optional HTML/CSS Crash Course 15:35 Selecting with BeautifulSoup: find() 09:46 Selecting With BeautifulSoup: CSS Style Selectors 04:04 Accessing Data with Beautiful Soup 06:45 Navigating With BeautifulSoup 13:14 Our First Scraping Program 16:57 + Web Scraping Project 7 lectures 01:18:00 Quote Scraping Project: Intro 09:22 Scraping Project 01:11 Quote Scraping Project: Part 1 14:52 Quote Scraping Project: The Game Logic 16:02 Quote Scraping Project: Refactoring 09:39 Quote Scraping Project: Adding CSV 09:58 Creating A Web Crawler with Scrapy 16:56 + Regular Expressions 17 lectures 01:53:09 Intro To Regular Expressions 13:28 Writing Basic Regex 10:09 Regex Quiz 3 questions Regex Basics: Quantifiers 08:07 Quick Quantifiers Quiz 3 questions Regex Basics: Character Classes and Sets 04:22 Character Class Quiz 3 questions Regex Basics: Anchors and Boundaries 03:42 Quick Anchors and Boundaries Quiz 2 questions Regex Basics: Logical Or and Capture Groups 10:28 Final Regex Quiz 2 questions Introduction to the RE Module 10:29 Validating Phone Numbers With Python 10:17 Time Validating 1 question SOLUTION 00:17 Parsing URLs with Python 09:31 Parsing Bytes Exercise 1 question SOLUTION 00:16 Symbolic Group Names 04:21 Date Parsing Exercise 1 question SOLUTION 00:20 Regex Compilation Flags 08:45 Regex Substitution Basics 09:18 Regex Profanity Filter 1 question SOLUTION 00:17 Swapping File Names 09:02 + Python + SQL 12 lectures 01:27:29 Intro to Section 03:39 Installing SQLite3 03:18 SQL Basic:s: Creating Tables 07:01 SQL Basics: Inserting 05:01 SQL Basics: Selecting 06:59 Connecting to a DB With Python 07:19 Inserting With Python 08:44 Bulk Inserts With Python 04:55 Selecting With Python 04:36 SQL INJECTION! 08:58 Scraping to a Database Pt. 1 20:01 Scraping to a Database Pt. 2 06:58 + Massive Section of Challenges! 7 lectures 03:19 reverse_string 1 question list_check 1 question remove_every_other 1 question sum_pairs 1 question vowel_count 1 question SOLUTIONS Part 1 00:17 Titleize 1 question find_factors 1 question includes 1 question repeat 1 question truncate 1 question SOLUTIONS Part 2 00:22 two_list_dictionary 1 question range_in_list 1 question same_frequency 1 question nth 1 question find_the_duplicate 1 question SOLUTIONS Part 3 00:23 sum_up_diagonals 1 question min_max_key_in_dictionary 1 question find_greater_numbers 1 question two_oldest 1 question is_odd_string 1 question SOLUTIONS Part 4 00:15 valid_parentheses 1 question reverse_vowels 1 question three_odd_numbers 1 question mode 1 question SOLUTION: mode 01:05 running_average 1 question SOLUTIONS Part 5 00:40 letter_counter 1 question once 1 question Next Prime Generator 1 question SOLUTIONS Part 6 00:14 Requirements A computer! We've got you covered whether you have a Mac or a PC. Prepare to write thousands of lines of python exercises! No previous experience with Python or coding is required. Description Updated in November 2018 to include SQL + Python!

Welcome to the Modern Python 3 Bootcamp! I've launched my fair share of Udemy courses, but I've never done anything quite this crazy.

This course is a unique experience on Udemy. There are dozens of existing Python courses you can choose from, but this course is the only one that has nearly 200 interactive challenges you can complete right here in your browser. I didn't just tack on a couple of exercises at the end; this course is fully built around the coding exercises. This course is all about getting you writing code ASAP, rather than sitting back watching a bunch of videos.

In development, I referred to this course as a hybrid between a typical Udemy course and an interactive Codecademy-style course. You get over 25 hours of in-depth videos and my dumb jokes along with meticulously created exercises and quizzes to test your knowledge as you go.

Many of the older Python courses still focus on Python 2. This course is all about writing the most modern, up-to-date Python code, so Python 3 was the obvious choice. The course covers all the latest additions and changes to the Python language. The course also places a large emphasis on thinking like a Python developer, and writing code the “Pythonic” way.

As for the curriculum, This course teaches all the key topics covered by other Python courses, but also covers more advanced topics like web scraping, crawling, and testing, just to name a few. Please feel free to explore the curriculum and watch some of the free preview videos!

Python is consistently ranked in either first or second place as the most in-demand programming languages across the job market. It has applications in data science, machine learning, web development, self-driving cars, automation, and many many other disciplines. There has never been a better time to learn it!

I'm spent years teaching people to program at in-person bootcamps in the San Francisco Bay Area. In recent years, I've started bringing my methods from the classroom to the online world. In my first year teaching online, I was selected as the Best Newcomer Instructor in the Udemy Instructor Awards 2015. I'm passionate about making the best possible online learning experiences that mirror my in-person courses.

If you want to take ONE COURSE to master Python take this course.

Who this course is for: Anyone who wants to learn Python. Anyone who is curious about data science, machine learning, or web development Anyone who wants to get tons of practice with the interactive exercises.

Ian Khoo Ian Khoo ( 5 courses, 3 reviews ) a year ago Awesome course !! Really really loved it !! Colt teaches with passion and patience, course structure is easy to learn and interesting. I used to have no prior knowledge of coding, but this Python course has really sparked my interest in Computer Science and Data Learning, allowing me to explore different possibilities and career choices. Thanks Colt ! :))