Those of you who have come across this page before may have read about my Android course with Udacity, my Flutter course with Udemy and the Analogue Electronics course, again with Udemy. Well now I have reached new heights – well it was certainly the longest and most difficult course to date. I have just finished a course in C++ development with Udemy.
I have wanted to complete a “C” based course for some time. I have read several books about the C language and typed along with the examples in the book. My belief was and still is that if I was to learn a “C” based language, it would help me to better understand what is going on under the “hood” since many of the higher level languages are based on C and many of the libraries are written in C or C++. I thought that I would get a better understanding of some of the error messages and so I would gain a “deeper understanding” – I hoped. I found C on it’s own a little limiting so when I found what appeared to be quite a comprehensive C++ course on Udemy, I decided to sign up for it.
I began in early December 2022 and preceeded to plod through it. Christmas happened so I put it to one side for a little while and picked it up in earnest by mid-January. It was 46 hours of lecture videos, which is by far the longest Udemy course that I have signed up for but of course, it takes a lot longer than that when you have coding challenges, quizzes and having to watch the videos several times to be able to grasp the concepts – I am sure that many people have to do that – or perhaps it’s just me but the point is, grasp those concepts I did and I finally completed on the 20th February 2023. I am proud because I feel that I have come a long way. Not only have I gained an understanding of C++ which will come in useful for development of C++ programs. C++ is generally the language of micro-controllers like Arduino, so I’ll be able to have a go at programming them. This course will also come in useful when writing the Java for my Android stuff (The back end is written in Java in my apps ‘cos I’m old school – I was taught Android apps with Java – I might get around to Kotlin at some point) and It will help me if I want to have a serious attempt at learning Python.
All that I have to do now is get some practice writing programs in all of these development languages – I promise that there is method in my madness – I like to think that there is a pattern to my progress.
I haven’t put any C++ programs on my GitHub page but if you are interested in what I have done with Android and Flutter, please follow this link:-
I know, I have been away a little while but I have been learning new things. I have produced a few prototype apps since my graduation from the Udacity and Google Android Basics Nanodegree (that I have yet to tell you about) but one problem that I face is that they only work on one mobile platform – Android. I bumped into an old colleague of mine from my nursing days; she was a “Matron” and a lot of her work involved filling paper forms and then manually sending them in various directions, most of them digital. Together we came up with an idea for an app to help to automate the process which would save time and effort in her very busy day. I went away to start to design something suitable when I hit a major snag. I develop Android and the hospital trust where she worked issued Apple phones using iOS. It made me think and my solution for the future was that I would have to learn to develop apps for Apple devices too because I was going to hit this roadblock every time with any apps that I created. I wasn’t quite sure where to start. Too much time passed between my conversation with my ex-colleague and the opportunity passed for that project but there would be other times when I hit a similar problem so I was going to have to tackle it.
My initial course of action was to research how to create iOS apps and I found that I would have to look at Objective C, X Code and Swift with a nod towards OS X as well. The code should be similar to what I had become used to being C based languages like the Java that I have been developing my Android apps with. I figured that if I was to make my apps available to everyone I would have to cover Android and iOS (and possibly OS X). It was going to take some time to achieve.
I have had my (Photography) Instagram account for many years and initially I started to share my apps on that account but they were about as popular as a Rattle Snake in a lucky dip – very little response from my established followers who were really there to see my photographs. I opened a new Instagram account based on my Software Development exploits to discuss and share items related to that. One of the growing trends was Flutter – lots and lots of people were talking about it and saying that they were developing apps using it. I investigated and found that it could be very useful to me in overcoming my “problem”.
In case you are not familiar with it, Flutter – developed by Google, enables app developers to create apps once which can be suitable for both iOS and Android. It is not a perfect solution, some apps don’t do so well with it and I understand that it is a bit less swift on end user devices but I could put it to good use for most if not all of my simple offerings. Another piece of fortune; one of my new followers has a website that publishes vouchers for Udemy courses which are available for limited periods. I have taken advantage of this twice now; firstly for the Java course that I recently completed and then another which the trainers called “30 days of Flutter” which was 10 hours of video tuition about building Android and iOS apps using Flutter and Dart. The two work together but Flutter largely related to the User Experience/User Interface part and the Dart is the “doing” parts – where the number crunching goes on and it is written in .dart files.
I completed the course on the evening of the 17th of April 2021 and I am looking forward to adapting some of my Android apps and creating new ones using Flutter and Dart.
I still intend to learn how to code “Native” iOS apps but at least I can get some cross-platform apps out in the meantime.