Artificial Dendritic Neuron: A Model of Computation and Learning Algorithm