Basics of Android

Basics of Android

Basics of Android.

1. It is an operating system designed primarily for the smartphones and tablet devices and not exclusively for.

2. It is Linux based Kernel.

3. It is also known as a powerful operating system as it supports large number of applications on the smartphones.

The following are the versions with corresponding API level (Used for developing purpose, primarily) released in Android till date:

Pre-commercial release versions (2007–2008):

Android alpha 1.0 (API level 1)
Android beta 1.2 (API level 2)

Version history by API level:

Android 1.5 Cupcake (API level 3)
Android 1.6 Donut (API level 4)
Android 2.0 Eclair (API level 5)
Android 2.0.1 Eclair (API level 6)
Android 2.1 Eclair (API level 7)
Android 2.2–2.2.3 Froyo (API level 8)
Android 2.3–2.3.2 Gingerbread (API level 9)
Android 2.3.3–2.3.7 Gingerbread (API level 10)
Android 3.0 Honeycomb (API level 11)
Android 3.1 Honeycomb (API level 12)
Android 3.2 Honeycomb (API level 13)
Android 4.0–4.0.2 Ice Cream Sandwich (API level 14)
Android 4.0.3–4.0.4 Ice Cream Sandwich (API level 15)
Android 4.1 Jelly Bean (API level 16)
Android 4.2 Jelly Bean (API level 17)
Android 4.3 Jelly Bean (API level 18)
Android 4.4 KitKat (API level 19)

Why different version have been released?

Because the have rectified the bugs of the previous version. As people will not simply accept their claim of having rectified the bugs, the company also gives a new GUI (Graphical User Interface) for each versions they have released till date.

Interact 2 Innovate.
Hacking Degree @ University of Madras

Hacking Degree @ University of Madras


If you are keen on Hacking and want to land in a good job, especially in Police / Intelligence, go for M.Sc. (Cyber Forensics and Information Security).

This course is available only at 5 places in India. You can get a job in Police or Intelligence Agency as an Ethical Hacker and whatever you shall do will be legal with respect to your job.

One of the 5 places in India offering this course is University of Madras.

-Chief Administrative Officer. 
Interview Tips

Interview Tips


A must read.

Moment of thinking. These are few questions asked in HR interview! The answers are really stunning and inspiring. Thinking out of the box!

Question 1:

You are driving along in your car on a wild, stormy night, it’s raining heavily, when suddenly you pass by a bus stop, and you see three people waiting for a bus:

* An old lady who looks as if she is about to die.

* An old friend who once saved your life.

* The perfect partner you have been dreaming about.

Which one would you choose to offer a ride to, knowing very well that there could only be one passenger in your car?

This is a moral/ethical dilemma that was once actually used as part of a job application.

He simply answered:

“I would give the car keys to my Old friend and let him take the lady to the hospital. I would stay behind and wait for the bus with the partner of my dreams.”

Sometimes, we gain more if we are able to give up our stubborn thought limitations. Never forget to “Think Outside of the Box.”

Question 2:

What will you do if I run away with your sister?

The candidate who was selected answered ” I will not get a better match for my sister than you sir”

Question 3:

Interviewer (to a student girl candidate) – What is one morning you woke up & found that you were pregnant.

Girl – I will be very excited and take an off, to celebrate with my husband.

Normally an unmarried girl will be shocked to hear this, but she managed it well. Why I should think it in the wrong way, she said later when asked.

Question 4:

Interviewer: He ordered a cup of coffee for the candidate. Coffee arrived kept before the candidate, then he asked what is before you?

Candidate: Instantly replied “Tea”

He got selected.

You know how and why did he say “TEA” when he knows very well that coffee was kept before.

