Term 1 | Week 2 | Kibo Computer Science Degree | My Journal

  $ ./kibo_term1_week2.sh
  @kiboschool, Loading Victor Ohachor journal...
  Preparing content stacks...
  Preparation complete!

  Activating the writing genie in me...
  Writing genie activated!

  Content loading...
  Are you ready? (yes|no): yes
  Let's go, comrade!

This is my first article on this platform and I am so honored to have you read it. I promise never to leave you bored. Bored? My conscience's constitution forbids that word!

I am sorry I didn't give you any insight into my week 1 experience but I can assure you that it was a fun and challenging experience. If you are curious, you could check out these posts on LinkedIn:

PROLOGUE

Kibo School has been the best thing that happened to me this year.

Some months ago, I desperately searched for an online university that offered a computer science bachelor's degree with a top-notch quality education. This was due to my frustration as a Nigerian, who had lost hope in the system of education in my country. As an average Nigerian, I couldn't afford many of the expensive online universities I came across. Many of them offered partial scholarships but they were still relatively expensive to me after the scholarship's percentage was deducted from the tuition fees.

After surfing the internet some more, I came across Kibo School. At first, I (honestly) was reluctant to complete the application process, but after flipping through every webpage on the website, I found out I had fallen in love. The mission. The vision. The curriculum. The culture. And not to forget the tuition cost! It was the best version of the ideal university I have always pictured in my mind.

Here I am today. Just two weeks into the program and I have been challenged by the courses but have also grown in knowledge and skills.

Two weeks? You must be exaggerating!

Yeah, I am exaggerating. I meant three weeks: the orientation week + 2 weeks 😉.

For this term — the term that kickstarted our learning journey with Kibo — we were "punched in the face" by 4 courses. These courses are very important to me because they are so intertwined with one another and could be easily applied to my daily life. These courses are:

  • Optimizing your Learning
  • Programming 1
  • Mathematical Thinking
  • Web Foundations

Web Foundations is a half-term course that spans from week 5 to week 10. Optimizing your Learning is also a half-term course that spans from week 1 to week 5.

To add a bit of context, each term is 10 weeks long.

TODAY'S CHAPTER

Transcend the barriers of traditional universities with an online degree from Kibo. Get a world-class education in computer science, build a global network, and become a high-impact engineer.

The quote above was the first text I saw on their website and it has stuck with me. I can also see this in practice since I became a Kibo founder.

Optimizing your Learning focuses on teaching you how to learn effectively. It encourages the concept of Self-Directed Learning (SDL) and gives you a powerful budget to improve your learning capabilities bred from research, studies, and experience. Learning how to learn is so important and would apply to me in my everyday life and career life.

This week had us unveiling the influence of emotions on learning. I was able to understand:

  • That emotional skills can also influence cognitive reasoning.
  • How to identify limiting beliefs in ourselves that can hinder us from learning effectively.
  • What the Emotional Intelligence Framework is.
  • How to overcome limiting beliefs (as an assignment).

Programming 1 focused on the fundamentals of programming and provides a learning environment while solving certain problems using the skills acquired. This week's topic is Conditionals.

The cool thing about Conditionals is that we got to apply what we learned last week in Mathematical ThinkingPropositional Logic — programmatically. For example, we were able how useful the rules that applied to using logical connectors are to boolean operators. I was able to express any condition I wanted to represent in my program mathematically; This ensures that I made no mistake thinking through the logic.

Let me give you a context here

Assuming I wanted to test for a certain condition in my program...

Condition - If the choice is not 1 and the choice is not two...

In Python, I could write:

  if choice != 1 and choice != 2:
    # Dispatch an error message
  else:
    # Do stuff

I could take apart the condition and express it using the logic notation and try to find the simplest mathematical statement that was logically equivalent to the condition. Expressing the condition mathematically:

¬P ∧ ¬Q where P and Q represent the respective statements i.e. P = choice is equal to 1; Q = choice is equal to 2

According to De Morgan's laws, ¬(P∨Q) = ¬P ∧ ¬Q

This means the condition can be rewritten as ¬(P∨Q) which Pythonically can be written as:

  if not (choice == 1 or choice == 2):
    # Dispatch an error message
  else:
    # Do Stuff

If you don't understand anything in the above operations, don't worry. It took me a while to get used to thinking mathematically too. Though the example above does not produce a simplistic version of the condition, I have come across scenarios where it does.

In Mathematical Thinking, we explored the topic Sets. I was shocked to see how my understanding of Propositional Logic from week 1 made understanding Sets much easier. There was a grand connection between the two topics and you could see that explicitly in the Set Builder Notation.

Do you know that the intersection of two sets (AnB) is simply the conjunction of their respective propositions?

According to the Set Builder Notation, AnB = {x∈U: x∈A ∧ x∈B}.

Also, Sets are useful in programming languages because of their interesting features such as: a set does not allow duplication of elements. Even their operations produce interesting results and can prove very useful in some operations in Python such as extracting common elements between two lists of items using intersection.

Do you know that Python also has a set data type (or do I call it a data structure 🤔) that also permits most (if not all) of the operations you can do mathematically with Sets?

I know I am a bit technical in this article, right? But to what use would the beautiful feathers of a peacock mean to her if she cannot flaunt it before her onlookers or admirers?

In conclusion, I have been having a rollercoaster ride since week 1 at Kibo and I am looking forward to the weeks ahead; Each step taking me gradually toward my dreams.

Thanks for hearing me out comrades. Enjoy the moment!

🗣 “Your beliefs become your thoughts. Your thoughts become your words. Your words become your actions. Your actions become your habits. Your habits become your values. Your values become your destiny.” — Gandhi