Python Developer

Python's popularity has steadily increased over the years due to its simplicity, readability, and extensive libraries. According to the TIOBE Index, Python consistently ranks among the top programming languages, making it a valuable skill in today's job market.

Its clean syntax and intuitive nature make it an excellent choice for beginners, while its powerful features and vast ecosystem of libraries cater to the needs of experienced developers. Our Python course is perfect for both beginners and...

6 Months / 155 Course Hrs
Open Enrollment
Offered in partnership with your preferred school

George Mason University

Change School
Learning method

for additional information

Course code: GES340

What you will learn

  • Understand Python's significance and versatility among programming languages and its unique strengths.
  • Learn advanced sorting techniques for efficient data organization
  • Understand how to write modular and reusable code with object-oriented programming in Python
  • Discover how to ensure the reliability of your Python code through testing and debugging
  • Harness the power of regular expressions for advanced pattern matching
  • Master mathematical operations and data manipulation using Python.
  • Work seamlessly with databases, CSV files, JSON, and XML using Python.
  • Perform complex numerical computations with NumPy in Python.
  • Analyze and manipulate data effortlessly using the pandas library in Python

How you will benefit

  • Prepare for an entry-level job as a Python programmer
  • Elevate your programming abilities and expand your existing skill set by mastering new Python fundamentals
  • Boost your confidence and resume with your new Python skills
  • Stand out for a promotion or to future employers

