Software Engineering with Python
Learn Python from the ground up while building the habits and skills used by professional software teams. Set up your development environment, explore software engineering careers, and practice writing clear, reliable code. As you progress, you’ll use object-oriented and functional programming patterns, build a beginner-friendly graphical interface, and work with tests, databases, APIs, and web data. Finish by applying what you’ve learned in a practical Python project.
Last Cohort Discount
Offer ends in 22 days
Or pay in installments at checkout.
This course includes
Course Curriculum
6 modules · 61 lessons1Software Engineering Foundations and Python Setup10 lessons
Explore what software engineering involves, how development teams work, and the career paths available in the field. Set up Python 3 and a development environment, then learn the basics of working with project files and version control.
What Software Engineering Is
Explain how software engineering combines planning, building, testing, and maintaining software.
How Development Teams Build Software
Describe how team members use a step-by-step development process to deliver software.
Explore Software Engineering Career Paths
Match common software engineering roles to the work each role performs.
Install Python 3
Install Python 3 and verify the installation by checking its version.
Set Up VS Code and Run a Python File
Configure VS Code for Python and run a simple Python file.
Work with Project Folders and Files
Create and navigate a project folder using the file manager or terminal.
Organize a Python Project
Arrange a small Python project with a source file and a README file.
Install Git and Track Changes
Install Git, set a user name and email, and save a project change in a commit.
Project: Build a Version-Controlled Python Starter
Create a starter Python project with an organized folder, README, and Git commit history.
Capstone: Prepare a Shareable Python Project
Publish the starter project to GitHub with a clear README and a clean commit history.
2Python Fundamentals and Problem Solving11 lessons
Build a foundation in Python syntax, variables, data types, control flow, functions, collections, and error handling. Use these concepts to break problems into manageable steps and write small, readable programs.
Install Python and Set Up VS Code
Install Python and VS Code, then run a starter script from the terminal.
Write and Run Your First Python Script
Create and run a Python script that displays text using print().
Store Values in Variables
Write a script that stores and displays text, whole numbers, and decimal numbers in variables.
Calculate and Compare Values
Use arithmetic and comparison operators to calculate results and compare values.
Collect Input and Convert Types
Write a script that accepts user input, converts it to a number, and displays a calculated result.
Make Decisions with If Statements
Write a program that uses if, elif, and else to choose an outcome based on user input.
Repeat Actions with Loops
Use for and while loops to repeat a task until a stopping condition is met.
Organize Code with Functions
Define and call functions that accept inputs and return results.
Group Data in Lists and Dictionaries
Use a list and a dictionary to store, access, and update related data.
Handle Errors and Break Problems into Steps
Break a small problem into steps and handle invalid input with try and except.
Capstone Project: Build a Command-Line Task Tracker
Build a command-line task tracker that uses functions, collections, control flow, and input error handling.
3Program Design, OOP, and Beginner-Friendly Interfaces10 lessons
Organize programs with modules and reusable components, and compare object-oriented and functional programming patterns. Apply these ideas in a simple graphical application using Tkinter.
Set Up Python and Tkinter
Set up Python and a code editor, then run a script that confirms Tkinter is available.
Create Reusable Functions
Write a function that accepts input and returns a useful result.
Organize Code into Modules
Split related functions into a Python module and import them into another script.
Represent Program State with Functions
Use functions and values to update and display simple application data.
Create Classes and Objects
Define a class with attributes and methods, then use it to create an object.
Compare Functional and Object-Oriented Designs
Model the same small feature with functions and with a class, then identify one practical difference.
Build a Tkinter Window with Widgets
Create a Tkinter window containing a label, an input field, and a button.
Arrange Widgets with a Layout Manager
Arrange Tkinter widgets into a clear interface using a layout manager.
Connect Interface Events to Program Logic
Make a Tkinter button respond to a click by calling reusable program logic and updating the window.
Project: Build a Simple Tkinter Task Tracker
Build a task tracker with a Tkinter interface and reusable code organized into modules.
4Reliable Python with pytest and Team Practices10 lessons
Learn to check program behavior with automated tests using pytest, and improve code quality through debugging, clear naming, and small refactoring steps. Practice professional workflows for collaborating on and maintaining Python projects.
Set Up Python, VS Code, and Git
Install Python, VS Code, and Git and verify that each tool opens successfully.
Create a Project and Install pytest
Create a Python virtual environment and install pytest inside it.
Write and Run Your First pytest Test
Write a test with an assertion and run it with pytest.
Test Function Inputs and Edge Cases
Write tests that check a function’s expected results for typical and boundary inputs.
Organize Tests and Run Them Selectively
Arrange tests in a test file and use pytest to run one test or the full suite.
Understand and Debug a Failing Test
Use pytest’s failure output to locate and fix an error in a Python function.
Refactor Code Safely with Clear Names
Improve unclear names and simplify a function while keeping its tests passing.
Save Project Changes with Git Commits
Record a tested code change in Git with a clear commit message.
Share a Change with a Branch and Pull Request
Create a Git branch and open a pull request for a small code change.
Capstone Project: Build a Tested Task Tracker
Build and submit a small task-tracking program with pytest tests, clear code, and a pull request.
5Databases, APIs, and Responsible Web Scraping10 lessons
Persist and query data with SQLite, connect to APIs and external services, and handle responses and common failures. Collect web data responsibly with Python, respecting site policies and avoiding unnecessary requests.
Set Up Python Tools for Databases and Web Data
Install Requests and Beautiful Soup, and verify access to Python's SQLite tools.
Create a SQLite Database and Table
Create a SQLite database containing a table with clearly named columns.
Add Records and Read Them Back
Insert sample records into a SQLite table and retrieve them with a query.
Find and Sort Records with SQL
Write queries that filter records by a condition and sort the results.
Change and Remove Database Records Safely
Update and delete selected records using parameterized SQL statements.
Request Data from an API
Send a GET request to a public API and read selected values from its JSON response.
Handle API Errors and Unavailable Services
Add status-code checks, timeouts, and exception handling to an API request.
Check Site Policies and Plan Polite Scraping
Evaluate a site's scraping rules and set a low request rate before collecting data.
Extract Information from Web Pages
Use Beautiful Soup to extract selected text from a permitted web page.
Project: Build a Responsible Data Collector
Build a Python program that collects permitted data from an API or web page, handles common failures, and stores selected results in SQLite.
6Applied Python Project: Build, Test, and Improve10 lessons
Bring together Python fundamentals, program design, testing, and data integration to create a practical application. Plan the work, implement and test the solution, and refine it using professional software engineering practices.
Install Python and Set Up VS Code
Create a working Python environment in VS Code with a project-specific virtual environment.
Plan a Simple Expense Tracker
Write three user stories that define what the expense tracker must do.
Represent Expenses and Organize Code
Define an expense record and write a function that creates one from user-provided values.
Build a Command-Line Menu
Create a menu that lets users add an expense or view recorded expenses.
Validate Expense Information
Reject missing descriptions and invalid expense amounts before saving a record.
Save and Load Expenses with CSV
Store expense records in a CSV file and load them when the program starts.
Handle File Errors Clearly
Display a helpful message when the expense file is unavailable or cannot be read.
Test Expense Functions with pytest
Write pytest tests that verify expense creation and input validation.
Improve the Project with Git
Commit a tested improvement to the expense tracker using Git.
Capstone Project: Build and Improve an Expense Tracker
Deliver a tested command-line expense tracker that validates input, stores records in CSV, and handles file errors.
Course Details
- Level
- Beginner
- Duration
- 24 Weeks
- Modules
- 6
- Lectures
- 61
- Language
- English
- Certificate
- Included
- Last Updated
- 17 Oct 2026
What You Get
- Expert-led lectures
- AI-powered learning assistant
- Live classes with instructors
- Hands-on projects & assignments
- Certificate of completion
- 3 months free Community membership