Skip to main content

Python Fundamentals

Course Overview

Inspired by Python.org and Real Python, the Python Fundamentals course is designed for developers and system administrators who want to get started with Python programming. It is focused on hands-on practice and will help you develop essential skills needed to work effectively with Python for automation, data analysis, web development, and more.

Once you master Python fundamentals, you can explore specialized domains such as: web development with Django/Flask, data science with pandas/numpy, machine learning with scikit-learn, automation with Ansible, cloud programming with AWS/Azure SDKs, and DevOps tooling.

What You'll Learn

By the end of this course, you will be able to:

  • Understand Python's philosophy, features and ecosystem
  • Set up Python development environment with Jupyter notebooks
  • Master Python's data model and type system
  • Work with fundamental data structures (lists, dictionaries, sets, tuples)
  • Implement control flow with loops and conditionals
  • Create and use functions effectively
  • Understand object-oriented programming basics in Python
  • Work with iterators, generators and comprehensions
  • Handle exceptions and debugging techniques
  • And much more!

Who Should Attend

  • Developers looking to learn Python as an additional language
  • System Administrators wanting to automate tasks with Python
  • Data Analysts needing Python skills for data processing
  • DevOps Engineers implementing automation and tooling
  • IT Professionals seeking to expand their programming skills
  • Students starting their programming journey

Course Format

  • Duration: 2 days (16 hours)
  • Format: Part lecture, part discussion, exercises and heavy hands-on practice with Jupyter notebooks
  • Materials: Digital course materials, interactive notebooks, and lab guides

Difficulty

Beginner to Intermediate

Course Prerequisites

To get the most out of this course, you should have:

  • Basic computer literacy
  • Familiarity with command line/terminal usage
  • Basic understanding of programming concepts (variables, functions, loops)
  • Experience with any text editor

Course Content

Day 1

Course Introduction

  • Course goals and learning objectives
  • Python ecosystem overview
  • Development environment setup
  • Jupyter notebook introduction

Python Overview and History

  • Python's history and philosophy
  • Guido van Rossum and the Python community
  • The Zen of Python
  • Python versions (2 vs 3)
  • Python implementations (CPython, PyPy, Jython)
  • Performance characteristics and the GIL

Lab: Setup Python development environment and Jupyter

Python Features and Usage

  • Dynamic vs static typing
  • Interpreted vs compiled languages
  • Python popularity and industry adoption
  • Common use cases and applications
  • PEP 8 style guide and code quality

Lab: First Python programs and style checking

Python Data Model

  • Everything is an object concept
  • Object identity, type, and value
  • Mutable vs immutable objects
  • Variable assignment and references
  • Memory management and garbage collection

Lab: Explore Python's data model with interactive examples

Core Data Types

  • Numbers (integers, floats, booleans)
  • Strings and Unicode handling
  • Lists and basic operations
  • Tuples and immutability
  • Basic dictionary operations

Lab: Working with Python's built-in data types

Day 2

Advanced Data Structures

  • Sets and set operations
  • Dictionaries and advanced operations
  • Nested data structures
  • Choosing the right data structure

Lab: Data structure selection and manipulation exercises

Control Flow and Iteration

  • While loops and control statements
  • For loops and iteration protocols
  • Range function and numeric iteration
  • Enumerate for indexed iteration
  • Breaking and continuing loops

Lab: Implement various iteration patterns

Functions and Scope

  • Function definition and calling
  • Parameters and arguments
  • Return values and documentation
  • Variable scope and the LEGB rule
  • Built-in functions overview

Lab: Create reusable functions for common tasks

Advanced Iteration Concepts

  • Iterators and the iteration protocol
  • Generators and yield statements
  • Iterator functions (zip, enumerate)
  • List, dictionary, and set comprehensions
  • Generator expressions

Lab: Build efficient data processing pipelines

Object-Oriented Programming Basics

  • Classes and instances
  • Methods and attributes
  • Inheritance fundamentals
  • Class vs instance variables
  • Basic object-oriented design

Lab: Design and implement simple class hierarchies

Debugging and Best Practices

  • Common Python errors and debugging techniques
  • Using print statements and debuggers
  • Exception handling basics
  • Code organization and modules
  • Testing fundamentals

Lab: Debug existing code and implement error handling

Next Steps

After completing this course, consider:

  • Specialized Python workshops (Web Development, Data Science, DevOps)
  • Contributing to open source Python projects
  • Building personal projects to reinforce learning

Contact Us | View All Courses