I am unclear as to whether the word for a female teacher is учитель, учительница or училка. I believe it could be the first as, although the word is masculine, it refers to a profession and is like врач which I believe could refer to either a man or a woman. Am I correct?
Училка is extremely disrespectful and nobody calls teachers like that apart from pupils,
учительница is a widely accepted feminitive, so just go with it. There's ongoing discussion in Russian-language communities whether we should or shouldn't go with feminitives but the truth is that de-facto for some professions feminitives were already a thing, and "учительница" was one of the most known examples.
However it's very unlikely that a feminine teacher will be offended with a phrase like "вы мой лучший учитель".
Учитель is acceptable,
учительница is appropriate and usually nobody is offended.
Keep in mind that this is very personal. One can be offended to be called
поэтесса one can insist that she is
поэтесса and by no means a
Whilst the previous answer gives a general understanding, I think it's worth adding a few more points here.
All three options: "учитель", "учительница" or "училка" may actually take place and merely depend on how formal the communication is. In the formal, official speech style, the word "учитель" will be used nearly all the time as a name of the profession. Examples are the official letters, certificates, honours etc.: "Учитель Года", "Лучший учитель школы".
Mind that whereas some of the profession names might be used as feminine (mainly, those that are equally common for men and women), many of them would still stay masculine all the time including "педагог" (also meaning "teacher" but a bit broadly), "депутат" etc.
When using an informal, colloquial speech style, it's more common to use feminines when they're available, like in the case of "учитель" -> "учительница". E.g. in parent-child communications or even in school (teacher-pupil communication), it's common to use "учительница": "что тебе учительница сказала?", "Марья Ивановна -- ваша новая учительница географии".
"училка" is clearly the jargon/slang word that teenagers & students often use. Same as "препод" for "преподаватель".
Overall, it's often not obvious and seems barely possible to learn them all, unless you really have to, or are exposed to the demanding environment. However, it's quite easy to check when you need this. E.g. Rosental's could be a great reference: http://rozental.gramatik.ru/xxxvi-formy-imen-sushchestvitelnyh/ss-148-rod-nazvaniy-lic-zhenskogo-pola-po-professii-dolzhnosti-i-t-d
I'd also recommend the Yandex translator tool which is far ahead of Google or any other online Ru-En translators I know: https://translate.yandex.ru/?lang=ru-en&text=%D1%83%D1%87%D0%B8%D0%BB%D0%BA%D0%B0 (not affiliated with them anyhow though).
Училка (very informal) is usually used between the students, commonly when they don't like them. It is kind of disrespectful.
Учительница (both formal and informal) is what you are looking for, but let me continue!
Преподаватель (formal) or
Препод (informal) can be used for both male and female.
Педагог (both formal and informal, but more formal) is the exact same as upper.
Согласно словарю Ушакова, да и по практике применения, можно употреблять слово "преподавательница". Звучит весьма внушительно и уважительно.