Course Description

Blue gradient rectangle with assorted sizes of white gears scattered around the word python in white and the python symbol of interlocked shapes of blue and gold in the center


Python® continues to be a popular programming language, perhaps owing to its ability to get a lot of work done in few lines of code, and its versatility. Python is useful for developing custom software tools, applications, web services, and cloud applications. In this course, you'll build upon your basic Python skills, learning more advanced topics such as object-oriented programming patterns, development of graphical user interfaces, data management, threading, unit testing, and creating and installing packages and executable applications.

Course Outline

  • Lesson 1: Using Object-Oriented Python
    •  Topic A: Create and Use Classes in an Application
    •  Topic B: Use Magic Methods
    •  Topic C: Incorporate Class Factories
  • Lesson 2: Creating a GUI
    •  Topic A: Design a GUI
    •  Topic B: Create and Arrange a GUI Layout
    •  Topic C: Interact with User Events
  • Lesson 3: Using Databases
    •  Topic A: Basics of Data Management
    •  Topic B: Use SQLite Databases
    •  Topic C: Manipulate SQL Data
  • Lesson 4: Network Programming
    •  Topic A: Basics of Network Programming
    •  Topic B: Create a Client/Server Program
  • Lesson 5: Managing Multiple Processes with Threading
    •  Topic A: Create a Threaded Application
    •  Topic B: Manage Thread Resources
  • Lesson 6: Implementing Unit Testing
    •  Topic A: Test-Driven Development
    •  Topic B: Write and Run a Unit Test Case
    •  Topic C: Create a Test Suite
  • Lesson 7: Packaging an Application for Distribution
    •  Topic A: Create a Package Structure
    •  Topic B: Generate the Package Distribution Files
    •  Topic C: Generate a Windows Executable

Learner Outcomes

At the end of this program, you will be able to:

  • Create object-oriented Python applications
  • Design and create a GUI
  • Store data in a database from Python applications
  • Communicate using client/server network protocols
  • Manage multiple processes with threading
  • Implement unit testing
  • Package an application for distribution


Learn about more data analytics topics here


This course is designed for existing Python programmers who have at least one year of Python experience and who want to expand their Python proficiencies. To ensure your success in this course, you should have experience with object-oriented programming and Python 2.x or 3.x. You can obtain this level of skill and knowledge by taking Python Programming: Introduction.  

Applies Towards the Following Certificates

Thank you for your interest in this course. Unfortunately, the course you have selected is currently not open for enrollment. Please complete a Course Inquiry so that we may promptly notify you when enrollment opens.
Required fields are indicated by .