More Courses!

Well one anyway!

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:-

https://github.com/CullenDevelopment

Advertisement

Paediatric Resuscitation App in Flutter.

You have recently read about how I spent a bit of time studying Flutter and Dart with a free course from Udemy. The first personal project that I have commenced is to convert a medical calculations app that I initially created in Android. It included an app to calculate drug and fluid doses used in paediatric cardiac arrest, a body mass index calculator, a fluid infusion rate calculator, a body surface area calculator (used to calculate drug doses for babies), and two metric unit calculators which work in different ways (volumes and lengths). In it’s original form, the app would only work on Android devices. I wanted to present an app or a series of apps that can be used on both Android and iOS so to recreate them in Flutter would be one way of achieving that.

I decided to convert each part of the original Android app separately and I started with the Paediatric Resuscitation dose calculator.

The Flutter version of my Paediatric Resuscitation Calculator.
The Android version (set in ScrollView).

When children get sick it is often not serious but they can deteriorate very quickly and when they do it is important to recognise the signs and act upon then quickly. Often it is to do with dehydration, sepsis due to infection, a low blood sugar or trauma and the story with which they present may give you clues as to what the problem is. A thorough assessment of the patency of their airway, their work of breathing, their circulation, their level of consciousness and any injuries over the whole of their bodies – correcting problems as you go in this priority order is the way to go – not leaving ‘any stone unturned!’. Hopefully, you can reverse the decline and make the child well again. This is the best outcome. Sick children tend to be very resilient to a point and it is up to this point that you have the best chance of success and this success comes by good assessment as above BUT if that window of opportunity is missed the sick child will ‘crash’ quickly and may even go into cardiac arrest. The calculations made by this app are those taught to Doctors, Nurses and other healthcare professionals in how to deal with very sick children and those who have gone into cardiac arrest. The Resuscitation Council UK and the European Resuscitation Council Paediatric resuscitation courses teach these calculations in the case of Paediatric Cardiac arrest. In practice, paediatric resuscitation teams are calculating these numbers as they chase down the hospital corridors to respond to the emergency but my motivation for writing this particular app was for the paediatric ward nurses and doctors who would be involved with resuscitating the child so that they can be be better prepared with drugs and fluids when the ‘team’ arrives. In my experience of being an instructor on Paediatric Resuscitation courses it seemed to me that whilst the attendees were able to do the calculations, they had to have a refresher about what formulae to use as they were not using them all of the time so if it were used it might save them preparation time and stress.

All of the calculations are based on the child’s age as this is reckoned to provide to most accurate calculations in this situation. Users of this app just type in the child’s age and the app will calculate the child’s (likely) weight, the size of uncuffed endotracheal tube (for those under 8years old), the size of cuffed endotracheal tube (for those 8 and over), how much of a DC electrical shock to give them – measured in joules and based on their calculated weight, how much crystalloid fluid to give as a bolus (isotonic sodium chloride or compound sodium lactate) which can be repeated if necessary, how much adrenaline to give as a bolus (which can be repeated every three to five minutes), how much amiodarone could be given if necessary and how much glucose can be given if necessary for very low blood sugar.

Not all of these calculations will be needed but by the same token some of the calculations would be appropriate for emergency treatment of very sick children, not just those in cardiac arrest. Young children particularly will collapse and even arrest due to low fluid volume – dehydration (due to diarrhoea, vomiting, haemorrhage or severe sepsis – the fluid calculation will be of particular importance), low blood sugar (so the glucose calculation will be important). It is unusual for a young child to suffer from a primary cardiac cause unless they were born with it. With severe dehydration there can be a salt imbalance which can cause cardiac problems. It is with older ‘children’ that a primarily cardiac cause might be suspected as adolescents and young adults can suffer from sudden arrhythmias which can cause collapse and cardiac arrest. This is mainly where the DC Shock and amiodarone calculations come into play most frequently as they are used to correct these arrhythmias. The DC shock is delivered by a defibrillator (in manual mode usually by a medical professional with proven rhythm recognition skills.

It is a bit niche but I think that it could be useful for those less familiar with the calculations but may be called to assist in the ‘resuscitation’ (including fluid resuscitation) of a child in a non-critical care healthcare environment such as a standard children’s ward. Once I finish the whole suite of calculation apps in Flutter, I will consult with a former colleague of mine from when I was a Resuscitation Officer who is Lead Paediatric Officer at my local (large) NHS Trust to see what she thinks about it. I showed her photos of the original Android version and she expressed an interest so we will see. Wish me luck!

For those of you that want to see pictures of Android Studio:-

Until next time, take care and stay safe…..

Practical Java Basics Course with Real-life Examples – Completed

Today I have completed the Practical Java Basics Course with Real-life Examples online course from Udemy. I decided to do it as a bit of revision of the Java that I have been writing as part of my Android Development and also, to see if there was any difference when writing purely Java. The principles are the same, particularly at basic level – it covered:-

  • Setting up your environment (IntelliJ) on Windows, iOS and Linux distributions (Ubuntu specifically).
  • Your first Java program.
  • Variables – both primitive and Object references.
  • Operators, loops, control flow and code blocks.
  • Methods (functions) and arrays – including multi-level arrays.

I found it useful to see how writing Java that wasn’t connected to my Android Development to see if it differed in anyway; I have always written Java with my Android apps in the past. I found that the principles were the same and in many ways it has helped me to put certain concepts in perspective and a little easier to understand. It was definitely worth doing.

I’ll carry on with the Android journey next time. I look forward to seeing you there…