Artificial neural networks (ANNs) or connectionist systems are computing systems inspired by the biological neural networks that constitute animal brains. Such systems learn (progressively improve performance) to do tasks by considering examples, generally without task-specific programming. For example, in image recognition, they might learn to identify images that contain cats by analyzing example images that have been manually labeled as "cat" or "no cat" and using the analytic results to identify cats in other images. They have found most use in applications difficult to express in a traditional computer algorithm using rule-based programming.
Neural networks are parallel computing devices, which is basically an attempt to make a computer model of the brain. The main objective is to develop a system to perform various computational tasks faster than the traditional systems. These tasks include pattern recognition and classification, approximation, optimization, and data clustering.
What is Artificial Neural Network?
Artificial Neural Network (ANN) is an efficient computing system whose central theme is borrowed from the analogy of biological neural networks. ANNs are also named as “artificial neural systems,” or “parallel distributed processing systems,” or “connectionist systems.” ANN acquires a large collection of units that are interconnected in some pattern to allow communication between the units. These units, also referred to as nodes or neurons, are simple processors which operate in parallel.
Every neuron is connected with other neuron through a connection link. Each connection link is associated with a weight that has information about the input signal. This is the most useful information for neurons to solve a particular problem because the weight usually excites or inhibits the signal that is being communicated. Each neuron has an internal state, which is called an activation signal. Output signals, which are produced after combining the input signals and activation rule, may be sent to other units.
A Brief History of ANN
The history of ANN can be divided into the following three eras −
ANN during 1940s to 1960s
Some key developments of this era are as follows −
·        1943 − It has been assumed that the concept of neural network started with the work of physiologist, Warren McCulloch, and mathematician, Walter Pitts, when in 1943 they modeled a simple neural network using electrical circuits in order to describe how neurons in the brain might work.
·        1949 − Donald Hebb’s book, The Organization of Behavior, put forth the fact that repeated activation of one neuron by another increases its strength each time they are used.
·        1956 − An associative memory network was introduced by Taylor.
·        1958 − A learning method for McCulloch and Pitts neuron model named Perceptron was invented by Rosenblatt.
·        1960 − Bernard Widrow and Marcian Hoff developed models called "ADALINE" and “MADALINE.”
ANN during 1960s to 1980s
Some key developments of this era are as follows −
·        1961 − Rosenblatt made an unsuccessful attempt but proposed the “backpropagation” scheme for multilayer networks.
·        1964 − Taylor constructed a winner-take-all circuit with inhibitions among output units.
·        1969 − Multilayer perceptron (MLP) was invented by Minsky and Papert.
·        1971 − Kohonen developed Associative memories.
·        1976 − Stephen Grossberg and Gail Carpenter developed Adaptive resonance theory.
ANN from 1980s till Present
Some key developments of this era are as follows −
·        1982 − The major development was Hopfield’s Energy approach.
·        1985 − Boltzmann machine was developed by Ackley, Hinton, and Sejnowski.
·        1986 − Rumelhart, Hinton, and Williams introduced Generalised Delta Rule.
·        1988 − Kosko developed Binary Associative Memory (BAM) and also gave the concept of Fuzzy Logic in ANN.
The historical review shows that significant progress has been made in this field. Neural network based chips are emerging and applications to complex problems are being developed. Surely, today is a period of transition for neural network technology.
Biological Neuron
A nerve cell (neuron) is a special biological cell that processes information. According to an estimation, there are huge number of neurons, approximately 1011 with numerous interconnections, approximately 1015.
Schematic Diagram
Working of a Biological Neuron
As shown in the above diagram, a typical neuron consists of the following four parts with the help of which we can explain its working −
·        Dendrites − They are tree-like branches, responsible for receiving the information from other neurons it is connected to. In other sense, we can say that they are like the ears of neuron.
·        Soma − It is the cell body of the neuron and is responsible for processing of information, they have received from dendrites.
·        Axon − It is just like a cable through which neurons send the information.
·        Synapses − It is the connection between the axon and other neuron dendrites.
ANN versus BNN
Before taking a look at the differences between Artificial Neural Network (ANN) and Biological Neural Network (BNN), let us take a look at the similarities based on the terminology between these two.
Biological Neural Network (BNN)
Artificial Neural Network (ANN)
Soma
Node
Dendrites
Input
Synapse
Weights or Interconnections
Axon
Output
The following table shows the comparison between ANN and BNN based on some criteria mentioned.
Criteria
BNN
ANN
Processing
Massively parallel, slow but superior than ANN
Massively parallel, fast but inferior than BNN
Size
1011 neurons and 1015interconnections
102 to 104 nodes (mainly depends on the type of application and network designer)
Learning
They can tolerate ambiguity
Very precise, structured and formatted data is required to tolerate ambiguity
Fault tolerance
Performance degrades with even partial damage
It is capable of robust performance, hence has the potential to be fault tolerant
Storage capacity
Stores the information in the synapse
Stores the information in continuous memory locations
Model of Artificial Neural Network
The following diagram represents the general model of ANN followed by its processing.
For the above general model of artificial neural network, the net input can be calculated as follows −
yin=x1.w1+x2.w2+x3.w3…xm.wmyin=x1.w1+x2.w2+x3.w3…xm.wm
i.e., Net input yin=∑mixi.wiyin=∑imxi.wi
The output can be calculated by applying the activation function over the net input.
Y=F(yin)Y=F(yin)
Output = function (net input calculated)




Before learning all topics of android, it is required to know what is android.
Android is a software package and linux based operating system for mobile devices such as tablet computers and smartphones.
It is developed by Google and later the OHA (Open Handset Alliance). Java language is mainly used to write the android code even though other languages can be used.
The goal of android project is to create a successful real-world product that improves the mobile experience for end users.
There are many code names of android such as Lollipop, Kitkat, Jelly Bean, Ice cream Sandwich, Froyo, Ecliar, Donut etc which is covered in next page.

