I attended Computer Science Academy Africa 2022, hosted by Sofiat Olaosebikan and her wonderful team at NitHub, UNILAG and this is what I learned.
At first, while I was applying and saw the option asking about your University, I thought I wonât be selected (Iâm already graduated). I filled it anyway and forgot about it until⊠well, I received the Congratulations email.
There were a lot of promises made to participants that I was so eager to attend. Free lunch, accommodation and three weeks of constant drills in python, data structures, machine learning and IoT plus an opportunity to meet undergrads and grads alike. That sounds like a lot but the experience was worth it.
Why was I there?
There is something I always believed about having enough information to get you ahead. And the need to connect with people going your way (on the same journey as you). CSA Africa was an avenue for me to explore programming beyond the confines of me and online tutorials. It was a means to learn and connect with people (beginners and experienced alike) in the tech space, meet amazing roomies I made friends out of and another I found a tech co-founder in â just kidding.
Well, I met people who were good at what they do. Those who were in other walks of life but understood the use of programming in their future ambitions. I also met people who think far into the future and needed help grabbing that future by its horn.
Further programming experience.
Our first day at CSAA was an awesomely scary experience that it made me question if I ever learnt to actually program in Python. Unfortunately not. I trained mostly using videos, and textbooks and hearing Stephen speak of recursion and memoisation made me realise that there is a lot I have to learn to fully equip my Python toolbox for what is coming.
During our first class on recursion, I recalled my very first task at work which involved a deeply nested JSON dictionary. I found it difficult untangling it and although a friend helped with some parts of it, I now realised recursion/mnemonic is best suited to such problems.
The first week of CSA Africa took us through different further programming tasks in Python. Haven refreshed our memories on the basics (lists, dictionaries, slicing and more) we dived into recursions, memoisation and functional programming (lambda, map, reduce and filter).
Up until now, I have written progrmas around functions. You know, block of statements which manipulate data. This is what is called procedural programming. At CSA Africa, we went further into object-oriented programming (OOP). It involves combining data and functionality and wrapping it using classes and objects. (Here are their differences)
The Machine Learning Experience
My first attempt to do machine learning with just Numpy and no Pandas was at CSA. It was frustrating at first but then, it was an experience I really enjoyed. And when you think that was all there is, we had to implement the KNN and KMeans algorithms from scratch. Besides, learning about classification, regression and clustering algorithms, we also learned to evaluate our model outputs.
Projects
I had a wonderful group. Although starting off was challenging, we found a way to kick-off and get the project going. We settled for a laptop price prediction project. (Original dataset here).
Given the dataset with several attributes, we performed several cleaning operations on it (see the cleaned version here) and then built a machine learning model to predict the price of laptops.
The project isnât grandiose, but we learnt what we needed to while executing it.
We didnât change the world, but we took a step further into changing the world.
Our team lead (@tife)
stayed up till 1:00 am trying to perfect our PowerPoint presentation. He confessed to learning a lot from that experience. Maradeben
, was busy trying different models, even after we have saved our models to file, looking to improve our model from 89% accuracy score to 90-something. He succeeded in getting to 98% (although we didnât end up using it due to technical constraints of his implementation). Omotayo
was there trying to grasp the whole concept of ML (he will catch-up soon). And here I am, sharing the experience with you. I had exposure to ML, so I took it further to get the team to implement a FastAPI backend for our project.
You can checkout our project files here.
I can go ahead and tell you about other groups, from implementing algorithms based on stable marriage (e shock you ba?) to seeing the beginners class build amazing stuffs using Python and Tkinter.
Overall Experience
In the end, if you ask me, âHow was CSA Academy 2022 bootcamp?â Ok. I should probably rephrase that question to the way Dr. Olumuyiwa puts it, âMinus the food, how was the CSAA 2022 bootcamp?â. đ
I would, without further ado say, âit was amazing.â
It was an inclusive experience that ensured you learnt something within the short duration we all spent together. I know, right?
A close pal during the bootcamp would say UNILAG likes PR but⊠so far as we were properly accommodated during the CSAA event, wetin concern me and your intentions.
The hostel experience was nice with enough electricity and water to justify the reasons we left our homes for the provided accommodation. I donât know about everyone else but I opted for accommodation for several reasons. One of which was to avoid the everyday Lagos stress as I commute between the Bootcamp and my house; I know I wonât learn enough. I also needed to connect with other learners, which wonât be possible if I were stuck trying to rush home after each day. Electricity can be unfavourable in my area, so letâs not go there.
Next Steps
As CSA Academy 2022 has come to an end, a couple of things and further steps are clear to me:
-
To improve further my Python programming skills bearing in mind the tools introduced to me. I also got a glimpse of data structures and algorithms since my roomies were in that track. This is something I would also explore further, especially the time and space complexity problem.
-
I got a renewed energy to deep dive into my machine learning studies; with respect to the theoretical aspects of things. Why do you choose this model over that? How do you explain what your model is doing to a lay person? I believe that is the beginning of building and working with explainable machine learning models.
-
Truly, getting out to meet people helps you understand others and most especially, you. I met wonderful people and connected with a few of them. People are going through different things. Everyone simply devises a way to cope with the challenges of growing up to become a meaningful human. No oneâs got it worse, you just have it in a different measure.
-
Aside from the seriousness, CSAA has set a very high standard for other bootcamps I would be attending in the future. They understood and showed that the comfort of a learner is as important as the actual learning.
-
But then, we have every little opportunity to influence people within our sphere. I plan to do that henceforth.
Thank you CSA Africa, and a big one to NitHub for being so awesome.
To the friends and acquaintances I made during these few weeks and to those I never got to meet, better days ahead.
P.S: âLove and legacy are the sacrifices we make for progress.â âïž
Image source: CSA Africa on Twitter