Last Monday, out of the blue, I just got assigned from my professor a new student to my care.
He is a 4th year bachelor student. He entered my lab, because he failed to get into his (all 3) labs of choice. This week I still havn’t known him much. He came to lab for only short period per time. Nevertheless, I will try to develop relationship with him overtime. At least I want to make sure that the working experience with me is better than what I’ve received from my professor.
Our lab is doing about customizing CPUs. We model a CPU by C language and (high-level) synthesize it into Register-Tranfer Level. The RTL is then either burnt to a FPGA chip or fabricate in silicon. These days we are baking a general purpose CPU like the one you are using now. We plan to have Linux running on it.
So, I expect before graduation he will learn about
- Processes in creating a CPU and challenging tasks in each level
- Various CPU/GPU/FPGA architectures
- Linux internals
- Git (srsly, this should be taught in Programming 101)
Today I assigned him to skim through conference presentations and tell me which titles he is interested in. It might shed some light on which tasks I should give to let him develop his skills for his research theme. Hopefully his choices will overlap some of my learning expectation above.
Although this is not a place he wants to be in in the beginning, I found him eager in learning. I met him in a logic synthesis seminar by a professor from UC Berkeley, and he started reading through these thick conference books right away. This gives me hope that I can train him into a skillful engineer.
I will try to update his progress, my mentoring experience and assignments here every week. Stay tuned!