The 8051 is an old single accumulator CPU and it is outdated in regards to both performance and power consumption. The only adoption we see of it today is people who have large code bases and do not have the resources to port it to new micros, i.e. there is hardly any new code developed on 80561 compared to AVR, STM8, MSP430 and PICs.
I would think that one would be better of by using an AVR (like fabLab is doing as well as Arduino), PICs or MSP430. These are still relatively simple architectures that all can connect to DMAs and different memory structures and work very well as a platform to learn the basics of computer architecture. If you learn a bit about all of them you can also see benefits of a linear address map vs paging etc.
In short i would suggest a modern 8/16 bit architecture because:
- Still simple enough to use for your first projects
- Used in multiple industries today, so what you learn in school is 1-to-1 to what is expected from you when you start working
- Made for C.