Welcome to part 3 of how I learned programming. In my last post, I wrote about how I learned C# in university in Austria. You can find this post here.
In this post, I will talk about studying in Canada and the differences to Austria.
I went to Canada for two semesters. There I had Java, C++, Assembly Language and Algorithm and data structures classes. Assembly was nice to see but honestly, I didn’t need to have it the whole semester. On the other side, you learn to value the simplicity of high languages like C# or Java. In the algodat class, I had to implement different kinds of sorting algorithm and also build my own stack, queue and list.
The interesting classes were Java and C#. It was interesting to see how other programming languages feel like and how pointers in C++ work. The most mind-blowing part about studying in Canada was how teachers and tutors supported the students. I didn’t expect that at all and taught me a great deal on how to teach others.
A huge difference between my Java class and the previous C# class was the length of the class. In my last post, I told you that my C# class was for 7 hours straight. The Java class was twice a week and only 1.5 hours long. It makes such a big difference when learning new stuff. After the seven hour-class, sometimes I couldn’t remember anything about my way home, although I drove home. With this short classes, you still learn a lot but not too much which would overwhelm you.
Additionally, to the theoretical class, there was a 1.5-hour lab once a week. We were between 10 and 12 students with one professor and one tutor. We got a small assignment which we had to solve during the lab. The big difference to my lab in Austria was that the teacher did actually help you. If you had a question he came over and explained it to you and also gave hints on how to solve the problem if you got stuck. This was just mind-blowing for me. The tasks were pretty easy for me but it showed me that teachers actually can be useful.
Every week we got some assignments. Usually around five small problems to solve. After handing them in, I had to see the tutor and explain my programs to him. Then he asked me some questions about my implementation. In this conversation, I learned probably as much as while doing the assignment. This was another wow effect for me. I think that these experiences impressed me so much that I still follow them when I teach someone or even when I help colleagues with a problem.
The C++ class was similar to the Java one. The class was twice a week for 1.5 hours. There was no lab for this class and therefore the assignments were a bit longer. I also had not to show my assignments to a tutor. A big (and nice) difference to Austria was the exam. The exam was on the computer and we had to solve some small assignments. We were allowed to use every source of information we wanted. Such an environment makes it way more realistic to a working situation. If you don’t know anything at work you just google it.
That’s it with my story about studying in Canada. If you have the chance, I highly recommend you to study abroad. In the next chapter, I will talk about how I got into web development and how I taught my self new stuff.
Next: Part 4
Previous: Part 2