Here the fact that I was expelled helped a lot - besides being a significant turning in my life that prompted me to rethink my decisions and views, it also left me no choice except for studying programming in my own if I wished to study it. Moreover, I had a lot of time as well as freedom to chose what to study and how to do it. Because of knowing that C and C++ languages are very popular and powerful and having some basic experience with them I didn't try to learn any other language - instead I decided to get closer to what I considered real programs via producing a component present in most applications that I used myself - the Graphical User Interface or GUI. The rightness of such a decision may be questioned, but for me it turned out to be an extremely valuable one and helped significantly in future. For that purpose I bought a book on Win32API programming. Actually I could have chosen any other much easier way to produce GUIs and Windows applications, but mainly do to the lack of insight I have picked a very low-level toolset bearing a huge amount of complexity and details and requiring a lot of efforts to explore them at least paritally. Besides that, the choice let me stay in the domain of low-level C and C++ languages - I could have left these before developing even the minor understanding of the concepts upon which C++ programming is based, should I chose some other tools like .NET that time. Later my experience with WinAPI helped with consuming different APIs - after using WinAPI cyclope most APIs seem rather simple and convenient - as well as provided some insight into the structure of operating systems. Although, I don't think that these things are the most important results of my attempts to use WinAPI.
The most important about my attempts to create this simple game were not programming and GUI building themselves, but the experience of creating rather complex thing guided by the rules that I had imposed on it and capable of interacting with me. I suppose that these two factors - namely, the complexity and the user interaction features - are of great importance when one learns how to create software. It is usual to study programming (as well as everything else) via doing numerous relatively simple tasks - and that's OK - but, from my point of view, it is also important to jump to something solid and complex as soon as one feels accustomed to key features and concepts of programming. Real things do consist of simple components, although usually the complexity of relations and interactions between the components is what makes the whole piece real. As for user interactions, these combined with complexity make programs look alive and that pays a lot to the creator. Note that I don't mean a GUI is required for making software interact with user - such an ability may also be delivered by means of simple console input and output - I merely state that it is reasonable to try to make your program capable of "speaking" to it's user, of paying attention to his actions. The experience of creating a program possessing these qualities of being moderately complex and able to more or less vividly interact with something beyond it's boundaries may be the thing that made me truly love programming.
As I have noted, studying C# and attaining the meetings of our programmers club allowed me to notice the availability of various great programming languages and moreover made me consider trying some of these. This way before leaving to a month-long vacation on Cyprus last August I had downloaded python interpreter to the laptop that I carried there. The reason for choosing python as the next language to explore was usual - I've heard a lot about it: python is a very popular programming language and praticularly it is popular among the members of our club. Besides that, this language is deemed simple for studying, so it seemed a perfect candidate for injecting a slight measure of programming into my long vacation - I somehow felt that I need a possibility to have some rest from sea, beach, pubs, English classes and all other pleasant things that awaited me in the Mediterranean. The way that I have chosen to explore the new language was also quite common - a simple task hardly bearing any significant purpose though allowing to get familiar with basic features of python was set and I started doing it with the help of the language documentation. The only unusual thing about my first dive into python as compared to my first steps in other languages was the fact that I studied it on the balcony of my hotel-suit in Limassol after lunch and before a visit to the beach in evening. As for python itself, I had truly fallen in love with it and used it for solving almost every programming task in university during the next two semesters as well as for some other problems.