This was the first 'real' coursework we got on the Computer Science module I took at the University of Bath.
We received a compiled program and had to reverse engineer it and write it in Java.
Which was an interesting task, because the program we got had a lot of quirks!
The program is a Soviet calculator, meaning that you have to first specify the numbers you want to perform a calculation on, and then the operator (so that the system will internally perform that operation). And when you input =
it will give you the value in memory.
To give you the full experience of discovering this thing gradually, I will not say anything more about the features, but if you're interested you can look at the source code.
(My submission received a very good score, you can be confident that it works as expected!)
To start the program, run SRPN.class (i.e. type java SRPN
while in the directory with your terminal).