Talk about training program
I attended many training programs before: ASP, .NET, J2EE. DB2. windows Adm, DBA Adm.........., and got many certificates to proof that I finished all of those courses. In fact, I do not think that I learned much from those one week, two weeks intensive trainings. I still did not understand many of them.
I did learn a lot at my actual works. I think the best way to learn IT would be on-job training.
It is hard to learn a thing when you are not doing it. Maybe you can try to do some real projects?