I have recently finished Matriculation and currently trying to build up certain skills I think will be useful. I have applied for university and one of the courses I am looking at is mechatronics. I was wondering if anyone had information on what programming languages to learn and where I could learn them (hopefully in a form that best fits a busy schedule and allows for me to pause and resume learning at my choice such as a video series on YouTube or something).
Octave(free and open source) and Matlab(commercial and paid) are languages that are helpful in designing and analyzing control systems.
They both have scripting and modeling capabilities.
Also, there are several tutorials, sample scripts, and free lecture notes for them.
C++, Java or python could also be useful. But for engineering purposes, the simplicity of Matlab (or Octave) is a great advantage, compared to the learning curve of languages, i.e. visualization methods, finding and installing toolboxes etc for the programming languages.
In my experience programming is something you can teach yourself from books etc very well, certainly well enough to get a good grounding in preparation for a course.
I taught myself C++ from a book designed for self learning and I found the learning curve to be not too difficult. I'm certainly not a particularly skilled programmer but it was enough to put together basic control software. I'm not sure how useful videos would be as it's not really a very visual skill. A lot of it is looking up specific ways to do specific tasks and getting familiar with the rules and terminology of your chosen language.
As mentioned in the comments it is also sensible to look at control systems and feedback which involves some mathematics which is not especially hard but not immediately intuitive either at first and it can take a while to get a grasp of the relationship between the theory and practical applications. Here even the most basic practical experimentation is hugely useful as being able to see the relationship between the functions and variables and the actual physical response is invaluable.
It is also worth looking at the nuts and bolts of how software and hardware communicate and interface with each other ie how you turn the output from a programme to a control signal.