What is a primitive notion and an Axiom? I'm a beginner of learning about Classes, Sets, Types of Definitions(Intensional, Extensional and Ostensive) when I came across primitive notion and Axioms. Now I understand Axiom of Extensionality but the actual definition of an Axiom is just confusing, according to one source, it's any logical statement assumed to be true, and another says an axiom is the little bits of information that help us infer(because without these bits, we can't infer from nothing)

My second question is: What's a primitive Notion, and where is its relevance in sets and mathematical logic? Thanks for the help guys!
I think you may be hoping for more of an insight, but "primitive notion" simply means a syntactic element that appears in the Axioms with no definition in terms of simpler elements.  We have to start somewhere, right?  So in set theory the relation $\in$ for set membership is a primitive notion.

Similarly the Axioms are the statements with which we begin reasoning to prove Theorems in a theory.  The Axioms come without justification; they are assumed to be true for the purpose of the theory...  If the Axioms turn out to be inconsistent, then the theory they create is not so interesting.



Perhaps it will help to illustrate the primitive notions of set theory (membership $\in$ and identity $=$, though this last is often bundled with the logic of predicate calculus) if we discuss some notions that are not primitive because they are defined in terms of simpler notions.  We can think of these definitions as abbreviations for expressions made up, ultimately, of only primitive notions.

A simple example might be the subset relation $\subseteq$.  To say one term is a subset of another can be defined using only logical syntax and the primitive notion of membership:

$$ x \subseteq y \equiv_{def} \forall z (z \in x \implies z \in y) $$

The idea of this definition/abbreviation is that we can use the subset symbol anywhere that we would like to proceed as if replacing a statement about "subset" is to mean the more verbose statement, any member of the first term is also a member of the second term.

In this way one can actually build up an easily recognized framework for mathematics starting from the primitive notion of membership $\in$.
Just a comment -- but in the age of computer science, where we have exact and explicit machine-specification for absolutely everything, the notion that some concepts have to be left undefined (ie, "vague") seems completely misguided and unnecessary.  I personally think the concept of "primitive notion" as given by Alfred Tarski in the Wikipedia definition is a formula for bottomless confusion and wasted time.

When we set out to construct a given discipline, we distinguish, first of all, a certain small group of expressions of this discipline that seem to us to be immediately understandable; the expressions in this group we call PRIMITIVE TERMS or UNDEFINED TERMS, and we employ them without explaining their meanings. At the same time we adopt the principle: not to employ any of the other expressions of the discipline under consideration, unless its meaning has first been determined with the help of primitive terms and of such expressions of the discipline whose meanings have been explained previously. The sentence which determines the meaning of a term in this way is called a DEFINITION,...

https://en.wikipedia.org/wiki/Primitive_notion

Computer science is built on bits.  Algebra can be built on bits.  The real number line can be built on bits.  Any arithmetic operation can be built from bits.  Any logical operation can be built on bits.  Why do it any other way?  

Thanks.