Tracking My Progress With The Data Science Marathon (Week 1).
Published: 2022-03-31 21:19:13

This is going to be my new norm - articulating every experience I gain in tech to help me track my progress and map out my thought process.
I earlier on applied for a program entitled " *The Data Science and Machine learning Marathon*" offered by [Data Science East Africa](https://twitter.com/DSEAfrica) and [Lux Tech Academy](https://twitter.com/lux_academy). Luckily, I was accepted and enrolled into the ten- day program which begun on 28th March 2022.
It's been a worthy marathon as we (The participants) have gotten to learn, unlearn and relearn which is the basic cycle of education. So far I've gotten to learn new ways, unlearn the myths and outdated facts then relearn the updates and that which I may have forgotten. The experience is amazing I tell you.
True to the title, it has been a herculean task trying to compress several months work into ten days with one thing in mind, diligence, because I was determined to do one thing - *get it right*. 
So now I'm at day 4 and here's the breakdown of all the activities undertaken so far.

#### Monday
This was our first day and my excitement and energy was unmatched. We interacted via Slack, where I met my new pals from different countries and that meant something to me - diversity. (These fellows form very good accountability partners).
It was beginner friendly and didn't quite pose a challenge to me since I was past that stage but one thing was quite outstanding; despite being an introductory phase, I still came across something new in learning Git to be precise.
So Day 1 was all about:
1. Introduction to Python, Mastering Python basics.
2. Notebooks and anaconda interaction.
3. Version Control Systems, Git, GitHub, BitBucket, GitLab etc.

#### Tuesday
Day 2 was all about databases. I dived deep into SQL which has always been my preference for a long time and more interestingly got introduced to Postgres and MongoDb which broadened my view of databases and was accompanied by this piece [How To Choose An Efficient Storage For Data.](https://dev.to/seniorcitizen/how-to-choose-an-efficient-storage-for-data-1nfk)

#### Wednesday
Day 3 was all about the data science basic packages i.e Pandas, NumPy, Matplotlib and Seaborn.
These are the frequently used packages when manipulating data.
* NumPy - is a python library used to perform mathematical operations on arrays and matrices. 

* Pandas - is a python library mainly used for data analysis and associated manipulation of tabular data in Dataframes. Pandas allows importing data from various file formats such as comma-separated values, JSON, Parquet, SQL database tables or queries, and Microsoft Excel. For more information visit [LOADING DATA FOR PROCESSING IN PYTHON...](https://dev.to/seniorcitizen/loading-data-for-processing-in-python-22jb)

* Matlotlib - is a comprehensive python library for creating static, animated, and interactive visualizations in Python.

* Seaborn - Is built on top of matplotlib and integrates closely with pandas data structures to make statistical graphics in Python. Seaborn aids in exploration and understanding of the data at hand.

#### Thursday
For Day 4, I handle something entirely new to me and that is the pyforest package.
The pyforest package is an open-source module that helps users to automatically import the packages required for Data Science analysis jobs and building Machine Learning algorithms. For this reason, it's said to be helpful to a lazy programmer. (At this point I am that lazy programmer because I really liked it 😁😁.

I also learned how to connect Python to MySQL and access my database using python scripts. This is so cool.
Below is a sample script for the process.
```
import mysql.connector

mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    password="*******",
    database="boatsdb",
    port = 3306
)
print("Hey, i think i'm connected")
#Cursor
cur = mydb.cursor()
#Execute the query
cur.execute("SELECT ID,NAME FROM boats where name = %s", ("Nathan",))

rows = cur.fetchall()

for r in rows:
    print(f" ID ={r[0]} NAME = {r[1]} ")

#Close the cursor
cur.close()
#Close the connection
mydb.close()
```
#### Friday
Day 5 was all about documenting the work done. As you know one fine way of testing mastery is either through teaching or writing. So I chose the writing way and this was the result:
[The Ultimate Guide to Getting Started in Data Science.](https://dev.to/seniorcitizen/the-ultimate-guide-to-getting-started-in-data-science-n26)

Almost coming to the end of the week and awaiting to tackle what the program has for me. My greatest appreciation goes to [Mbaabu Harun Mwendwa](https://www.linkedin.com/in/mbaabu-harun-mwenda-8a89ab174/?originalSubdomain=ke) who is the mastermind of this program and a hearty appreciations to my readers with whom I'm able to share my progress.

Hope you have a great and fruitful day! 👋 🌱

For any errors observed in this article, please mention them in the comments. 🧑🏻‍💻