How the course is taught

  • Self-paced, online course
  • 6 Months to complete
  • Open enrollment, begin anytime
  • 155 course hours
  1. Introduction to Python
    1. Python Basics
      1. Getting Familiar with the Terminal
      2. Running Python
      3. Running a Python File
      4. Exercise: Hello, world!
      5. Literals
      6. Exercise: Exploring Types
      7. Variables
      8. Exercise: A Simple Python Script
      9. Constants and Deleting Variables
      10. Writing a Python Module
      11. print() Function
      12. Collecting User Input
      13. Exercise: Hello, You!
      14. Reading from and Writing to Files
      15. Exercise: Working with Files
    2. Functions and Modules
      1. Defining Functions
      2. Variable Scope
      3. Global Variables
      4. Function Parameters
      5. Exercise: A Function with Parameters
      6. Returning Values
      7. Exercise: Parameters with Default Values
      8. Returning Values
      9. Importing Modules
      10. Methods vs. Functions
    3. Math
      1. Arithmetic Operators
      2. Exercise: Floor and Modulus
      3. Assignment Operators
      4. Precedence of Operations
      5. Built-in Math Functions
      6. The math Module
      7. The random Module
      8. Exercise: How Many Pizzas Do We Need?
      9. Exercise: Dice Rolling
    4. Python Strings
      1. Quotation Marks and Special Characters
      2. String Indexing
      3. Exercise: Indexing Strings
      4. Slicing Strings
      5. Exercise: Slicing Strings
      6. Concatenation and Repetition
      7. Exercise: Repetition
      8. Combining Concatenation and Repetition
      9. Python Strings are Immutable
      10. Common String Methods
      11. String Formatting
      12. Exercise: Playing with Formatting
      13. Formatted String Literals (f-strings) (introduced in Python 3.6)
      14. Built-in String Functions
      15. Exercise: Outputting Tab-delimited Text
    5. Iterables: Sequences, Dictionaries, and Sets
      1. Definitions
      2. Sequences
      3. Lists
      4. Sequences and Random
      5. Exercise: Remove and Return Random Element
      6. Tuples
      7. Ranges
      8. Converting Sequences to Lists
      9. Indexing
      10. Exercise: Simple Rock, Paper, Scissors Game
      11. Slicing
      12. Exercise: Slicing Sequences
      13. min(), max(), and sum()
      14. Converting between Sequences and Strings
      15. Unpacking Sequences
      16. Dictionaries
      17. The len() Function
      18. Exercise: Creating a Dictionary from User Input
      19. Sets
      20. *args and **kwargs
    6. Virtual Environments, Packages, and pip
      1. Exercise: Creating, Activiting, Deactivating, and Deleting a Virtual Environment
      2. Packages with pip
      3. Exercise: Working with a Virtual Environment
    7. Flow Control
      1. Conditional Statements
      2. Compound Conditions
      3. The is and is not Operators
      4. all() and any() and the Ternary Operator
      5. In Between
      6. Loops in Python
      7. Exercise: All True and Any True
      8. break and continue
      9. Looping through Lines in a File
      10. Exercise: Word Guessing Game
      11. The else Clause in Loops
      12. Exercise: for...else
      13. The enumerate() Function
      14. Generators
      15. List Comprehensions
    8. Exception Handling
      1. Exception Basics
      2. Generic Exceptions
      3. Exercise: Raising Exceptions
      4. The else and finally Clauses
      5. Using Exceptions for Flow Control
      6. Exercise: Running Sum
      7. Raising Your Own Exceptions
    9. Python Dates and Times
      1. Understanding Time
      2. The time Module
      3. Time Structures
      4. Times as Strings
      5. Time and Formatted Strings
      6. Pausing Execution with time.sleep()
      7. The datetime Module
      8. datetime.datetime Objects
      9. Exercise: What Color Pants Should I Wear?
      10. datetime.timedelta Objects
      11. Exercise: Report on Departure Times
    10. File Processing
      1. Opening Files
      2. Exercise: Finding Text in a File
      3. Writing to Files
      4. Exercise: Writing to Files
      5. Exercise: List Creator
      6. The os Module
      7. os.walk()
      8. The os.path Module
      9. A Better Way to Open Files
      10. Exercise: Comparing Lists
    11. PEP8 and Pylint
      1. PEP8
      2. Pylint
  2. Advanced Python
    1. Advanced Python Concepts
      1. Lambda Functions
      2. Advanced List Comprehensions
      3. Exercise: Rolling Five Dice
      4. Collections Module
      5. Exercise: Creating a defaultdict
      6. Counters
      7. Exercise: Creating a Counter
      8. Mapping and Filtering
      9. Mutable and Immutable Built-in Objects
      10. Sorting
      11. Exercise: Converting list.sort() to sorted(iterable)
      12. Sorting Sequences of Sequences
      13. Creating a Dictionary from Two Sequences
      14. Unpacking Sequences in Function Calls
      15. Exercise: Converting a String to a Object
      16. Modules and Packages
    2. Regular Expressions
      1. Regular Expression Tester
      2. Regular Expression Syntax
      3. Python's Handling of Regular Expressions
      4. Exercise: Green Glass Door
    3. Working with Data
      1. Virtual Environment
      2. Relational Databases
      3. Passing Parameters
      4. SQLite
      5. Exercise: Querying a SQLite Database
      6. SQLite Database in Memory
      7. Exercise: Inserting File Data into a Database
      8. Drivers for Other Databases
      9. CSV
      10. Exercise: Finding Data in a CSV File
      11. Creating a New CSV File
      12. Exercise: Creating a CSV with DictWriter
      13. Getting Data from the Web
      14. Exercise: HTML Scraping
      15. XML
      16. JSON
      17. Exercise: JSON Home Runs
    4. Testing and Debugging
      1. Testing for Performance
      2. Exercise: Comparing Times to Execute
      3. The unittest Module
      4. Exercise: Fixing Functions
      5. Special unittest.TestCase Methods
    5. Classes and Objects
      1. Attributes
      2. Behaviors
      3. Classes vs. Objects
      4. Attributes and Methods
      5. Exercise: Adding a roll() Method to Die
      6. Private Attributes
      7. Properties
      8. Exercise: Properties
      9. Objects that Track their Own History
      10. Documenting Classes
      11. Exercise: Documenting the Die Class
      12. Inheritance
      13. Exercise: Extending the Die Class
      14. Extending a Class Method
      15. Exercise: Extending the roll() Method
      16. Static Methods
      17. Class Attributes and Methods
      18. Abstract Classes and Methods
      19. Understanding Decorators
  3. Python Data Analysis with JupyterLab
    1. JupyterLab
      1. Exercise: Creating a Virtual Environment
      2. Exercise: Getting Started with JupyterLab
      3. Jupyter Notebook Modes
      4. Exercise: More Experimenting with Jupyter Notebooks
      5. Markdown
      6. Exercise: Playing with Markdown
      7. Magic Commands
      8. Exercise: Playing with Magic Commands
      9. Getting Help
    2. NumPy
      1. Exercise: Demonstrating Efficiency of NumPy
      2. NumPy Arrays
      3. Exercise: Multiplying Array Elements
      4. Multi-dimensional Arrays
      5. Exercise: Retrieving Data from an Array
      6. More on Arrays
      7. Using Boolean Arrays to Get New Arrays
      8. Random Number Generation
      9. Exploring NumPy Further
    3. pandas
      1. Getting Started with pandas
      2. Introduction to Series
      3. np.nan
      4. Accessing Elements in a Series
      5. Exercise: Retrieving Data from a Series
      6. Series Alignment
      7. Exercise: Using Boolean Series to Get New Series
      8. Comparing One Series with Another
      9. Element-wise Operations and the apply() Method
      10. Series: A More Practical Example
      11. Introduction to DataFrames
      12. Creating a DataFrame using Existing Series as Rows
      13. Creating a DataFrame using Existing Series as Columns
      14. Creating a DataFrame from a CSV
      15. Exploring a DataFrame
      16. Exercise: Practice Exploring a DataFrame
      17. Changing Values
      18. Getting Rows
      19. Combining Row and Column Selection
      20. Boolean Selection
      21. Pivoting DataFrames
      22. Be careful using properties!
      23. Exercise: Series and DataFrames
      24. Plotting with matplotlib
      25. Exercise: Plotting a DataFrame
      26. Other Kinds of Plots

