Industrial automation can cover a wide are of concepts and functionality, and as a result a wide variety of languages and systems can be used.
On Ignition HMI side Python (v2.7 not v3, and really Jython as well) would be the best place to start as that is the native scripting language of the HMI. I wouldn’t really bother with Java, as in the Ignition world that is used more for the construction of modules that will be loaded into Ignition, and building such modules is something only a small percentage of automation professionals will ever have a need to build their own custom modules. However if you have students who a very familiar with Java then building a module is more of a standard software development process than an industrial automation one.
Other HMIs that I have used have been scripted with C# and even their own crazy versions of visual basic (I’m looking at you CIMPLICITY!)
On the actual moving equipment side of things, if you are using PLCs (which form the backbone of the majority of industrial automation) then knowledge of the IEC-6113-3 languages and how the whole PLC system works is a necessity. In theory these are standard languages that all PLC manufactures adhere to, however each manufacturer implements these standard languages in their own way and initially you are learning one particular manufactures environment. However once you have mastered one brand, picking up another is fairly easy. In my case the predominant language I work with is Ladder Logic, with a scattering of Structured Text, and even a a bit of Instruction List every now and again.
You also mentioned robotics (which I take to mean Industrial Robotics). I have no real experience in this field but from what I have seen each robot manufacturer seems to implement their own language for programming their own systems. However the languages are fairly simplistic, very similar and and in general have a history related to CNC programing (which is whole other area of industrial programming). However a lot of programming is done by teaching the robot what to do with pendants directly attached to the robot.
And over my career I have also built or interfaced to automation products using C, C++, C#, VB (not VB.net), VBScript, JScript (not JavaScript), Fortran, SQL and HTML/CSS. And made use of multiple brands of database and webservers.
Right now I am slowly building up experience programming in C++11 on an Arduino with the aim of implementing the MQTT protocol on it in order to communicate with Ignition. It’s been a while since I actually used C++ so it’s been interesting!
So there are multiple areas of expertise and languages that you can use. In fact I’d say that every language/system has been used for industrial automation. In my opinion the key thing is keeping an open mind and being flexible in how you approach your solution, as what works for one project won’t work for another.