I had planned to be well ahead by now but moving apartments put a stop to that. As it is, I have managed to get through to the end of week 2 and have the first ICMA (computer marked assignment) nearly completed. So far I have answered 4 questions correctly and one question that needed a second go. As I have to score 30% in five of the seven ICMAs I am quite pleased.
First reactions? Well, the Python bits are easy. Programming is what I do and the course is well presented through the iPython notebooks. I have had a few issues with data paths and, although I seem to have problems that others aren't getting, I am able to work my way around them. I don't seem to be able to make a CSV/JSON combination that works with CSVLint. My JSON description file won't be recognised by CSVLint. I have tried getting it through JSONLint but I can't even do that. So, that is in abeyance for now. I am having more difficulty with the theoretical parts but then I always thought that I would. It is, after all, 35 years since I have done any studying and my arthritis gives me issues with concentration. Funnily enough, I have no problem concentrating when I am coding. I think that I regard issues there as opportunities rather than as problems and I can keep going. Reading theoretical descriptions - I don't find that as gripping - so I have to work harder at it.
Reading the course description of databases has caused me to go back and think about the databases that I have worked with over the years. It is quite an interesting list.
- Linked Lists - I wrote my first database software back in 1980 when I created a Trading Room Front Office package using North Star Basic on a NS Horizon. For this, I wrote software for a series of linked lists that held transactions, exchange rates, dates, etc. all with an active re-use of deleted data spaces. The main problem with this was the fixed data widths.
- More Linked Lists. When I retired from the City and started my own software company we switched to UCSD Pascal and a complete re-write of the system. The product was called "Integrated Dealer Support System" (IDSS). To ensure that the database was robust, I got a guy called Mark Woodman to write the linked list code for me. At the time, he was an Open University lecturer (he is now a Professor at Middlesex University).
- In 1990, I switched to Visual Smalltalk (VSE) from Digitalk. With this, I wrote a Barrister support package based firstly on VOSS from LogicArts and then using Tensegrity from Polymorphic. These are/were Object Oriented Databases (OODB) that were integrated into the Smalltalk environment. I went on to incorporate Tensegrity into my Smalltalk based Trading System which was called Powerdesk Trader.
- In later years, I have mostly written software for my own use. Between 2004 and 2012, I owned and ran a shop with my wife and daughter. This shop had a very active web site which, eventually when we closed the physical shop, became our main means of transacting business. The web software was based around a database of my own devising. Built using IBM's (latterly Instantiations) Visual Age Smaltalk - VAST - this utilised the built-in high speed directory system within Windows by having individual directories for all of the main database elements - products, users, sales, etc. Within these directories I used VASTs own object dumper and loader mechanisms to save the various objects directly into their relevant directories with the file names providing the indexing. This worked remarkably well with the performance of the web site matching that of those with much more sophisticated (and expensive) systems.
- More recently, I have been building a freight car routing system for my US Outline model railroad. This utilises CSV files for its data. This option allows me to make changes to the data without having to write a lot of data management screens. For instance,when I purchase a new freight car, I can pull up the cars.csv file and add the new details within Excel.
- Finally, my serious programming has been for a US based insurance company where I my most recent project was to develop a insurance premium calculator based on normalising risk data for the clients. This gets its data from an MS SqlServer RDBMS.
Wow, that's a lot of variation through the years. It will be interesting to see how I really do cope with all the theoretical stuff, given that I have spent 35 years playing with all of the above!