(Answer: The question was “What is before you (U – alphabet) Reply was “TEA” ( T – alphabet)

Alphabet “T” was before Alphabet “U”

Question 5:

Interviewer said “I shall either ask you ten easy questions or one really difficult question.

Think well before you make up your mind!” The boy thought for a while and said, “my choice is one really difficult question.”

“Well, good luck to you, you have made your own choice! Now tell me this. “What comes first, Day or Night?”

The boy was jolted into reality as his admission depends on the correctness of his answer, but he thought for a while and said, “It’s the DAY sir!”

“How” the interviewer asked,

“Sorry sir, you promised me that you will not ask me a SECOND difficult question!”

Sometimes just thinking out of the box is all it takes!

Share with your friend and give them a special moment of thinking…!!

-Chief Administrative Officer.
Tips for your project

Tips for your project


Tips for doing your project (mini).

1. Choose the topic first.

2. Design the complete Architecture.

3. Decide who will use what or who has the access to what?

4. Avoid silly mistakes.

       4.1. As it is mini project, never try to keep it as the so called "Simple, Short and Sweet".

       4.2. Do the full project to get maximum marks.

5. Put yourselves on the shoes of the user and decide the modules.

6. Now choose the technology you are going to use.

7. Using C#, it is easy to connect SQL. NOTE: .Net technologies are Windows dependent.

8. Consult your guide when required, do to so you can also get an appointment from the Contact Us page itself.

9. Then, Interact 2 Innovate.

10.Remember what Bill Gates said "If you can't make it good then make it look good".

-Chief Administrative Officer.
True programmer can understand this!

True programmer can understand this!


Do you feel miserable as a programmer?

1. Constantly compare yourself to other programmers.

2. Talk to your family about what you do and expect them to cheer you up.

3. Base the success of your career on one project.

4. Stick with what you know.

5. Recode from scratch that already exists and works.

6. Expect that your code will be more efficient.

7. Try to learn a new programming language and fail.

8. Count your build errors.

9. Never Debug.

10. Set unachievable / overwhelming goals to be achieved by tomorrow.

-Chief Administrative Officer.
Did you know???

Did you know???


Did you know these abbreviations! Did you know..??

* VIRUS - Vital Information Resource UnderSeized.

* 3G -3rd Generation.
* GSM - Global System for Mobile Communication.
* CDMA - Code Divison Multiple Access.
* UMTS - Universal MobileTelecommunication System.
* SIM - Subscriber Identity Module .
* AVI = Audio Video Interleave
* RTS = Real Time Streaming
* SIS = Symbian OS Installer File
* AMR = Adaptive Multi-Rate Codec
* JAD = Java Application Descriptor
* JAR = Java Archive
* JAD = Java Application Descriptor
* 3GPP = 3rd Generation Partnership Project
* 3GP = 3rd Generation Project
* MP3 = MPEG player lll
* MP4 = MPEG-4 video file
*AAC = Advanced Audio Coding
* GIF= Graphic Interchangeable Format
* JPEG = Joint Photographic Expert Group
* BMP = Bitmap
* SWF = Shock Wave Flash
* WMV = Windows Media Video
* WMA = Windows Media Audio
* WAV = Waveform Audio
* PNG = Portable Network Graphics
* DOC = Document (MicrosoftCorporation)
* PDF = Portable Document Format
* M3G = Mobile 3D Graphics
* M4A = MPEG-4 Audio File
* NTH = Nokia Theme (series 40)
* THM = Themes (Sony Ericsson)
* MMF = Synthetic Music Mobile Application File
* NRT = Nokia Ringtone
* XMF = Extensible Music File
* WBMP = Wireless Bitmap Image
* DVX = DivX Video
* HTML = Hyper Text Markup Language
* WML = Wireless Markup Language
* CD -Compact Disk.
* DVD - Digital Versatile Disk.
*CRT - Cathode Ray Tube.
* DAT - Digital Audio Tape.
* DOS - Disk Operating System.
* GUI -Graphical User Interface.
* HTTP - Hyper Text Transfer Protocol.
* IP - Internet Protocol.
* ISP - Internet Service Provider.
* TCP - Transmission Control Protocol.
* UPS - Uninterruptible Power Supply.
* HSDPA - High Speed Downlink PacketAccess.
* EDGE - Enhanced Data Rate for GSM[GlobalSystem for Mobile
Communication] Evolution.
* VHF - Very High Frequency.
* UHF - Ultra High Frequency.
* GPRS - General PacketRadio Service.
* WAP - Wireless ApplicationProtocol.
* TCP - Transmission ControlProtocol .
* ARPANET - Advanced ResearchProject Agency Network.
* IBM - International Business Machines.
* HP - Hewlett Packard.
*AM/FM - Amplitude/ Frequency Modulation.
* WLAN - Wireless Local Area Network
GATE '14 Syllabi

GATE '14 Syllabi


Syllabus for GATE '14Computer Science and Information Technology (CS):


Mathematical Logic: Propositional Logic; First Order Logic.

Probability: Conditional Probability; Mean, Median, Mode and Standard Deviation; Random Variables; Distributions; uniform, normal, exponential, Poisson, Binomial.

Set Theory & Algebra: Sets; Relations; Functions; Groups; Partial Orders; Lattice; Boolean Algebra.

Combinatory: Permutations; Combinations; Counting; Summation; generating functions; recurrence relations; asymptotics.

Graph Theory: Connectivity; spanning trees; Cut vertices & edges; covering; matching; independent sets; Colouring; Planarity; Isomorphism.

Linear Algebra: Algebra of matrices, determinants, systems of linear equations, Eigen values and Eigen vectors.

Numerical Methods: LU decomposition for systems of linear equations; numerical solutions of non-linear algebraic equations by Secant, Bisection and Newton-Raphson Methods; Numerical integration by trapezoidal and Simpson’s rules.

Calculus: Limit, Continuity & differentiability, Mean value Theorems, Theorems of integral calculus, evaluation of definite & improper integrals, Partial derivatives, Total derivatives, maxima & minima.


Digital Logic: Logic functions, Minimization, Design and synthesis of combinational and sequential circuits; Number representation and computer arithmetic (fixed and floating point).

Computer Organization and Architecture: Machine instructions and addressing modes, ALU and data-path, CPU control design, Memory interface, I/O interface (Interrupt and DMA mode), Instruction pipelining, Cache and main memory, Secondary storage.

Programming and Data Structures: Programming in C; Functions, Recursion, Parameter passing, Scope, Binding; Abstract data types, Arrays, Stacks, Queues, Linked Lists, Trees, Binary search trees, Binary heaps.

Algorithms: Analysis, Asymptotic notation, Notions of space and time complexity, Worst and average case analysis; Design: Greedy approach, Dynamic programming, Divide-and-conquer; Tree and graph traversals, Connected components, Spanning trees, Shortest paths; Hashing, Sorting, Searching. Asymptotic analysis (best, worst, average cases) of time and space, upper and lower bounds, Basic concepts of complexity classes – P, NP, NP-hard, NP-complete.

Theory of Computation: Regular languages and finite automata, Context free languages and Push-down automata, Recursively enumerable sets and Turing machines, Undecidability.

Compiler Design: Lexical analysis, Parsing, Syntax directed translation, Runtime environments, Intermediate and target code generation, Basics of code optimization.

Operating System: Processes, Threads, Inter-process communication, Concurrency, Synchronization, Deadlock, CPU scheduling, Memory management and virtual memory, File systems, I/O systems, Protection and security.

Databases: ER-model, Relational model (relational algebra, tuple calculus), Database design (integrity constraints, normal forms), Query languages (SQL), File structures (sequential files, indexing, B and B+ trees), Transactions and concurrency control.

Information Systems and Software Engineering: information gathering, requirement and feasibility analysis, data flow diagrams, process specifications, input/output design, process life cycle, planning and managing the project, design, coding, testing, implementation, maintenance.

Computer Networks: ISO/OSI stack, LAN technologies (Ethernet, Token ring), Flow and error control techniques, Routing algorithms, Congestion control, TCP/UDP and sockets, IP(v4), Application layer protocols (icmp, dns, smtp, pop, ftp, http); Basic concepts of hubs, switches, gateways, and routers. Network security – basic concepts of public key and private key cryptography, digital signature, firewalls.

Web technologies: HTML, XML, basic concepts of client-server computing.
Interview Tips - An article from The Hindu

Interview Tips - An article from The Hindu

A portion of an article published in 'The Hindu' newspaper.

So the candidates need to keep the following points in mind for the interview.

1. Don’t show any signs of bewilderment. Maintain professional demeanour throughout.

2. Don’t take umbrage at the words, actions and attitude of the board. They always ask questions that are probing in nature and provocative in tone and tenor.

3. Presence of mind is indispensable in the course of stress interview. It basically refers to the ability to remain calm and act calmly, constructively during times of crisis. The difficulties can be converted into opportunities if candidates demonstrate presence of mind.

4. Be steadfast in your convictions, arguments and answers. Don’t allow either fluctuations or vacillations in your stands as you are subjected to intense stress.

5. Create impressions in the minds of panellists that you cherish challenges and thrive in crisis situations. Convince them that you don’t lose focus when stressed.

6. Present your special calibre in the domains of multi-tasking, prioritisation of work, planning and execution of work as they empower you to handle stress and unusual circumstances.

7. Be clear and direct in your answers. Never present convoluted answers, obfuscation of statistics and equivocal answers.

8. Be spontaneous and innovative when faced with unusual questions.

A simple and straightforward solution to stress interview is not to succumb and get stressed. Prepare for the best. Be prepared for the worst too.

-Chief Administrative Officer.
From the Chief Administrative Officer's desk

From the Chief Administrative Officer's desk


This blog has 190+ posts related to the college and department updates which contains notes, softwares, articles, tips and tricks and suggestions along with the posts on demand and request just for you!

We request the readers and followers of this blog to share the contents among their friends, relatives and nearer and dearest ones about an existing of such a service for the IT aspirants.

-Chief Administrative Officer.
5 common problems a new programmer faces?

5 common problems a new programmer faces?


The 5 Most Common Problems New Programmers Face--And How You Can Solve Them
Getting set up

Learning to program is hard enough, but it's easy to get tripped up before you even begin. First you need to chose a programming language (I recommend C++), then You need a compiler and a programming tutorial that covers the language you chose and that works with the compiler that you set up. This is all very complicated, and all before you even start to get to the fun parts. 

If you're still struggling with getting the initial setup, then check out our page on setting up a compiler and development environment (Code::Blocks and MINGW) which walks you through setting up a compiler with a lot of screenshots, and gets you up to the point of having an actual running program.

Thinking Like a Programmer

Have you seen the State Farm commercials where the car wash company returns the cars to customers with the soap suds still on the car? The company washes the car, but it didn't rinse it. 

This is a perfect metaphor for computer programs. Computers, like that car wash company, are very very literal. They do exactly, and only, what you tell them to do; they do not understand implicit intentions. The level of detail required can be daunting at first because it requires thinking through every single step of the process, making sure that no steps are missing. 

This can make programming seem to be a tough slog at first, but don't despair. Not everything must be specified--only what is not something the computer can already do. The header files and libraries that come with your compiler (for example, the iostream header file that allows you to interact with the user) provide a lot of pre-existing functionality. You can use websites like or our own function reference to find information on these pre-existing libraries of functionality. By using these, you can focus on precisely specifying only what is unique about your program. And even once you do that, you will begin to see patterns that can be turned into functions that wrap up a bunch of steps into a single function that you can call from everywhere. Suddenly complex problems will begin to look simple. It's the difference between:

Walk forward ten feet
Move your hand to the wall
Move your hand to the right until you hit an obstacle
Press upward on indentation and Walk to door Find light switch Turn on light.

The magic thing about programming is that you can box up a complex behaviour into a simple subroutine (often, into a function) that you can reuse. Sometimes it's hard to get the subroutine done up just right at first, but once you've got it, you no longer need to worry about it. 

You can go here to read more about how to think about programming, written for beginners.

Compiler Error Messages

This may seem like a small thing, but because most beginners aren't familiar with the strictness of the format of the program (the syntax), beginners tend to run into lots of complaints generated by the compiler. Compiler errors are notoriously cryptic and verbose, and by no means were written with newbies in mind. 

That said, there are a few basic principles you can use to navigate the thicket of messages. First, often times a single error causes the compiler to get so confused that it generates dozens of messages--always start with the first error message. Second, the line number is a lie. Well, maybe not a lie, but you can't trust it completely. The compiler complains when it first realizes there is a problem, not at the point where the problem actually occurred. However, the line number does indicate the last possible line where the error could have occurred--the real error may be earlier, but it will never be later. 

Finally, have hope! You'll eventually get really really good at figuring out what the compiler actually means. There will be a few error messages that today seem completely cryptic, even once you know what the real problem was, that in a few months time you will know like an old (if confused) friend. I've actually written more about this in the past; if you want more detailed help, check out my article on deciphering compiler and linker errors. (Interested in learning how to deal with these errors and other programming problems in a more guided way? Consider taking a course in computer science with our sponsor, Creighton online.)


Debugging is a critical skill, but most people aren't born with a mastery of it. Debugging is hard for a few reasons; first, it's frustrating. You just wrote a bunch of code, and it doesn't work even though you're pretty sure it should. Damn! Second, it can be tedious; debugging often requires a lot of effort to narrow in on the problem, and until you have some practice, it can be hard to efficiently narrow it down. One type of problem, segmentation faults, are a particularly good example of this--many programmers try to narrow in on the problem by adding in print statements to show how far the program gets before crashing, even though the debugger can tell them exactly where the problem occurred. Which actually leads to the last problem--debuggers are yet another confused, difficult to set up tool, just like the compiler. If all you want is your program to work, the last thing you want to do is go set up ANOTHER tool just to find out why. 

To learn more about debugging techniques, check out this article on debugging strategies.

Designing a Program

When you're just starting to program, design is a real challenge. Knowing how to think about programming is one piece, but the other piece is knowing how to put programs together in a way that makes it easy to modify them later. Ideas like "commenting your code", "encapsulation and data hiding" and "inheritance" don't really mean anything when you haven't felt the pain of not having them. The problem is that program design is all about making things easier for your future self--sort of like eating your vegetables. Bad designs make your program inflexible to future changes, or impossible to understand after you've written. Frequently, bad design exposes too many details of how something is implemented, so that every part of the program has to know all the details of each other section of the program.

One great example is writing a checkers game. You need some way to represent the board--so you pick one. A fixed-sized global array: int checkers_board[8][8]. Your accesses to the board all go directly through the array: checkers_board[x][y] = ....; Is there anything wrong with this approach? You betcha. Notice that I wrote your accesses to the board all go directly through the array. The board is the conceptual entity--the thing you care about. The array happens to be, at this particular moment, how you implement the board. Again, two things: the thing you represent, and the way you represent it. By making all accesses to the board use the array directly, you entangle the two concepts. What happens when you decide to change the way you represent the board? You have an awful lot of code to change. But what's the solution? 

If you create a function that performs the types of basic operations you perform on the checkers board (perhaps a get_piece_on_square() method and a set_piece_to_square() method), every access to the board can go through this interface. If you change the implementation, the interface is the same. And that's what people mean when they talk about "encapsulation" and "data hiding". Many aspects of program design, such as inheritance, are there to allow you to hide the details of an implementation (the array) of a particular interface or concept (the board).
New Year Resolution

New Year Resolution


New Year's Resolutions for Programmers


Understand something about C or C++ that you didn't before. Find something you use a lot (such as the main function, or "using namespace std;"), but don't fully understand. For instance, why does main() return an int? What are the two arguments to main(), and when do you use them? 

Spend some time reading the comp.lang.c FAQ. You won't understand all of it, but pick out a few sections that you feel uncomfortable with and learn the real answers.

Reading the answers to other people's questions might seem silly, but a lot of the time, they're questions you might not have thought to ask (yet).


Understand Unicode. It's not just a set of 65,000 characters you can use. Joel Spolsky has a great introduction to what every software developer needs to know about Unicode. The world can't run on the first 256 ASCII characters forever. 

Write grep. Grep is a program that searches a specified list of files for a given regular expression. Writing grep will expose you to some of the fundamental principles of computer science: in the process of writing grep, you'll probably want to look up finite state machines, regular languages, converting regular expressions into NDFAs, and turning an NDFA into a DFA. It's not as bad as all that math makes it look!


Learn a new language in a different programming style. C is great, but it's only an imperative language. C++ is great, but it only adds an understanding of object oriented programming to your arsenal of techniques. Why not branch out and learn Scheme, a functional programming language?

While you might not use it all the time, it will change the way you think about programming. It's also popular in the AI community and taught to all incoming CS majors at the Massachusetts Institute of Technology. 

For something a bit more practical, try Ruby, an appealing language for its structure (fully object oriented) and ease of use (it has a lot of the same syntactic sugar as Perl). Mr. Neighborly has a good Ruby tutorial. 

Do some research. Coding is great, but there's as lot that you can code that isn't just fun -- it's new. With sites like Google Scholar, cutting edge research questions are available to everyone. Interested in performance programming?

Just last year, a grad student at Harvard wrote his dissertation on tuning database parameters using machine learning techniques. Interested in music? Why not try writing a program that can learn genres or composers and then identify their pieces?

A hidden Markov model is one option; what else can you do?