I am halfway through my internship in software development. The physical structure of the company is as follows: two floors, with different teams working on each one on a specific project.
The project which I have worked on (downstairs) since my arrival has ended, so most of my colleagues have recently been assigned to the upper floor. In the meantime, I had begun a separate project to comply with my school's requirements, with the subject being given by my manager and a qualified programmer. The field is a bit difficult, I chose it because it's something I didn't have time to be proficient at in class; only the above-named programmer is actually competent to help me.
I would love to make rapid progress on this work so I can be assigned to the new projects, but I am encountering many problems which I am unable to solve by myself (after trying several days). After a three-weeks holiday taken by the programmer, and now the current two weeks off taken by my manager, I have managed to do very little, since I get utterly more involved in team work than in this kind of "research program" I have to do. Unfortunately, as soon as he was back, the skilled programmer has now been called upstairs to be part of another project.
How can I go on? It's all about looking at my code and giving advice about what's wrong in it. I certainly can't call him from upstairs everytime since he is now thoroughly in his new task, can I?
Should I send the whole program by e-mail? Should I ask my questions through the company's instant messaging?
Should I ask the company's management to move my work station upstairs? May I ask my manager to definitely switch to the next project upstairs and skipping this one (I have proposed myself)?