Kernel in Modern Algebra What is a Kernel and how can it be describe in the real world and how can it be defined well and precisely. Tried asking my professor and he just tell us it is just abstract idea. 
 A: Adolfo's answer tells you what the kernel of a linear map is. There is also the notion of the kernel of a homomorphism. I can tell you what that is. First, this is an abstract idea. I wouldn't worry too much about finding some real world equivalent to this. This, of course, doesn't mean that the concept is completely random. Maybe your algebra teacher can tell you how the definition of the kernel is motivated. He/she might then tell you that you will one day hear about the First Isomorphism Theorem and that this might answer the question.
Anyway, Let $G$ and $H$ be groups. Let $\phi:G \to H$ be a homomorphism. Remember that all this means is that $\phi(xy) = \phi(x)\phi(y)$ for all $x,y\in G$ (writing things in multiplicative notation). The kernel of $\phi$ is precisely
$$
\ker\phi = \{x\in G : \phi(x) = e_H\}
$$ 
where $e_H$ is the identity element in $H$.
One interesting fact about the kernel of a homomorphism is that it is a (normal) subgroup of the domain $G$.
Another fun fact is that a homomorphism is one-to-one (injective) exactly when the kernel only contains one element (the identity in $G$). So, in a certain sense the size of the kernel says something about how injective the map is. For example, if you have a surjective homomorphism with a kernel that only contains the identity from $G$, then the homomorphism is an isomorphism.
A: The kernel of a linear map ($T$) between two vector spaces $U$ and $V$ are those elements ($v$) of $V$ such that $T(v)=0$. It is defined analogously for other structures.
You can see it as a measure of how far is the map from being one to one.
A: One area in which kernels of linear operators have a real-world physical meaning is electrical networks. There, you have a network consisting of set of nodes and a set of branches connecting these nodes, together with a “boundary operator,” $\partial$, that basically tells you which nodes are at the ends of each branch and assigns a direction to each branch. You can define a vector space indexed by the branches that describes assignments of currents to the branches and a related vector space indexed by the nodes that gives the net current flowing into or out of each node. The boundary operator then tells you how to compute the net node currents given a set of branch currents. The kernel of $\partial$ consists of those branch current assignments for which the net current at all nodes is zero, but that’s exactly Kirchhoff’s current law for electrical networks, so the kernel of $\partial$ captures all of the physically possible current distributions. There are other operators that can be defined on these spaces and their duals whose kernels and images also have important physical meanings. 
A: Kernels measure what is ignored when converting one kind of thing into another kind of thing.  We do this all the time in the real world.
Consider wind.  Actually moving air has velocity components in 3-space: left-right, forward-back, up-down, which we collect together into a vector $(x,y,z)$.  However, we do not report wind speed this way.  We report wind speed as a compass direction and magnitude, which we collect into a tuple $(\theta, s)$.  (We need a convention for what to do when the speed is zero, since there is no direction to assign to a zero speed.  We'll use $\theta = 0$ when $s = 0$.)  This means all the vertical information about wind speed is thrown away when it is reported.  There is a map from the vector space of $(x,y,z)$s to the space of $(\theta,s)$s.  Any vectors with the same $x$ and $y$ component are sent to one $(\theta,s)$ pair -- again, the $z$ component is discarded in this map.  One way to indicate what this map discards is to write its kernel, the vector subspace generated by $(0,0,1)$, whose members are $(0,0,z)$ for each $z \in \Bbb{R}$.  All of these vectors are mapped to the "no wind" vector $(0,0)$.  Also, any two vectors that differ by an element of the kernel (i.e., "that differ only in their $z$ component") are sent to the same $(\theta, s)$ pair.  In this way, we see that image of two vectors differing only by something in the kernel is the same.  
(The $(\theta, s)$s do not form a vector space.  We really map $(x,y,z) \mapsto (x,y) \mapsto (\theta,s)$.  The first map is a vector space homomorphism.  The second map is not.  If we are restricting ourselves to vector space maps, then a similar discussion holds for the map $(x,y,z) \mapsto (x,y)$.  There is some potential for confusion here since the map $(x,y) \mapsto (\theta,s)$ is not a vector space homomorphism, so we may not even have a definition for its kernel or of the kernel of the composition.  Since the second map is a bijection, only the first map ignores information, so the kernel of the composition of the two maps is the kernel of the first map (since the second map takes $(0,0)$ to $(0,0)$).  This is the sort of careful construction one uses when formalizing a real world application, but carefully including these details makes the above paragraph a bit difficult to follow on the first pass.)
Now consider converting values expressed in different currencies.  Each currency has only one zero value, usually expressed as zero.  And this zero is the identity to the one desirable operation for money:  accumulating more money.  When you accumulate zero more money, the total money is unchanged.  So when I convert drachmas to yen, rubles to dinar, or pesos to renminbi, the only value sent to zero is zero: $0 \text{ drachmas} \rightarrow 0 \text{ yen}$.  In all these cases, the kernel is just $\{ 0\}$.  (This means these maps are injective, since this map does not throw away any information -- each point of the original set is sent to one point of the final set.)
At least, that's how we'd like to think of it.  If it turns out that one currency has very little value compared to another, there may be a range of values sent to zero.  For instance, right now, 1 US dollar is worth around 30,000 Iranian rial.  Since the minimum unit of US currency is 0.01 dollar, 149 rials rounds down to zero.  This means that "the set of all possible amounts of Iranian rials" may be divided into subsets each of which maps to the same number of US dollars.  That is, this map throws away information.  Up to detailed issues of how rounding works, these subsets are all congruent, meaning that any two values differing so little that they live in one subset (in one non-overlapping copy of the kernel) are sent to the same number of US dollars.  So this map is not injective.
Apples are sold by weight not size.  When you weigh apples to assign a price to them, you ignore everything about them except their weight.  The kernel of this map is everything except weight.  Have a prolate apple and an oblate apple?  Doesn't matter as long as they have the same weight.
