Let me go into details.
Autoamed trading - and that is where you go for obviously - rewquires two things.
First, you must be able to trade, systematically for a profit. Not every trader can do that. THe problem is not so much the profit part - but there are quire many prop traders that can not auotmated what they do. Unless you have strict rules you can not program them, and soem are easy, some very hard to program.
Second, you must program. And that is complex because automated trading is about money. Write an email program and it makes a small mistake - well, who cares. But your automated trading will crash or make mistakes and a lot of details in trading can be quite complex (in flight executions of orders). The moment you get there - depending how much you rely on a framework like for example NinjaTrader or realize it is utter crap and do it yourself - you have a LOT of things to take care of, Perfectly, or loose money. Order handling in itself is quite complex if you cater for all possible issues (network connectivity, timing etc.) _ I know a person trading C' automated in NInja and his order handling code is about 1500 lines.
For both, sorry, two univeristy courses won't help you. To pe proficient in programming you should know at least 3 not related programming langauges (so you can mentally process why languages are designed in particular ways). Unrelated may be for example C# (java, C++ type of school), F# (.NET based functional language, or any other functional - not procedural langauge) and tsome always good and trusty Assembler (so you know how a computer works - the amount of ignorance of todays programmers generally is astonishing). Add some SQL to it for data manipulation and soem solid understanding of RDBMS and welcome to years of learning. SOme solid networking knowledge may also be in order - trading really is something that is network based on a lower level than most things, but that can be done in a weekend if you are not stupid.
And yes, you WILL use RDBMS - unless you do not want to do any tracking and analysis of trades. If you plan to do backtesting / optimization and plan to do that in a larger scale - the nreally solid RDBMS knowledge is required. We easily talk large databases here. As my own backtesting database just gets a little full, I have shut down my backtests for the weekend and am cleaning up the database - and we talk of 4.6 BILLION trades that are stored there at the moment, ith 5.2 billion exections (and yes, the way I record it I ahve tons of trades with no executions - I Record position intend, i.e. when a trae is attempted to open, not only when it gets executed - in some strats many trades never get a position).
Not saying you can nto do it, just - those two courses are a fundament. The OO course (Object Oriented Programming) will NOT make you someone who knows how to do object oriented programming - that takes, making it properly - more time. THer eare lways tradeffs that must be evaluated and how can you evaluate them without a solid history of decisions and having seen things? But they give you a basis.
Just never say you are good at programming after this level of courses. This is the Dunning-Kruger-Effect in full force - so incompetent you do not see the incompetence.
If I wre you I would focus on the trading side - all IT won't help if you can not trade money into the account in the first place. And focus on strategies that can be automated - i.e. as little discretionary as possible.