COMP20121 is a theoretical course, as the second digit in its code indicates. That means that it is not so much concerned with applications as with exploring some of the general principles underlying computation. Here's a short description.
COMP20121 is an optional course, so if you don't like the sound of what is described here you should consider what else is on offer.
You may find that you enjoy COMP20121 if you are not only concerned with learning about things that will be useful to your career as a programmer, but also want to know why some things are as they are, even if that requires looking at, say mathematics.
COMP20121 is not a good module to select if you prefer to do all your work (apart from the required labs) in the revision period. Because the concepts taught are very much non-trivial, and the course is quite deep in places, it takes time for it all to sink in.
On the plus side, if you like to be fairly certain that work you do throughout the semester will pay off in the exam, then this is a good option to choose. In particular in the theoretical part, exam questions work somewhat like the ones you may have encountered in your maths A levels: The best way of revising for those is to get practice by solving lots of similar ones.
The biggest complaint we had in past years with COMP20121 was that it was not applied enough. Please realize that it is not meant to be applied, and that you should seek out other options if that is your major concern. A very big issue in the past have been fairly low exam marks, which are a direct result of ignoring the exercises during term and finding out during revision that there is too much work to go through.
Because of its theoretical nature, the labs for COMP20121 will help you less in the exam than they will do for more applied courses; this is in particular true for the theoretical part.
Work throughout term pays off in exam
About general principles
No programming in theoretical part
Requires work throughout term
Too much like doing maths
But what's it for?