Effective PyCharm: Editor, Databases, Web, and More Course

Course Summary

PyCharm is the premier Python IDE (integrated development environment). You will be hard pressed to find an editor that gives a more holistic way to build Python applications. While powerful, IDEs can be daunting to learn with all their features. That's why this course shows you how they all work.

What students are saying

Michael Kennedy, nice work on the Effective PyCharm course. Just started it and its already addressed two issues I was having... Much appreciated.
-- dvlupr

Source code and course GitHub repository

github.com/talkpython/mastering-pycharm-course

What's this course about and how is it different?

This course will teach you to be extremely proficient with PyCharm.

We dive deep into every aspect of the IDE. From project management and using the editor to advanced database management features and the refactoring tools, you will see PyCharm in action and try them out for yourself.

In this course, you will:

  • Learn to manage Python projects in PyCharm (large and small)
  • Create web applications (Pyramid, Flask, Django, and more)
  • Use PyCharm's special data science mode
  • Refactor your Python code with confidence
  • Learn about code smells and duplicate code tooling
  • Access git, github, and use git flow
  • Use the visual debugger to understand code flow and state
  • Make your code more reliable with unit testing and pytest
  • Create new Python packages
  • And lots more

  • View the full course outline.

Who is this course for?

For anyone who has never used PyCharm: You will see what a true Python IDE has to offer in a concrete and demo-focused tour de force.

Existing PyCharm users: Your IDE has a wealth of features that you might not even know exist. You will see and explore most of them in this course!

Get the book and course together

This course has an accompanying book. You can buy the course and the book together and get a discount on both.

Concepts backed by concise visuals

While exploring a topic interactively with demos and live code is very engaging, it can lose the forest for the trees. That's why when we hit a new topic, we stop and discuss it with concise and clear visuals.

Here's an example of concepts reviewing the database tools within PyCharm.

Example: Concepts backed by concise visuals

Follow along with subtitles and transcripts

Each course comes with subtitles and full transcripts. The transcripts are available as a separate searchable page for each lecture. They also are available in course-wide search results to help you find just the right lecture.

Each course has subtitles available in the video player.

Get hands-on for almost every chapter

Learning IDEs can be hard. There are just so many features. Unless you build that muscle memory with practice, most of them will be forgotten. Effective PyCharm has hands-on exercises for almost every chapter of the course.

These exercises range in length from 10 minutes to about 30 minutes each.

Here is the your turn for the Refactoring chapter

Hands on exercises

Who am I? Why should you take my course?

Who is Michael Kennedy?

My name is Michael, nice to meet you. ;) There are a couple of reasons I'm especially qualified to teach you Python.

 1. I'm the host of the #1 podcast on Python called Talk Python To Me. Over there, I've interviewed many of the leaders and creators in the Python community. I bring that perspective to all the courses I create.

 2. I've been a professional software trainer for over 10 years. I have taught literally thousands of professional developers in hundreds of courses throughout the world.

 3. Students have loved my courses. Here are just a few quotes from past students of mine.

"Michael is super knowledgeable, loves his craft, and he conveys it all well. I would highly recommend his training class anytime." - Robert F.
"Michael is simply an outstanding instructor." - Kevin R.
"Michael was an encyclopedia for the deep inner workings of Python. Very impressive." - Neal L.

Free office hours keep you from getting stuck

One of the challenges of self-paced online learning is getting stuck. It can be hard to get the help you need to get unstuck.

That's why at Talk Python Training, we offer live, online office hours. You drop in and join a group of fellow students to chat about your course progress and see solutions via screen sharing.

Just visit your account page to see the upcoming office hour schedule.

PyCharm Professional vs. Community Editions

Obviously PyCharm Professional is the most powerful edition of PyCharm. But many people are using the free and open source edition of PyCharm called the Community edition.

A common question is how much of this course covers features exclusive to the paid version of PyCharm. Here's a table that roughly lays that out for you.

Chapter PyCharm Pro PyCharm Community
Why PyCharm and IDEs?
PyCharm Projects
The Editor
Source control
Refactoring
Databases
Server-side Python web apps
Client-side web apps
Debugging Python applications
Packages
Performance and profiling
Unit testing
Data science tools
Tool windows
Extending PyCharm with plugins
Conclusion

See JetBrain's full comparison matrix for more details.

This course is delivered in very high resolution

Example of 1440p high res video

This course is delivered in 1440p (4x the pixels as 720p). When you're watching the videos for this course, it will feel like you're sitting next to the instructor looking at their screen.

Every little detail, menu item, and icon is clear and crisp. Watch the introductory video at the top of this page to see an example.

Is this course based on Python 3 or Python 2?

This course is based upon Python 3. Python 2 is officially unsupported as of January 1st, 2020 and we believe that it would be ill-advised to teach or learn Python 2. This course is, and has always been, built around Python 3.

The time to act is now

Effective PyCharm and gain all its superpowers to build your next Python project.

