This is a question specifically for the biology teachers/lecturers/professors among you.
I've been wondering lately about just why so many really bad arguments against evolution get so much traction. Arguments such as "if we evolved from apes then why are there still apes?" or "what use is half an eye?" or about cats turning into dogs, or about crocoducks, or about Scrabble tiles being dropped on a table and producing Shakespeare, and so on. These are all arguments that just show that the people making them haven't the faintest idea what they're talking about.
But it occurred to me — could these misconceptions be due to evolution being genuinely difficult to understand on a purely technical level?
I thought this because these bad arguments and misconceptions have parallels in one particular aspect of the software development world with which I am very familiar. In recent years, software has increasingly been developed using a tool called Git, which keeps a complete history of how your codebase has evolved over time, and this can come in very useful for things such as tracking down bugs or branching and merging. However, a lot of programmers had a lot of difficulty adopting an evolutionary view of their codebases, seeing the benefits, or even conceptualising the idea. As a result, these new techniques and tools met with quite a lot of scepticism in many enterprise settings at first, while those of us who saw their benefits were often dismissed as noisy fanboys.
So here's my question. Do you find, when you're teaching, that your students have any particular difficulties in understanding the "nuts and bolts" of how evolution works?