Skip to main content
HomePython

Course

Case Study: Building Software in Python

AdvancedSkill Level
4.7+
244 reviews
Updated 06/2025
Build real-world applications with Python—practice using OOP and software engineering principles to write clean and maintainable code.
Start Course for Free
PythonProgramming3 hr10 videos29 Exercises2,050 XP2,018Statement of Accomplishment

Create Your Free Account

or

By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.

Loved by learners at thousands of companies

Group

Training 2 or more people?

Try DataCamp for Business

Course Description

This course offers a hands-on introduction to software engineering by guiding you through the development of a practical application: a mortgage calculator. You’ll learn how to calculate monthly payments based on key inputs like loan amount, interest rate, and loan term. Along the way, you’ll apply essential software engineering principles to create code that is efficient, modular, and maintainable.

What You’ll Build

Using Python, you’ll design and implement a mortgage calculator that evolves from a basic tool into a robust solution. Starting with simple modules, you’ll expand the functionality using inheritance to create advanced calculators, including one that handles financial computations. This hands-on project will help you understand real-world software development techniques and how to structure scalable code.

Techniques You’ll Use

Throughout the course, you’ll follow best practices like the DRY (Don’t Repeat Yourself) principle and modularity to organize your code effectively. You’ll adhere to PEP 8 standards, use tools like Pylint to maintain code quality and write automated tests with pytest to ensure your application’s reliability. By the end of the course, you’ll have the skills to design, implement, and test real-world software solutions with confidence.

Prerequisites

Intermediate Object-Oriented Programming in PythonSoftware Engineering Principles in Python
1

Introduction to the Case Study

Get to know the brief and start building your calculators from scratch while recapping important object-oriented and software engineering principles such as the Don't Repeat Yourself (DRY) principle.
Start Chapter
2

Write a Python Module

The basics are done, and now it's time to spruce them up! Continue with adding documentation and automated testing, and extend the functionality even further.
Start Chapter
3

Maintainability

The main code is written so now it's time to make sure everything works as it should and follows the best practices. Learn how to review, refactor, and improve your code, as well as run more comprehensive tests.
Start Chapter
Case Study: Building Software in Python
Course
Complete

Earn Statement of Accomplishment

Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
Enroll Now

Don’t just take our word for it

*4.7
from 244 reviews
81%
17%
2%
0%
1%
  • Minh Thiện
    yesterday

  • Omer
    yesterday

  • Anouar
    2 days ago

    thanks a lot Dr Romdhani Imed

  • Ayaz
    5 days ago

  • Greyson
    last week

  • José
    last week

Minh Thiện

Omer

"thanks a lot Dr Romdhani Imed"

Anouar

FAQs

What real-world application do I build in this case study?

You build a mortgage calculator in Python, applying software engineering principles like modular design, inheritance, the DRY principle, and automated testing throughout the process.

Is this course suitable for someone new to Python?

No. This is an advanced course with eight prerequisites covering object-oriented programming, functions, software engineering principles, and the Python toolbox.

Does this course cover automated testing?

Yes. You write automated tests using pytest in Chapters 2 and 3, learning how to verify your code works correctly and how to run comprehensive test suites.

What software engineering best practices are emphasized?

The course focuses on the DRY principle, PEP 8 compliance, code documentation, modular design with inheritance, and code review and refactoring techniques.

How long is this course compared to typical DataCamp courses?

It is relatively short with 3 chapters and 30 exercises over an estimated 180 minutes. Most learners complete it in about 1.4 hours.

Join over 19 million learners and start Case Study: Building Software in Python today!

Create Your Free Account

or

By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.

Grow your data skills with DataCamp for Mobile

Make progress on the go with our mobile courses and daily 5-minute coding challenges.