UTAs - Lab Helper FAQ
UTAs are used to help with Lab demonstrations.
What is the purpose of lab demonstration?
The purpose of lab demonstration is to help the students learn how to write programs. Lab demonstration involves teaching and explanation. If a student is having problems with their program you should try to discover where their understanding is in error and provide an explanation that will allow the student to achieve a correct understanding. The range of problems experienced by students is large and varied and this is one of the reasons that lab demonstration is interesting.
What materials will I be provided with?
You will be given printed copies of the lab specifications with model answers in advance of the lab sessions where the students will be tackling the exercises. You will also be able to access the course notes for the programming languages being taught through CATe.
What does lab demonstration involve?
Philosophically, lab demonstration involves helping students to learn and understand the practice of programming. Practically it involves spending a couple of hours a week during in the labs helping the students with their weekly PPT exercises.
You will be expected to sit with individual students answering questions as they arise. The type of problem a student may have can vary greatly, from simple issues such as the spelling of a keyword, to larger design or tricky to debug bugs.
The first thing you need to do is discover what the student's problem is. You then need to help the student understand and solve their problem. If the problem is complex you need to avoid telling the student the answer in a direct way but should attempt to get the student to work out the answer for themself. In many cases you can do this by asking directed questions. In other cases you may wish to give a brief explanation coupled with questions to check whether the student has understood. It is often a good idea to get the student to explain their program to you. Often when they do this they discover the error themselves.
When helping a student you should be helping them reach an understanding of the solution through explanation. A general rule should be that you don't take the keyboard or mouse off the student, and don't dictate what they should type. It's tempting to type the answer and then explain it, however it is far better for the student if you can lead them to the answer through careful directed questioning.
How do I know if a student needs help?
Students that need immediate help should raise their hand to get the attention of a lab helper. However asking for help can be daunting for some newer students, so you should also circulate the lab space and generally engage with students.
We may also advertise one of the "back labs" (202 or 206) as a room that struggling students should go to where it is expected the lab helpers will provide extended focused support. You may be asked to help man such a room, working through the start of an exercise slowly wth a small group of students.
How do I help a student with a non-exercise-related question?
Students ask a range of questions in the labs, and they are encouraged to take advantage of the wide range of knowledge of the lab helpers. However priority should be given to students who need help with the current exercise.
If a student has a technical question that isn't straightforward to answer, it is acceptable to direct them towards the CSG help desk / webpages or help email address.
How do I help a student who has syntax errors?
Syntax errors are usually pinpointed by the compiler and are the easiest problems to solve. Hopefully if you point them out the student will correct their program themselves. Writing program with syntax errors can be frustrating for beginners especially when their program contains multiple errors. This is simply part of learning to program and they should understand that they will write programs with fewer syntax errors as they learn to program.
How do I help a student whose program produces wrong output?
This at least is a partially working program. You need to find out why it doesn't work. If possible you should show the student how to debug their program either by asking them them to explain what it does and correlating that with the code, or by walking through execution using a suitable debugger.
It can be tempting to point out directly where the error(s) are, however it is better if you can lead the student to realise the cause of the error themselves. Use directed questions to guide the student to discover the error.
How do I help a student who has doesn't understand the specfication?
If you discover that the student doesn't understand the specification you should discuss the specification with them. If possible you should ask the student if they have a copy of the specification and go over the main points with them. It is important that the students understand the problem given in the exercise specification. If they haven't read the specification carefully they should be encouraged to do so.
What if they just haven't read the specification?
A recent trend is for students to start implementing a solution after reading only part of entire specification. It is perfectly accetable to tell a student to read the specification, or to point out where in a specification the answer to their question is explained. If, after reading the specification they are still stuck, then you can help them to understand.
How do I make a claim for payment?
You should use the TSC system as described in the UTA introductory page.