What I've learnt so far from Web 2 Mentorship with Web3Ladies.

What exactly is WEB 3? A tale of how my curiosity led me into a mentorship programme.

Table of contents

No heading

No headings in the article.

Sometimes in November 2021, I came across a mentorship opportunities for ladies who want to get into WEB 3, few months before then, I've been seeing WEB 3 fly around, I was curious but I never took my time to do any thorough research about it, so on seeing the mentorship, it felt like the perfect opportunity learn, so I applied, went through the pre-mentorship phase, took my assessment, passed and I got in. The real mentorship program began on the 30th of January and since I joined the mentorship programme even before the classes started and I've learnt quite a lot. This article will be focused on all I've learnt since starting classes till date.

One of the first things I learnt was the differences between programming and computer science, I've always assumed that computer science and programming were the same and that if you studied computer science or engineering in school, you're automatically a programmer but from the classes and learning resources I was able to debunk so many myths about programming and computer science.

I was able to learn what computer is and what it is not, I learnt that > computer science is the study of problems, problem-solving, and the solutions that come out of the problem-solving process. I learnt that a computer scientist’s goal is to develop an algorithm and algorithms are solutions. Hence Computer science can be thought of as the study of algorithms. I also learnt about different algorithms and different data structures, then computer architecture and engineering.

Furthermore, I learnt about about different software development methodologies, where agile and waterfall methodologies were mentioned, among others. I've once heard about these two during a product management class, so I was able to easily relate to it. Waterfall is a linear system of working that requires the team to complete each project phase before moving on to the next one, while Agile methodology encourages the team to work simultaneously on different phases of the project. Simply put agile is an incremental and iterative approach; waterfall is a linear and sequential approach.

We proceeded into the understanding of what computer programming was and the varying types of programs, some of which are: Java, C, C++, Javascript, Python etc. From the classes, I understood clearly that Java and Javascript are different.

  • Java is a multi-platform, object-oriented, and network-centric, programming language whereas JavaScript is a scripting language that helps you create interactive web page.
  • Java is compiled on the server before execution on the client while JavaScript is interpreted by the client.
  • Java is static language while JavaScript is a dynamic language.

In addition to this, I learnt about the different datatypes in Javascript:

  1. Numbers: The number type represents both integer and floating point numbers. There are many operations for numbers, e.g. multiplication *, division /, addition +, subtraction -, and so on.
  2. Strings: A string in JavaScript must be surrounded by quotes, e.g. "Sanitize".
  3. Null values: In JavaScript, null represents “nothing”, “empty” or “value unknown”.
  4. Booleans: The boolean type has only two values: true and false.
  5. Objects and Symbols
  6. BigInt: BigInt is for integer numbers of arbitrary length.
  7. Undefined: The meaning of undefined is “value is not assigned”.

Also, I learnt about variables, naming variables, assigning variables etc. A variable is a “named storage” for data. We can use variables to store goodies, visitors, and other data. To create a variable in JavaScript, use the let keywordThere are different ways of declaring a variable, and the different ways are through the use of 'var', 'let' and 'const'.

  1. var: It is an old-school variable declaration. It declares a variable, optionally initializing it to a value. It could be either globally scoped or function scoped.
  2. let: It is a modern variable declaration. It declares a block-scoped, local variable, optionally initializing it to a value.
  3. const: Const is used to declare a constant (unchanging) variable. It declares a block-scoped, read-only named constant.

Another thing that stuck with me the most was the lower camel case naming method, where you stick multiple words together using lower case for the first word, and then capitalizing the first words of subsequent words e.g. lowerCamelCase.

Finally, so far, the mentorship program has been very enlightening, I've been able to write a few line of html, Javascript and CSS, and developed my first website, this was during my pre-mentorship phase. In the mentorship phase which is ongoing, with the help of a mentor who takes his time to explain and ensure he uses live examples and codes to explain to us, my interest of Web 2 has really been stirred and I'm looking forwards to more classes and more practicals experience, after which I'll be able to proceed to Web 3.