I am teaching students (university) to use modeling and 3D printing. It is not that hard to build a new one. For electrical engineer student, you may cooperate with mechanical engineer student.
It would be much easier for beginner to play one diy 3d printer and then move on to modify the 3d printer. You can get one below 200 dollar in ebay:
Get the basic mechanical, electrical and computer control behind it.
The desktop version for basic polymer, like PLA, ABS, is not that hard, but it would be challenge if you add the bluetooth, wifi and machine learning technology into it.
For electrical engineer, it would be practical and useful if you start to use eagle or altium design a new board, which could support the new sensors mentioned above. Here is a good link for you :
https://reprap.org/wiki/RAMPS_1.4
The arduino code is open source and the cura also supports the open source. You could learn a lot from that.
As a electrical student I am interested to improve the features of existing 3D printer with additional features like sensing unit of extruder, wifi enabled printing and monitoring printing status. Other than this, do we have any specific feature can implement in terms of control system. @ Maohua Lin
Being an electrical you can work and improve the controls over different factors that are still a hot research topic like real time temperature control of melt pool (in case of metal sintering), this would help in controlling the porosity and residual stresses that generates during printing. This would also help in increasing the overall speed of the printing which is still very slow as compared to traditional manufacturing processes.