I was asked by Peter Bindels (@dascandy) to share with community my experience while learning C++.
A bit of background about me, I am geek and I love technology, for over 20 years I am working in IT industry mainly in IT support and maintenance. I always enjoyed anything with tech, but when comes to software development I got cold feet. I taught its was to difficult and never really tried. That was until January 2016 when I found about Arduino. I started to create small projects such as alarm clock, temperature & humidity sensor etc. During this I realized that my coding skills are really bad and I should do something about that.
After bit of research I found that Arduino IDE uses simplified version of C/C++ so I made my mind that it would be great to learn one of this and its easy to guess I have chosen C++. Apart from that C++ is my 1st and so far the only language. 🙂
At start I didn’t want to invest to much money as I was worried I would lose interest and gave up in a month of two, so I tried to spend as little as possible at the start. I looked on line for courses and found wonderful website Udemy.com On that site the great thing is that you can buy courses at greatly discounted rates, Udemy frequently offer massive discounts were £200 course could be on sale for just £10. After bit of research I have found one course that I liked and it was course by Arkadiusz Wlodarczyk you can find his course here
Course covers large part of material that can get any new person busy, it took me 7-8 months to complete this course. So far this is the only course that provides you with exercises (at least one that I came across) and this is major benefit as when learning new things we very quickly forget if we don’t put our new knowledge to a test.
So doing as many exercises as you can is one of the key ingredients to progress. Additionally what I did is to type from scratch all examples from videos as Arek would show them. This way I had opportunity to try and experiment with code and learn more about my IDE, if I had any question I could simply try it out then and there.
Learning this way was slow but it helped me to understand better basics that later benefited me with easier grasp of more complex part of language.
Finally Arek as a tutor is amazing, it was very prompt and answered all question and trust me I had a lot. He would answer even at most odd hours, when I was learning late on Sunday evening I got his reply within few minutes. Of course Arek will not be able to answer everyone question at wired times and dates (he is only human) but I found him very good and from watching how quickly he answered other people questions I think he does amazing job!
After few months I decided I want to learn more, subject was really interesting and I wanted to get more serious about this. So I researched some local courses in London.
In short I have found few courses and I will share my feedback about this I tried. In general there is very few on site courses where you can go and meet other people in same position as you. Most of the resources you will find this days is on the Internet.
On site courses in London
1. Kensington College – course run by Ed Robinson – as this is a course that you have to attend on site (near Paddington station) it cost was much higher then any on line course. Listed price is is around £400 – £600 for 10 weeks course and you will have to buy book on your own with cost around £50. Ed is experienced developer but the form of course does leave a lot to wish for. In short its very compact. If you want to cover whole range C++ having 3 hours once a week is not enough, if I didn’t cover a lot of material before I would really struggle. The biggest positive outcome for me from that course was book that Ed use as base for his classes. Its old book that shows C++98 but so far that is the best explanations I got from all other books I came across.
2. City University – C/C++ – Object-Oriented Programming Using C++ Part 2 this course is run by Peter Woodward, I was planning to attend this course but so far I didn’t got time to do it. Its a bit cheaper then course from Kensington College but it slightly shorter it takes 10 weeks but each session is I think 2 hours. This course have two main features first if you finish this one you will get certificate from really well recognized University. However, shorter classes might provide tricky as I felt that the other course was to short, another issue which might be a factor is that this course is made of 2 parts where 1st part is about C, after talking to Peter my understanding is you could skip first part if you don’t want to learn C and go straight to the 2nd part. Cost for this course is £490 and its run 2-3 a year.
My understanding is that Peter covers C++11 with this course and limitation is what equipment can be provided by university.
Maybe if City University wants more in depth review they could sponsor this for me? 🙂
After completing Ed course I didn’t want to stop and I knew I need more exercises and more experience so I started to look around for further resources where I could learn more.
At that I came across super amazing weekly podcast, that talks about all C++ related stuff. This podcast is hosted by Rob Irving and Jason Turner. Head to their website for latest episode or check their extensive back catalog. www.cppcast.com.
Not only they are great they are so far the only podcast about C++. I really enjoy listening to their podcast as it covers variety of topics, sometimes subject might be to advanced for me but at the end I will at least hear what is new.
My 2nd most favorite podcast is hosted by 2 super funny guys Will Gunt and BJ Burns. Listening to this duo is like being with really good friends, they have amazing attitude, they are very funny and share tons of really interesting information about life as developer. So this way you can get better idea what does modern wizards of Oz do during their days at work. What more they do this in very interesting way. So head on to their website or acast.com or whatever you use to listen to podcast and subscribe 🙂
a bit later I will cover more resources I have found and please share your experience and join us for our weekly meetings 🙂