Course Outline: Chapters and Lectures

Why PyCharm and IDEs?
30:00
Welcome
0:49
What we'll cover
7:49
The spectrum of editors
3:35
IDEs are crazy fast
3:29
PyCharm is more than just Python
2:20
Cross-platform
0:58
Versions: Pro and Community and mapping versions to the course
2:59
PyCharm is open source
0:45
Python runtimes
0:56
How do you learn all the features of an IDE?
3:59
This is not an infomercial
0:37
Get the source code on GitHub
0:39
Meet your instructor
0:35
PyCharm Pro for Free
0:30
PyCharm Projects
36:12
Project introduction
2:13
Using the EAP version
0:54
Creating projects
8:08
Working with existing projects
8:34
Concept: Creating projects
1:20
Concept: Mark directory as...
1:47
Installing third-party packages
3:58
Search everywhere
4:16
Navigation
2:20
Run configurations
1:22
Your turn
1:20
The Editor
1:01:13
Editor introduction
1:28
Working with the editor demo: Downloading RSS
17:52
Working with the editor demo: Listing episodes
4:48
Working with the editor demo: Types
3:34
Syntax highlighting
3:04
Autocomplete
2:35
Code intentions - light bulb moments
2:34
Discovering new features
2:17
Concept: Actions and key bindings
2:07
Formatting and code cleanup
2:04
Code formatting for teams
2:41
Lens mode
1:05
Object-oriented features
2:47
Show tooltips, params, help, etc.
3:20
Finding usages of functions and other symbols
0:57
Introduction to Code With Me
1:44
Code With Me in action
5:39
Your turn
0:37
Source control
34:35
Source control introduction
1:34
Loading a project with source control
5:03
Concept: Accessing source control
2:59
Editor level source control
4:20
Committing changes
3:06
Concept: Editor level source control
2:37
Branching
5:05
Merging back with a pull request
2:04
Pull requests in PyCharm
3:42
Local history
2:50
Your turn
1:15
Refactoring
38:47
Refactoring introduction
2:12
What is refactoring really?
4:55
Refactoring methods and functions
4:44
Refactoring class methods
3:29
Rename refactorings
4:27
Introducing variables
4:22
Moving code
3:33
Sourcery plugin
4:16
Concept: Refactorings
4:41
Your turn
2:08
Databases
26:46
Database introduction
1:21
Why is relational data hard
1:31
Data application introduction
3:33
Adding database connections
3:55
Database diagrams
3:15
Querying data in the SQL console
6:39
Modifying the DB schema
2:31
Concept: Database features
3:12
Your turn
0:49
Server-side Python web apps
34:32
Server-side web introduction
1:59
The web IDE pyramid
1:12
Server-side features
3:03
Creating server-side projects
7:14
Template tooling
6:04
Template tooling - rendering tweets
6:28
Selecting the template language
2:37
Concept: PyCharm server-side features
5:55
Client-side web apps
34:00
Client side introduction
1:16
Basic HTML and PyCharm's live reload
4:02
JavaScript features and editor
4:42
TypeScript support
5:48
Front-end javascript frameworks
7:20
LESS > CSS
7:38
Concept: Client-side web apps
3:14
Debugging Python applications
25:42
Debugging introduction
1:19
The debugging UI
5:11
A debugging example
8:01
Conditional breakpoints
4:43
Concept: Debugging
6:01
Your turn
0:27
Packages
18:42
Packaging introduction
1:38
Opening existing packages
6:54
Creating new packages
6:24
Concept: Packaging
3:09
Your turn
0:37
Performance and profiling
29:45
Performance and profiling
1:05
Our intuition often fails us for performance
1:08
Surveying the slow application
4:03
Profiling the slow app
5:58
Optimizing the machine learning code
7:11
Optimizing the database access code
5:26
Concept: Profiling
4:08
Your turn
0:46
Unit testing
31:51
Testing introduction
1:24
Why software testing?
1:31
Surveying the application we'll test
1:34
Running pytest tests
5:29
Debugging tests
1:19
Writing the core tests
4:52
Testing failure conditions
5:30
Measuring test quality with code coverage
3:23
Concept: Testing
3:52
Concept: Coverage
2:33
Your turn
0:24
Tool windows
19:49
Tool window introduction
0:40
The TODO window
4:49
The run window
2:22
A much better Python REPL
4:19
A preconfigured terminal
1:49
Favorites window
2:13
File structure
3:10
Your turn
0:27
Extending PyCharm with plugins
7:47
Plugins introduction
0:54
The builtin plugins
2:52
A 1,000 additional plugins
4:01
Conclusion
7:54
You've done it!
4:02
How to remember all these features
1:47
Don't forget the source code
1:03
Get the back story
0:35
Thank you and goodbye!
0:27
Buy for $59 + tax Bundle and save 85% Team Gift

Questions? Send us an email: contact@talkpython.fm

Talk Python's Mastodon Michael Kennedy's Mastodon