On the second week of the Sparta global training programming I was introduced to SQL (structured Query Language). In this week I learned the basics all the way up to intermediate functionalities of SQL including creating reading, updating and modify tables within a database.
As a means to consolidate my knowledge and in order to showcase what I have learned practically, I was tasked with generating a report that required me to query the northwind database in order retrieve information which could then be packaged to show an end user.
I approached the task by firstly pseudo coding all the relevant queries within azure data studio to ensure that I can quickly and accurately Query the northwind database while minimising the potential of retrieving the wrong information. Once I had a basic outline of the queries - I began working through them systematically ensuring complete accuracy in my work. Once all the information was retrieved, I began working on the second iteration which was transforming the data into a user-friendly report that could be consumed by individuals who require the information elsewhere. I did so by using the taking advantage of the azure database plugins which allowed me to create powerfully informative graphs within seconds.
As a consequence of approaching the task iteratively, I was able to create a professional report that had the most up to date and accurate information ready to be used. The entire process taught me the value of employing my creativity as well technical skills as the raw output of first iteration may not have been appropriate to pass on to a final user. However, knowing that the first iteration contained only the most accurate information allowed me to focus on making it more visually presentable for second iteration. This meant that I could efficiently retrieve and present the data within time and score highly on the project.
Going into week three of the spartaglobal training I was introduced to object-orientated programming in the form of python. Having very limited prior exposure to python I knew the following weeks were going to be a significant learning curve.
In order to keep up with the pace of the lessons and to make sure I solidify my knowledge on topics we have had already gone through. I took it upon myself to create an action plan that enabled me to keep learning effectively. I enlisted the help of a book called automate the boring stuff which focused specifically on python and gives the reader a thorough understanding of python's basic syntax across.
Enlisting the aid of a book meant that I was able to go through many examples and tutorials as is the nature with learning programming it is important to embedded the knowledge via doing so that you build a solid exposure to different elements of coding. Going through the book meant I had a very good reference of everything we had learned and more which enabled me to grow in confidence when doing my own coding.
As a result of perserving for many hours after class and going above and beyond what is expected of me, I completed all the python projects with relative which includes creating a calculator both functionally and with OOP as well as creating my own programming which uses an API call to retrieve data on football matches on that day.
As part of our python week project, my team and I were tasked with creating a fully fledge airport user interface that can undertake some typical airport staff functionalities.
The Task was to have a fully functioning user interface by the end of the time-boxed event and ensuring the task met the definition of done.
To implement these functionalities required the use of SQL alongside python. unfortunately the use of sql came as a challenge as the connection to the database was more often than not down and therefore a lot of the time our program errors. as means to overcome this issue, the team and myself constructed a recursive function that would constantly look for a connection to the database without timing out. to add an additional layer of protection we wrote the information into a text.file so that we two copies of the data should the program face issues with passing the data through to sql.
this culminated in a program running much safe and ensured we protected the data, all while improving the user's interaction with the program.
In order to fully experience the development process it was essential that as developers on the airport project we accounted for testing within the development environment. Eventhough, my exposure to testing was very limited at this stage, I still knew it was imperative to have a testing framework in place.
As a team we tasked ourselves to have unit testing in place where possible to ensure a minimum level of testing was implemented.
As I was responsible for the constructing the user interface for our airport application, It was important that unit testing was employed at a micro level because I wanted to be confident that functionalities that I created and added worked as expected. In order to do this I would systematically test functions and as I created them so as to be sure their functioning correctly. The main tool I used the packages of unittest and pytest in python to help me assert the behaviour or state of my functions and see if the outcome is what is expected.
Alongside unit testing I was also responsible for integration testing for the airport project. Integration testing in this case refers to testing the application after multiple constitutuent modules are combined and tested as a group. this was especially important during the project as the nature of the project meant the different developers were working on different aspects of the application and therefore at some point all of these different parts needed to be placed together and tested. I ensured there was enough time before the deadline to test all the moving parts of the project which was beneficial as we came to find that one particular aspect of the project - the reassignment of planes operator was not working as we expected. with the contingency time I accounted for we managed to resolve this issue quickly and effectively and got that particular functionality working.
as a results of employing a testing framework the team and I managed to complete the whole project working effectively and within the deadline.