Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Python for Software Engineering Bootcamp
Rating: 4.5 out of 5(403 ratings)
3,641 students

Python for Software Engineering Bootcamp

Go from zero to software engineer
Created byMax A
Last updated 4/2022
English
English [Auto],

What you'll learn

  • How to write proper and clean Python code
  • How to develop APIs in Python
  • Skills required to work as a software engineer
  • How to properly test your code
  • How to write scalable applications
  • How to interact with databases in code
  • How to add caching to your code
  • How to use GitHub to automatically test and deploy code
  • How to use Docker to build containerised applications

Course content

10 sections185 lectures40h 55m total length
  • Setting Up Our Coding Environment6:35
  • Installing Python3:15
  • Writing Our First Program4:14

    Write and run your first Python program by printing hello world in the console using Python 3.9. Learn about strings, quotation marks, and consistent string delimitation.

  • Variables7:05
  • String18:13
  • Operations on Strings
  • Integers, Floats, and Type Casting16:10

    Explore integers, floats, and type casting in Python by comparing numeric and string data types, performing arithmetic, and converting between int and string while noting division results and memory trade-offs.

  • Booleans and Boolean Operations8:16

    Explore booleans and boolean operations in Python, including true and false values and basic comparisons like ==, !=, >, <, >=, <= across numbers and strings.

  • None Types2:38
  • Lists17:24
  • Tuples7:37
  • Dictionaries15:41
  • Formatting Strings and Writing Comments17:30

    Learn practical Python string formatting using f-strings, including numeric formatting like leading zeros and decimals, and effective use of print statements for debugging, plus guidance on concise comments.

  • If Statements14:15

    Learn to control program flow with Python if statements, using equality, booleans, and print outputs. Build complex conditions with and, or, in, and parentheses for order of operations.

  • Elif and Else Statements18:49
  • For Loops18:40
  • While Loops11:11

    Explore Python while loops and loop control with break and continue, practicing finite and infinite loops, conditions, and printing numbers up to 20 using modulo to skip evens.

  • Break and Continue
  • Functions17:40
  • Exercise: Printing Formatted Symbols
  • Function Parameters18:19

    Explore how to define and manage function parameters in Python, including input parameters, keyword arguments, default values, and advanced unpacking with *args and **kwargs.

  • Global Variables6:33
  • File Handling15:50
  • Virtual Environments21:56

    Set up and activate Python virtual environments to ensure reproducible runs. Install and record dependencies with pip, Pipfile, Pipfile.lock, and requirements.txt, and use fast API with unicorn to build APIs.

  • Launching Our First Application17:35
  • Classes22:56
  • Classes Inheritance14:39

    Learn how class inheritance enables a dog to extend an animal, using super for initialization, overriding methods, and applying static and class methods with shared class attributes.

  • Decorators21:46

    Explore decorators in Python by wrapping functions with a wrapper via the @ syntax, passing functions as input, handling arbitrary args and kwargs, and returning the wrapped function.

  • Generators12:55

    Explore Python generators to enable memory-efficient streaming by using yield to output lines one at a time from large files.

  • JSON and Text Response15:10

    Build and test FastAPI endpoints, switch between JSON and plaintext responses, and use auto-generated docs to explore and document your API.

  • Typing26:40

    Learn how to use type hints in Python, from basic types to unions, optional, dictionaries, lists, and tuples, and enable static type checking with mypy for safer software.

  • Response Models25:29

    Explore building response models for APIs using pedantic typing and base models. Define user info with username, short description, and optional liked posts, exposing a clear response schema.

  • Expanded Field Information19:26
  • Path Prameters13:18
  • Request Bodies22:29

    Learn to send data to a server with a post request to /users, creating a new user via a full profile as a pedantic model in the request body.

  • Query Parameters26:55

    Explore using query parameters to paginate user data and fetch multiple profiles via a get endpoint, with start and limit optional filters that control paging.

  • Put and Delete13:15

    Implement put and delete endpoints for a user API, updating or creating a user by id with a request body, and removing user data via a delete operation.

  • Patch Endpoint
  • Docstrings17:03

    Learn how to write Python docstrings to document functions, classes, and modules. Describe inputs and returns, access docs via __doc__, and apply best practices for public APIs.

  • Async Functions20:20

    Explore how to define and use asynchronous functions in Python with async def and await to handle network IO, API calls, and database waits efficiently.

  • Directory Structure31:15
  • API Routers Continued6:42

    Refine API router design by prefixing user endpoints, grouping routes with tags, and updating documentation to reflect router-level properties; verify behavior through manual tests.

  • Environment Variables15:02
  • HTTP Status Codes11:29

    Explore http status codes across 1xx–5xx, focusing on common 200/201/301/400/401/403/404/429/422/500 responses, their meanings, and how to implement appropriate handling in a python api.

  • Returning Any Response Code
  • Exceptions31:18
  • Logging14:21
  • Logging Formatter11:20

    Create a console logger with a stream handler to view logs in the console, then configure a format that includes the level name, logger name, date, time, and message.

  • Custom Exception Handlers12:49
  • Headers and Dependencies26:02

    Master headers and dependencies in a FastAPI app, expose response headers, and implement a simple rate limit across endpoints using a dependencies approach with a five-per-ten-second policy.

Requirements

  • Access to a computer and a willingness to learn

Description

Software Engineers are one of the most in-demand positions in the modern world, and this demand will only increase as people and organizations continue to adopt technology and integrate it into their business processess.

In addition, Software Engineering provides lucrative and flexible job positions, with especially many remote work opportunities in the post-COVID error.

However, because of this, Software Engineering positions can be extremely competitive to get, and often contain several rounds of intense interviews.


In this course you're going to go from no prior programming experience to having the technical skillset to work as a Software Engineer in tech. You're going to learn how to build, test, and APIs and web services, which form the foundation of most software engineer work, and you'll be learning all of this in Python, one of the worlds most popular and widely used programming languages.


However, what really sets this course apart is not just the content you'll learn, but also the depth you'll learn it in. You'll learn how to write properly structured, well tested, and production ready code that's not just suited for a hobby project, but will be at level that is expected in the professional world.


By the end of this course you'll feel comfortable with developing applications, have a portfolio item, and be ready to apply to Software Engineer positions and take on those technical interviews.

Who this course is for:

  • Complete beginners who want to learn how to program and become a Software Engineer
  • No prior programming experience needed, you'll learning everything you'll need to know in the course