One last piece of friendly advice, do not take programming from project point of view... You will never learn it that way and won't probably make a professional engineer... You need to take do it like you mean it, understand it and learn from heart...