have been done
表示已经被做(也许还在持续中),被动语态的完成
have done
表示已经做了某事,是主动语态的完成时
这个句子里English跟teach(即taught的原形)是被动关系,是被教.所以要加been