Nat Dunn

Nat Dunn founded Webucator in 2003 to combine his passion for technical training with his business expertise and to help companies benefit from both. His previous experience was in sales, business and technical training, and management. Nat has an MBA from Harvard Business School and a BA in International Relations from Pomona College.


There are no prerequisites for this course, however prior knowledge of any programming language is helpful.


Hardware Requirements:

  • This course can be taken on a PC or a Mac.
  • Dual monitors are helpful but not required.

Software Requirements:

  • PC: Windows 10 or later.
  • Mac: macOS 11.0 or later.
  • Browser: The latest version of Google Chrome or Mozilla Firefox are preferred. Microsoft Edge and Safari are also compatible.
  • Python (download and installation instructions are provided in course).
  • Adobe Acrobat Reader.


  • Email capabilities and access to a personal email account.

Instructional Material Requirements:

The instructional materials required for this course are included in enrollment and will be available online.

According to Indeed, the average Python developer salary is $122,009 annually in the U.S. as of October 13, 2023.

According to Indeed, a Python developer is responsible for utilizing the Python language to develop, debug, and implement application projects. They possess a deep understanding of Python and can accomplish various tasks using this versatile language. Python developers are also proficient in academic research, scientific computing, machine learning, AI, and web development. Their duties can include:

  • Developing and implementing application projects
  • Debugging code
  • Connecting programs to external web services

Additionally, they collaborate with front-end developers to seamlessly integrate their work into Python applications. By fulfilling these responsibilities, Python developers contribute to creating robust and efficient applications while enhancing their skills in server-side web application logic.

This course does not prepare you for a certification, but it will equip you with the skills needed to enter the job market as an entry-level Python programmer or to enhance your programming skills.

This course is open enrollment, so you can register and start the course as soon as you are ready. Access to your course can take 24-48 business hours.

This course is self-paced and open enrollment, so you can start when you want and finish at your own pace. When you register, you'll receive six (6) months to complete the course.

The time allotted for course completion has been calculated based on the number of course hours. However, if you are unable to complete the course, contact the student advising team to see what options you may have available to work out a suitable completion date. Please note that an extension fee may be charged.

Our courses are designed to accommodate various learning preferences. Depending on the course structure, you may get different forms of support. Self-paced courses are designed to be user-friendly and independent, minimizing the need for external support. In courses with instructors, our direct platform support feature includes opportunities for questions, discussions, and remediation, with email and phone support available for select courses. Our student advising team is available to guide you on program requirements and administrative requests, but they do not provide assistance with course content. Our goal is to provide you with the necessary support for success, whether it's through self-paced exploration, direct communication, or guidance from our advising team.

Upon successful completion of the course, you will be awarded a Certificate of Completion.

This course will provide you with the skills you need to obtain an entry-level position in most cases. Potential students should always do research on the job market in their area before registering.

This course is non-credit, so it does not qualify for federal aid, FAFSA and Pell Grant. In some states, vocational rehab or workforce development boards will pay for qualified students to take our courses. Additionally, some students may qualify for financial assistance when they enroll, if they meet certain requirements. Financing is available from select schools. Learn more about financial assistance.

If you have questions that are not answered on our website, representatives are available via LIVE chat. You can also call us at 1-877-221-5151 during regular business hours to have your questions promptly answered. If you are visiting us during non-business hours, please send us a question using the "Contact Us" form.