Fine way to learn new (or old) programing language is to write a calculator in that language
Designing user interface could be handy for practicing
- layouts
- events
- design in general
Simple logic behind basic arithmetic operations wil help to learn writing:
- decoupled code
- unit testing
- basics of software architecture
- elementary debugging like
- Breakpoints
- Tracing
- Whatches