What is Open Handset Alliance (OHA)
It's a consortium of 84 companies such as google, samsung, AKM, synaptics, KDDI, Garmin, Teleca, Ebay, Intel etc.
It was established on 5th November, 2007, led by Google. It is committed to advance open standards, provide services and deploy handsets using the Android Plateform.

Features of Android
After learning what is android, let's see the features of android. The important features of android are given below:
·         It is open-source.
·         Anyone can customize the Android Platform.
·         There are a lot of mobile applications that can be chosen by the consumer.
·         It provides many interesting features like weather details, opening screen, live RSS (Really Simple Syndication) feeds etc.
·         It provides support for messaging services(SMS and MMS), web browser, storage (SQLite), connectivity (GSM, CDMA, Blue Tooth, Wi-Fi etc.), media, handset layout etc.

Categories of Android applications
There are many android applications in the market. The top categories are:
·         Entertainment
·         Tools
·         Communication
·         Productivity
·         Personalization
·         Music and Audio
·         Social
·         Media and Video
·         Travel and Local etc.


What is AngularJS?
AngularJS is a client side JavaScript MVC framework to develop a dynamic web application. AngularJS was originally started as a project in Google but now, it is open source framework.
AngularJS is entirely based on HTML and JavaScript, so there is no need to learn another syntax or language.
AngularJS is also called just "Angular".
AngularJS changes static HTML to dynamic HTML. It extends the ability of HTML by adding built-in attributes and components and also provides an ability to create custom attributes using simple JavaScript.
AngularJS website - https://angularjs.org
AngularJS Official Website
As you can see in the above angularjs.org website, you can download AngularJS 1 library by clicking on the Download AngularJS 1 link. AngularJS 2 is in the beta version as of this writing. This tutorials is using AngularJS 1.
Angular is an open source framework. Click on View on GitHub link to see the source code.
AngularJS Example:
The following is a simple AngularJS example that changes a label to whatever you type in the textbox.
AngularJS Example:

<!DOCTYPEhtml>

<html>
<head>
<scriptsrc="~/Scripts/angular.js"></script>
</head>
<bodyng-app>
    Enter Your Name: <inputtype="text"ng-model="name"/><br/>
    Hello <labelng-bind="name"></label>
</body>
</html>

The above example is plain HTML code with couple of AngularJS directives (attributes) such as ng-app, ng-model, and ng-bind.
The same task can be accomplished using jQuery with more lines of code, as shown below.
jQuery Example:

<!DOCTYPEhtml>

<html>
<head>
<scriptsrc="~/Scripts/jquery-1.10.2.min.js"></script>
</head>
<body>
    Enter Your Name: <inputtype="text"id="txtName" /><br />
    Hello <labelid="lblName"></label>

<script>
        $(document).ready(function< () {
            $('#txtName').keyup(function () {
                $('#lblName').text($('#txtName').val());
            });
        });
</script>
</body>
</html>

Thus, AngularJS includes built-in attributes using which we can increase the productivity.
Advantages of AngularJS:
  1. Open source JavaScript MVC framework.
  2. Supported by Google
  3. No need to learn another scripting language. It's just pure JavaScript and HTML.
  4. Supports separation of concerns by using MVC design pattern.
  5. Built-in attributes (directives) makes HTML dynamic.
  6. Easy to extend and customize.
  7. Supports Single Page Application.
  8. Uses Dependency Injection.
  9. Easy to Unit test.
  10. REST friendly.
Let's setup AngularJS development environment in the next section.
Core Features
Following are most important core features of AngularJS −
·        Data-binding − It is the automatic synchronization of data between model and view components.
·        Scope − These are objects that refer to the model. They act as a glue between controller and view.
·        Controller − These are JavaScript functions that are bound to a particular scope.
·        Services − AngularJS come with several built-in services for example $https: to make aXMLHttpRequests. These are singleton objects which are instantiated only once in app.
·        Filters − These select a subset of items from an array and returns a new array.
·        Directives − Directives are markers on DOM elements (such as elements, attributes, css, and more). These can be used to create custom HTML tags that serve as new, custom widgets. AngularJS has built-in directives (ngBind, ngModel...)
·        Templates − These are the rendered view with information from the controller and model. These can be a single file (like index.html) or multiple views in one page using "partials".
·        Routing − It is concept of switching views.
·        Model View Whatever − MVC is a design pattern for dividing an application into different parts (called Model, View and Controller), each with distinct responsibilities. AngularJS does not implement MVC in the traditional sense, but rather something closer to MVVM (Model-View-ViewModel). The Angular JS team refers it humorously as Model View Whatever.
·        Deep Linking − Deep linking allows you to encode the state of application in the URL so that it can be bookmarked. The application can then be restored from the URL to the same state.
·        Dependency Injection − AngularJS has a built-in dependency injection subsystem that helps the developer by making the application easier to develop, understand, and test.
Concepts
Following diagram depicts some important parts of AngularJS which we will discuss in detail in the subsequent chapters.

Disadvantages of AngularJS
Though AngularJS comes with lots of plus points but same time we should consider the following points −
·        Not Secure − Being JavaScript only framework, application written in AngularJS are not safe. Server side authentication and authorization is must to keep an application secure.
·        Not degradable − If your application user disables JavaScript then user will just see the basic page and nothing more.
The AngularJS Components
The AngularJS framework can be divided into following three major parts −
·        ng-app − This directive defines and links an AngularJS application to HTML.
·        ng-model − This directive binds the values of AngularJS application data to HTML input controls.
·        ng-bind − This directive binds the AngularJS Application data to HTML tags.

Powered by Blogger.