Booking options
£82.99
£82.99
On-Demand course
41 hours 6 minutes
All levels
Learn how to build and test APIs and web services, which form the foundation of most software engineer work with the help of this carefully structured beginner's level course. You will be learning all of this in Python, one of the world's most popular and widely used programming languages.
Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. This hands-on course will help you become a skilled software engineer with no prior programming experience needed. You will start by learning the basics of Python such as variables, strings, Booleans, lists, tuples, dictionaries, generators, and so on as well as learning to write the first service test. Furthermore, you will learn to send requests in Python and understand how to modify permissions. You will also be able to explore Docker and SQL and learn to set up a local PostgreSQL Server. You will learn how to create tables using query results. Moving further in the course, you will learn to integrate databases into your application and create database models in Python. You will be introduced to Redis and learn data compression. You will also get to know how to set up a GitHub desktop, and clone a repository as well as GitHub CLI. You will wrap up the course by having a look at threading in Python, multiprocessing pool, and async wait statements. By the end of this course, you will feel comfortable with developing applications, have a portfolio item, and be ready to apply for software engineer positions and take on those technical interviews. All resources and code files are placed here: https://github.com/PacktPublishing/Python-for-Software-Engineering-Bootcamp-
Learn to write proper and clean Python code
Learn to develop APIs in Python
Learn to write scalable applications in Python
Learn to interact with databases in code
Learn to add caching to your code
Learn to properly test your code
This course is for complete beginners who want to learn how to program and become software engineers. No prior programming experience is needed, you will learn everything you will need to know on the course.
This is a well-structured, hands-on, and comprehensive course for beginners. Real-time scenarios and use cases are explained, which will come in handy in the future. In this course, you will also learn how to contribute to open-source projects and build your online presence to build credibility.
Understand the skills required to work as a software engineer with the help of 40+ hours of premium content * Learn to use Docker to build containerized applications * Understand how to use GitHub to automatically test and deploy code
https://github.com/PacktPublishing/Python-for-Software-Engineering-Bootcamp-
Maximilian Schallwig is a data engineer and a proficient Python programmer. He holds a bachelor's degree in physics and a master's degree in astrophysics. He has been working on data for over five years, first as a data scientist and then as a data engineer. He can talk endlessly about big data pipelines, data infrastructure, and his unwavering devotion to Python. Even after two unsuccessful attempts in high school, he still decided to learn Python at the University. He cautiously stepped into the realm of data, beginning with a simple Google search for 'what does a data scientist do'. He was determined to pursue a career in data science to become a data engineer by learning about big data tools and infrastructure design to build scalable systems and pipelines. He enjoys sharing his programming skills with the rest of the world.
1. Introduction
1. Introduction In this video, the author introduces you to the course. |
2. Setting Up Our Coding Environment In this video, the author explains the installation of PyCharm. |
3. Installing Python This video explains the installation of Python. |
4. Writing Our First Program This video explains how to write your first Python program. |
5. Variables This video explains variables in Python. |
6. String This video explains strings in Python. |
7. Integers, Floats, and Type Casting This video explains integers, floats, and type casting in Python. |
8. Booleans and Boolean Operations This video explains Booleans and Boolean operations in Python. |
9. None Types This video explains the 'none' datatype in Python. |
10. Lists This video explains lists in Python. |
11. Tuples This video explains tuples in Python. |
12. Dictionaries This video explains dictionaries in Python. |
13. Formatting Strings and Writing Comments This video explains how to write comments and format strings in Python. |
14. If Statements This video explains If statements. |
15. Elif and Else Statements In this video, the author explains the elif and else statements. |
16. For Loops This video explains for loops in Python. |
17. While Loops This video explains while loops. |
18. Functions This video explains functions in Python. |
19. Function Parameters This video explains function parameters. |
20. Global Variables This video explains global variables. |
21. File Handling This video explains file handling in Python. |
22. Virtual Environments This video explains virtual environments. |
23. Launching Our First Application This video explains launching the first application. |
24. Classes This video explains classes in Python. |
25. Classes Inheritance This video explains classes inheritance. |
26. Decorators This video explains decorators in Python. |
27. Generators In this video, the author explains generators in Python. |
28. JSON and Text Response This video explains JSON and text response. |
29. Typing This video explains that when we write Python code, we do not define the datatypes, values, and so on. |
30. Response Models This video explains response models. |
31. Expanded Field Information This video explains the concept of expanded field information. |
32. Path Parameters This video explains Path parameters. |
33. Request Bodies This video explains request bodies. |
34. Query Parameters This video explains the query parameters. |
35. Put and Delete This video explains put and delete request types. |
36. Docstrings This video explains docstrings. |
37. Async Functions This video explains async functions. |
38. Directory Structure This video explains the directory structure. |
39. API Routers Continued This video explains API routers. |
40. Environment Variables In this video, the author explains environment variables. |
41. HTTP Status Codes This video explains the HTTP status codes. |
42. Exceptions This video explains exceptions in Python. |
43. Logging This video explains how to implement logging and its benefits. |
44. Logging Formatter This video explains the concept of logging formatter. |
45. Custom Exception Handlers This video explains custom exception handlers. |
46. Headers and Dependencies This video explains headers and dependencies. |
2. Testing
1. Pytest Introduction This video introduces you to Pytest. |
2. Writing Our First Service Test This video explains how to write your first service test. |
3. Fixtures This video explains fixtures in Python. |
4. Integration Tests This video explains integration tests. |
5. Testing for Exceptions This video explains testing for exceptions. |
6. Sending Requests in Python This video explains sending requests in Python. |
7. Sending Async Requests This video explains sending async requests. |
8. Testing Synchronous Requests This video explains testing synchronous requests. |
9. Testing Async Requests This video explains testing async requests. |
10. Test Coverage This video explains test coverage. |
11. MyPy Round 2 This video explains MyPy. |
3. Introduction to the Terminal
1. Digital Ocean Setup This video explains the setup of Digital Ocean. |
2. SSH on Windows This video explains SSH on Windows. |
3. Connecting with SSH This video explains connecting with SSH. |
4. Basic Navigation This video explains basic navigation. |
5. Creating Folders This video explains creating folders. |
6. Creating Files This video explains creating files. |
7. Removing Folders and Files This video explains removing folders and files. |
8. Moving, Renaming, and Copying Files and Folders This video explains moving, renaming, and copying files and folders. |
9. Environment Variables This video explains environment variables. |
10. Piping and Redirecting This video explains piping and redirecting. |
11. Super User and Running Pythons Scripts This video explains super user and running Pythons scripts. |
12. Executables and Modifying Permissions This video explains executables and modifying permissions. |
13. Sending Requests This video explains sending requests |
4. Docker
1. Docker Introduction This video introduces you to Docker. |
2. Creating a Dockerfile This video explains creating a Dockerfile. |
3. Multistage Build This video explains multistage build. |
4. Docker Compose This video explains Docker Compose. |
5. Makefile This video explains Makefile. |
5. SQL
1. Introduction to Relational Databases This video introduces you to relational databases. |
2. Data Types and Schemas This video explains data types and schemas. |
3. [Mac] Setting Up a Local PostgreSQL Server This video explains setting up a local PostgreSQL server for Mac. |
4. [Windows] Setting Up a Local PostgreSQL Server This video explains setting up a local PostgreSQL server for Windows. |
5. [Mac] SQL Editor Postico This video explains SQL Editor Postico for Mac. |
6. SQL Editor DataGrip This video explains SQL Editor DataGrip. |
7. SQL Editor CLI This video explains SQL Editor CLI. |
8. Creating and Removing a Database This video explains creating and removing a database. |
9. Creating Schemas This video explains creating schemas. |
10. Creating Tables This video explains creating tables. |
11. Altering Tables This video explains altering tables. |
12. Enumerated Types This video explains enumerated types. |
13. Inserting Values This video explains inserting values. |
14. Running an SQL Script This video explains how to run a SQL script. |
15. Reading Data This video explains reading data. |
16. Creating Tables Using Query Results This video explains creating tables using query results. |
17. Aliases and Ordering This video explains aliases and ordering. |
18. Conditional Filtering Direct Comparisons This video explains conditional filtering direct comparisons. |
19. Conditional Filtering Grouped Comparisons This video explains conditional filtering grouped comparisons. |
20. Joining Conditionals This video explains joining conditionals in SQL. |
21. Negating Conditionals This video explains negating conditionals in SQL. |
22. Filtering Null Values This video explains filtering the null values in SQL. |
23. Creating New Columns and Arithmetic This video explains how to create new columns and arithmetic. |
24. Datatype Conversions This video explains datatype conversions in SQL. |
25. Logic Statements This video explains logic statements in SQL. |
26. Manipulating Strings This video explains manipulating strings in SQL. |
27. String Positional Information This video explains string positional information in SQL. |
28. String Subsets and Concatenations This video explains string subsets and concatenations. |
29. String Replacements This video explains string replacements in SQL. |
30. Date and Time This video explains date and time in SQL. |
31. Date and Time Intervals This video explains date and time intervals. |
32. Comments This video explains the comments in SQL. |
33. Aggregation Functions This video explains aggregation functions in SQL. |
34. Grouping and Filtering Aggregations This video explains grouping and filtering aggregations. |
35. Inner Join This video explains inner join in SQL. |
36. Left, Right, and Outer Joins This video explains left, right, and outer joins in SQL. |
37. Self Joins This video explains self joins in SQL. |
38. Unions This video explains unions in SQL. |
39. Subqueries This video explains subqueries in SQL. |
40. Common Table Expression (CTEs) This video explains CTEs in SQL. |
41. Window Functions and Aliases This video explains window functions and aliases in SQL. |
42. Row Numbers and Ranks This video explains row numbers and ranks. |
43. Using Other Rows with Window Functions This video explains using other rows with window functions. |
44. NTiles This video explains NTiles in SQL. |
45. Understanding Query Performance This video explains query performance in SQL. |
6. Integrating Databases into Our Application
1. Adding Postgres to Our Docker Compose This video explains adding Postgres to our Docker Compose. |
2. Creating Database Models in Python This video explains creating database models in Python. |
3. Database Migrations This video explains database migrations. |
4. SQLAlchemy ORM Introduction This video introduces you to SQLAlchemy ORM. |
5. Creating a Database Client This video explains how to create a database client. |
6. Updating Our Application to Read from the Database This video explains updating our application to read from the database. |
7. Database Inserts This video explains database inserts. |
8. Database Updates This video explains database updates. |
9. Database Deletes This video explains database deletes. |
10. Async Database Queries This video explains async database queries. |
11. Async Updates This video explains async updates. |
12. Updating Unit Tests to Work with the Database This video explains updating unit tests to work with the database. |
13. Updating Integration Tests to Work with the Database This video explains updating integration tests to work with the database. |
14. SQLite for Testing This video explains SQLite for testing. |
15. Mocking This video explains mocking. |
7. Caching
1. Redis Introduction This video introduces you to Redis. |
2. Adding Caching to Our Application This video explains adding caching to our application. |
3. Redis Hash Introduction This video introduces you to Redis Hash. |
4. Redis Sets Introduction This video introduces you to Redis Sets. |
5. Adding Hash Caching to Pagination Endpoint This video explains adding hash caching to pagination endpoint. |
6. Python Object Serialization This video explains Python object serialization. |
7. Cache Flushing This video explains cache flushing. |
8. Data Compression This video explains data compression. |
8. Linting
1. MyPy Configurations This video explains the MyPy configurations. |
2. Import Sorting This video explains import sorting. |
3. Automatic Code Formatting This video explains automatic code formatting. |
4. Additional Code Checking This video explains additional code checking. |
9. GitHub
1. GitHub Credentials Setup This video explains how to set up GitHub credentials. |
2. GitHub Desktop Setup This video explains how to set up GitHub Desktop. |
3. Cloning a Repository This video explains how to clone a GitHub repository. |
4. Pushing a Local Repository to GitHub This video explains how to push a local repository GitHub. |
5. Reverting and Squashing Commits This video explains reverting and squashing Commits. |
6. GitHub Branches This video explains GitHub branches. |
7. Pull Request This video explains a Pull request. |
8. Precommit Hooks This video explains Precommit hooks. |
9. GitHub CLI This video explains GitHub CLI. |
10. Tagged Release This video explains tagged release. |
11. Reading Documentation This video explains reading documentation. |
10. Concurrent and Parallel Programming
1. Threading, Multiprocessing, and Async Introduction This video explains threading, multiprocessing, and async statements. |
2. Threading in Python This video explains threading in Python. |
3. Creating a Threading Class This video explains how to create a threading class. |
4. Creating a Wikipedia Reader This video explains how to create a Wikipedia Reader. |
5. Creating a Yahoo Finance Reader This video explains creating a Yahoo Finance Reader. |
6. Queues and Master Scheduler This video explains queues and master scheduler. |
7. Creating a Postgres Worker This video explains how to create Postgres Worker. |
8. Integrating the Postgres Worker This video explains integrating the Postgres Worker. |
9. Yaml File Introduction This video introduces you to Yaml file. |
10. Creating a Yaml Reader This video explains how to create a Yaml Reader. |
11. Improving Our Wiki Worker This video explains improving our Wiki Worker. |
12. Improving All Workers and Adding Monitoring This video explains improving all workers and adding monitoring. |
13. Final Program Clean-Up This video explains final program clean-up. |
14. Locking This video explains Locking. |
15. Multiprocessing Introduction This video introduces you to multiprocessing. |
16. Multiprocessing Queues This video explains multiprocessing queues. |
17. Multiprocessing Pool This video explains multiprocessing pool. |
18. Multiprocessing Pool Map Multiple Arguments This video explains multiprocessing pool map multiple arguments. |
19. Multiprocessing Multiple Varying Arguments This video explains multiprocessing multiple varying arguments. |
20. Multiprocessing Checking Elements in List in Certain Ranges This video explains multiprocessing checking elements in list in certain ranges. |
21. Introduction to Writing Asynchronous Programs This video introduces you to writing asynchronous programs. |
22. Asynchronous Tasks This video explains asynchronous tasks. |
23. Async Gather Method This video explains the async Gather method. |
24. Using Async Timeouts This video explains async timeouts. |
25. Creating Asynchronous For Loops This video explains how to create asynchronous 'for' loops. |
26. Using Asynchronous Libraries This video explains using asynchronous libraries. |
27. The Async Wait Statement This video explains the async wait statement. |
28. Combining Async and Multiprocessing This video explains combining async and multiprocessing. |