Automate the Boring Stuff with Python Programming
4.6 (5,132 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
48,711 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Automate the Boring Stuff with Python Programming to your Wishlist.

Add to Wishlist

Automate the Boring Stuff with Python Programming

A practical programming course for office workers, academics, and administrators who want to improve their productivity.
4.6 (5,132 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
48,711 students enrolled
Created by Al Sweigart
Last updated 9/2015
Learn Fest Sale
Current price: $10 Original price: $50 Discount: 80% off
9 hours left at this price!
30-Day Money-Back Guarantee
  • 9.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Automate tasks on their computer by writing simple Python programs.
  • Write programs that can do text pattern recognition with "regular expressions".
  • Programmatically generate and update Excel spreadsheets.
  • Parse PDFs and Word documents.
  • Crawl web sites and pull information from online sources.
  • Write programs that send out email notifications.
  • Use Python's debugging tools to quickly figure out bugs in your code.
  • Programmatically control the mouse and keyboard to click and type for you.
View Curriculum
  • No programming experience is required.
  • Downloading and installing Python is covered at the start of the course.
  • Basic computer skills: surfing websites, running programs, saving and opening documents, etc.

If you're an office worker, student, administrator, or just want to become more productive with your computer, programming will allow you write code that can automate tedious tasks. This course follows the popular (and free!) book, Automate the Boring Stuff with Python.

Automate the Boring Stuff with Python was written for people who want to get up to speed writing small programs that do practical tasks as soon as possible. You don't need to know sorting algorithms or object-oriented programming, so this course skips all the computer science and concentrates on writing code that gets stuff done.

This course is for complete beginners and covers the popular Python programming language. You'll learn basic concepts as well as:

  • Web scraping
  • Parsing PDFs and Excel spreadsheets
  • Automating the keyboard and mouse
  • Sending emails and texts
  • And several other practical topics

By the end of this course, you'll be able to write code that not only dramatically increases your productivity, but also be able to list this fun and creative skill on your resume.

Who is the target audience?
  • Office workers, students, small/home business workers, and administrators would want to improve their productivity.
  • Aspiring software engineers who want to add skills to their programming toolbelt.
  • Computer users who have heard the "learn to code" message, but want practical reasons to learn programming.
  • Experienced Python software engineers can skip the first half of the course, but may find the later parts that cover various third-party modules helpful.
  • While this course doesn't cover specific devops tools, this course would be useful for QA, devops, and admins who want to learn scripting in Python.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 51 Lectures Collapse All 51 Lectures 09:30:59
Python Basics
3 Lectures 26:32

This lecture explains what programming is good for, even if you don't intend to become a software engineer. At the end of this lecture, you'll be able to download and install Python and be ready to learn to code.

Preview 05:39

This quiz is here just to ensure you know about the website where you can find the Automate the Boring Stuff with Python book for free:

You don't need to purchase the book, and you can read it online if you want more information on the topics in this course.

Just a check in.
2 questions

The student will learn how to put values and operators together to form expressions, the most basic instruction type in Python.

Basic Terminology and Using IDLE

Now that you've done some basic instructions in the interactive shell, let's use the file editor to write a complete program.

Preview 10:02
Flow Control
4 Lectures 35:09

You've made Python execute instructions, now learn how to make Python choose which instructions to execute.

Preview 07:36

The if/else statements are the basic instruction for letting your Python programs make decisions.

If, Else, and Elif Statements

Loops allow your program to execute the same code over and over again.

While Loops

The while loop will execute the same code over and over as long as some condition is true, but for loops allow you to execute a set number of iterations of a loop.

For Loops
3 Lectures 30:33

You don't have to write every bit of code yourself. Python comes with several functions that your program can call to leverage the code that others have written.

Python's Built-In Functions

You aren't limited to the functions that come with Python. You can define your own functions using the def statement. Grouping code into functions helps make your programs shorter and easier to debug.

Preview 12:20

Functions also introduce the concept of scopes. Learn the difference between global scope and local scopes for variables.

Global and Local Scopes
Handling Errors with try/except
1 Lecture 07:27

Instead of crashing, you can have your programs gracefully handle errors as they come up.

Try and Except Statements
Writing a Complete Program: Guess the Number
1 Lecture 12:09

You've learned several basic programming concepts. Let's apply them to make a simple "Guess the Number" game.

Preview 12:09
4 Lectures 49:29

Lists are values that themselves can contain multiple values. Learn how lists can expand your programs' capabilities.

The List Data Type

There are several instructions that can be used with lists. This lecture introduces multiple assignment and revisits for loops.

For Loops with Lists, Multiple Assignment, and Augmented Operators

You don't have to write basic operations from scratch. Instead, learn about the methods that the list data type already comes with.

List Methods

Most of the things you've learned about lists also apply to strings. Two for one!

Similarities Between Lists and Strings
2 Lectures 30:03

Dictionaries also can contain multiple values. By using key-value pairs, you can begin to organize large amounts of data.

The Dictionary Data Type

Dictionaries and lists can contain multiple values, including other dictionaries and lists. Combining them together you can organize your data into data structures.

Data Structures
More About Strings
3 Lectures 30:30

There's much more to strings than concatenating and printing them. This lecture covers the other ways that strings can be represented in your Python code and why you would use these alternate forms.

Advanced String Syntax

There are lots of useful and common things you'll want to do with strings, but you don't have to write the code to do them yourself. Python comes with string methods for many basic operations.

String Methods

String concatenation can become a mess of characters that makes your code hard to read. String formatting offers a simpler way to put strings together.

String Formatting
Running Programs from the Command Line
1 Lecture 14:03

Once your programs are finished, you won't always want to launch IDLE every time you want to run them. This lecture covers how to create shortcuts for your programs on Windows. Mac and Linux are covered in the course notes.

Launching Python Programs from Outside IDLE
Regular Expressions
7 Lectures 01:41:02

Regular expressions offer a way to not only search for text, but to search for patterns of text. This is a large step in increasing the power of your programs.

Regular Expression Basics

In this lesson, you learn how the pipe regex character allows you to search for one of multiple patterns.

Regex Groups and the Pipe Character

In this lesson, you'll learn how to find repeating patterns and know the difference between regular expressions that do greedy-matching and nongreedy-matching.

Repetition in Regex Patterns and Greedy/Nongreedy Matching

While the familiar search() method returns the first match of the regex's pattern, the findall() method returns all matches of the pattern. This lesson also explores character classes: a handy shortcut for specifying alternatives in regex pattern.

Regex Character Classes and the findall() Method

The regex dot-star is a common "catch all" pattern that you can use in your regular expressions. This lesson also explores matching patterns at the start or end of a string.

Regex Dot-Star and the Caret/Dollar Characters

Regular expressions can not only find text patterns, but can also perform fin-and-replace for text patterns. The sub() method lets us make these text substitutions.

Regex sub() Method and Verbose Mode

At this point, we'll combine our knowledge of regular expressions to create a script that can pull phone numbers and email addresses out of a document.

Preview 19:31
6 More Sections
About the Instructor
Al Sweigart
4.6 Average rating
5,237 Reviews
53,010 Students
2 Courses
Software developer, tech book author

Al Sweigart is a software developer in San Francisco. He has written four Python programming books, spoken at Python conferences, and has taught both kids and adults how to program. Python is his favorite programming language, and he is the developer of several open source modules for it. He is driven to make programming knowledge available to all, and his books freely available under a Creative Commons license.