Making a calculator seems like a promising way for beginners to learn several key aspects of programming.
And why a program needs to be separated into modules and when pieces used in one place can also be used elsewhere are native to the approach.
On this site are a number of finished applications that show how a calculator was programmed. Some are simpler, some more complex, either in conception or execution, but all of them were designed to make it clear how certain features of the programming language are intended to be used.
And, yes, this site is the home page of the Roman Numeral Calculator. Or the future home site, once it's built.