Obviously you can get help from other students, but make sure the work you submit is your own or that you have clearly indicated what help you got (otherwise you have committed plagiarism). It's best to ask for help on general questions (such as 'how does recursion work?') rather than specific problems with your assignment ('how can I finish question 3?').
This reduces the likelihood that you will cross the line of getting too much help and it's also a better way to learn. If someone fixes a problem with your code for you, you are not likely to learn as much as if someone guides you in solving it for yourself. This is like the difference between watching someone cook a meal and having them guide you through cooking it; you will learn a lot more from the latter.
Another good way to learn is for someone to sit down with you and go over a subject, starting from the beginning, or the part you understand well, and together find which parts you are having trouble with and work on them. Once you understand the subject you can do the assignments yourself! In general, focus on understanding each subject, not just on completing your assignments.
Incidentally, for these reasons lab demonstrators should not fix problems with your code. Instead they should fix your understanding of the area. In fact, they should not touch your keyboard! This is because it's often easier and faster for the demonstrator to do things themselves (like debugging, compiling and running your code) than to explain to you how to do them. The problem is that you learn less by watching them do this than by having them explain to you what to do, and doing it yourself. Once they have your keyboard it's also tempting for them to fix problems with the code instead of explaining things to you. So don't give up your keyboard. (A possible exception is to let them inspect your code before deciding how to help you, but even then you will learn more by showing them parts of the code they ask to see than by just watching them.) If your unit has a lab demonstrator, you can ask them general questions. If there is time they can spend 5 or 10 minutes going over an subject with you. If you can't get the help you need from a lab demonstrator then approach the unit lecturer. Sometimes it's difficult to get in touch with a lecturer. Generally this is not because they're uninterested or unwilling to help, but you do need to know the best way to contact each one. Some prefer emails, some monitor their unit forums closely, and some prefer to be seen in person. See the communications page for more. Another difficultly is that sometimes lecturers, like everyone else, have deadlines for various things and can get behind with others, like answering questions.
Each unit has a forum in which students and staff can post questions and answers. If you have a question odds are other students will be wondering the same thing, and forums are a great way to share the answers. Often other students will answer your question, sometimes in the middle of the night!
Undergraduate personal tutors need to come up with ideas for tutor group meetings and you can suggest a review of a particular area. If you're having trouble with a subject odds are someone else in the group is too. Even if they aren't having a particular problem it won't hurt them to review things and maybe pick up a few more points. Explaining a subject to someone else is a really good way to improve your own understanding of it, so a tutor may ask one student to explain it to the rest of the group. That way everyone benefits. Alternatively, your personal tutor may decide to go over things with you individually. If you have a substantial illness or other problem and need an extension beyond the default 3 days, or to have coursework waived, you should see your personal tutor. Your personal tutor can also help you make a study plan for how to catch up, can help you monitor your progress as you catch up, recommend books and other resources, talk to you about time management, and so on. But they can only do this if they're aware of the problem.
MSc students can see their programme director (who acts as their personal tutor) or the relevant unit lecturer.
We also have mentors for first year students - see the handbook.
Each year (including MSc students) has a year representative who is a point of contact between staff and students in that year. Most lecturers interact with students from all years and only have a partial picture of what is going on with each year (the year tutor being an exception). The year representatives are meant to compensate for this. When there are issues which affect many students in a year the representatives collect input from students and pass it on to staff. Representatives can also help with individual cases if staff have not resolved your problem.
Although it's rare that students need to look at them, the University has regulations which govern many things. These are essentially the laws which the University follows.
These links have important guidance: