Introduction
As part of my journey to expand my programming skills, I recently completed an educational project: a Mortgage Calculator. This project was part of the Codecademy Computer Science course, designed to teach the fundamentals of Python programming and problem-solving. Despite having limited time to dedicate to it due to family commitments and a full-time job, I was determined to complete the project and apply the concepts I’d learned.
In addition to personal growth, I am learning how to code to improve my job skillset. Specifically, I aim to use Python to automate and expand my CAD capabilities, enhancing efficiency and exploring new possibilities in my professional work.
Project Overview
The Mortgage Calculator program allows users to perform essential financial calculations related to mortgages, including:
Monthly Repayment: Calculate the monthly repayment amount based on loan amount, interest rate, and duration.
Loan Amount: Determine the maximum loan amount possible for a given repayment amount.
Loan Duration: Estimate the duration of a loan given the repayment amount and interest rate.
Interest Rate: Approximate the interest rate required for a specific loan amount and repayment plan.
The project’s primary goal was to solidify my understanding of Python functions, input handling, and basic mathematical logic.
Challenges and Reflections
Balancing this project with personal and professional responsibilities was a significant challenge. With a family to care for and a full-time career, my time was limited, but this made every minute spent coding even more rewarding. I learned to break the project into smaller, manageable tasks and work on them incrementally.
One key takeaway from this experience was the importance of prioritising learning, even when life gets busy. It’s not about dedicating endless hours but about making consistent progress, no matter how small.
What I Learned
Practical Application of Python: This project allowed me to apply Python concepts like loops, conditionals, and functions in a real-world context.
Problem-Solving Skills: Debugging and refining the calculations taught me to approach problems systematically.
Time Management: Juggling this project with other responsibilities reinforced the value of efficient time management.
Next Steps
While the project is functional, I’d like to revisit it in the future to:
- Optimise the code for better readability and efficiency.
- Explore additional features, such as amortisation schedules or advanced error handling.
Conclusion
This educational project may have been a small step in my programming journey, but it was a meaningful one. It demonstrated that with determination and careful time management, it’s possible to learn and grow, even amidst life’s many responsibilities. I’m excited to continue building my skills and tackling new challenges in the world of programming.
Top comments (0)