1. Digital Photography School — Read through this goldmine of articles to improve your photography skills; they're helpful even if you're a complete beginner. There's also an active forum where you can find a community of other photographers to connect with.

2. Duolingo — Sharpen your language skills with this fun, addictive game. It's a college-quality education without the pricetag. If you're looking for more free language-learning materials, you can also try BBC Languages.

3. Factsie — Did you know the horned lizard can shoot blood out of its tear ducts? Keep clicking through this site to find unusual historical and scientific facts, along with links to sources. Another great site for fun facts is Today I Found Out.

4. Fast Company's 30-Second MBA — In short video clips from from accomplished corporate executives, you'll learn great business advice and life lessons, really fast.

5. Freerice — Expand your vocabulary while feeding the hungry. It's the best way to feel good about yourself and learn words you can use for the rest of your life.

6. Gibbon — This is the ultimate playlist for learning. Users collect articles and videos to help you learn things from iOS programming to effective storytelling.

7. Instructables — Through fun videos and simple instructions, you can learn how to make anything from a tennis ball launcher to a backyard fort. You can also submit your own creations and share what you make with the rest of the world. Still wanting to learn more? You can visit eHow and gain a wide range of skills, such as how to cook, decorate, fix, plan, garden, or even make a budget.

8. Investopedia — Learn everything you need to know about the world of investing, markets, and personal finance.

9. Khan Academy — Not only will you learn a wide variety of subjects through immensely helpful videos, but you'll get a chance to practice them and keep track of your learning statistics, too. It's a great way to further your understanding of subjects you've already taken or to learn something new. Other great learning sites include Udacity , Coursera , AcademicEarth , Memrise , and edX .

11. Lumosity — Train your brain with these fun, scientifically-designed games. You can build your own Personalized Training Program to improve your memory and attention and track your progress.

12. Powersearching with Google — Learn how to find anything you ever wanted by mastering your Google search skills. Also, read this article on 100 Google tricks that will save you time in school .

13. Quora — Get your questions answered by other smart people, or read through the questions other people have asked. You can learn anything from productivity hacks to the best foods of all time.

14. Recipe Puppy — Enter in all the ingredients you can find in your kitchen, and this wonderful search engine will give you a list of all the recipes you can make with what you have. It's a great way to learn how to cook without the hassle of buying everything beforehand. For a more extensive list of recipes, try AllRecipes .

15. Spreeder — This free, online speed-reading software will improve your reading speed and comprehension. Just paste the text you'd like to read, and it'll take care of the rest.

16. StackOverflow — It's a question and answer site for programmers — basically a coder's best friend. Other great sources to learn code are Learn X in Y Minutes , Codeacademy , and W3Schools .

17. StackOverflow — It's a question and answer site for programmers — basically a coder's best friend. Other great sources to learn code are Learn X in Y Minutes , Codeacademy , and W3Schools .

18. Unplug The TV — A fun website that suggests informative videos for you to watch instead of TV. Topics range from space mining to "How Containerization Shaped the Modern World."

19. VSauce — This Youtube Channel provides mind-blowing facts and the best of the internet, which will make you realize how amazing our world is. What would happen if the world stopped spinning? Why do we get bored? How many things are there? Watch the videos and find out.

1. Pick up an athletic hobby that you can do through the years. Otherwise, the sedentary lifestyle you start in college — and continue into the office — will do awful things to your posture, back, and gut. Your office job is trying to kill you. It's your job to prevent that from happening. —David Cannon.

2. Write down the key points of what you did for the day. This may seem trivial, but it will show how you spend your day. Harvard Business School research shows that as little as 15 minutes of written reflection at the end of the day can make you way more productive on the job. —Stan Hayward.

3. Talk to one stranger every day. Strangers = opportunity. Opportunities to make new friend, to get new ideas, to get rid of that fear of talking to strangers, to start a business venture, and much more.Who you know predicts your career, happiness, and health, so expand your network as much as you can. —Ashraf Sobli.

4. Learn to listen well. People love to talk about themselves, so cultivate the ability to let them do that. —Charles Tips.

5. Waste less time. Life is composed of days, days of hours, hours of minutes. And you only get so many in a lifetime. —Anonymous.

6. Find happiness in the process of accomplishing your dreams. Avoid the "deferred life plan." Instead of "doing what you have to do" now and then "doing what you want to do" at some hazy time in the future, find a way to do what you like today. — Dan Lowenthal.

7. Build strong friendships, and be kind to people. You're more like your friends than you think. —Edina Dizdarevic.

8. Diversify your experiences. The broader your life experiences, the more creative your ideas and the better you can relate to people. —Dan Lowenthal.

9. Save money. Put a little bit away with each paycheck, and do it automatically so you don't miss it. —India L. J. Mitchell.

10. Drink with old people. They've been there, done that, and have lived to tell you the tale. —Ben Hinks.

11. Start meditating. It trains your brain to be able to deal with the madness of each day. —Anonymous.

12. Learn to work with shame and doubt. Everybody experiences these emotions, as sociologist Brené Brown has evidenced, but few people learn how to healthfully cope with them. —Diego Mejia.

13. Go outside. It's easy to stay indoors all the time. So go for hikes. Cognitive psychologists have shown that a little "wilderness bathing" can be a tool against depression and burnout. —Stephen Steinberg.

14. Get to know people who are different from you. If you're a liberal, make friends with conservatives. If you're part of Occupy Wall Street, befriend a banker. If you're a city mouse, get to know a country mouse. Why? Many reasons, one of them being that we make better decisions in diverse groups. — Judy Tyrer.

15. Date everything. Whether you're connecting with a person, taking notes during a meeting, or stuffing takeout into the fridge, knowing the date of when something happened is useful in ways you can't predict. —Dee Vining.

16. Read novels. Fiction is "emotional and cognitive simulation;" novels train you in understanding other people's experiences of life. — Anunay Arunav.

17. Set minimum goals. Read 15 pages a day, do 20 pushups, floss one tooth. This way you can break gigantic projects into day-sized tasks. —Christopher Webb.

Ideally, multiple-choice exams would be random, without patterns of right or wrong answers. However, all tests are written by humans, and human nature makes it impossible for any test to be truly random.

Because of this fundamental flaw, William Poundstone, author of "Rock Breaks Scissors: A Practical Guide to Outguessing and Outwitting Almost Everybody," claims to have found several common patterns in multiple-choice tests, including computer-randomized exams like the SATs.

After examining 100 tests — 2,456 questions in total — from varied sources, including middle school, high school, college, and professional school exams; drivers ' tests; licensing exams for firefighters and radio operators; and even newspaper quizzes, Poundstone says he found statistical patterns across all sources.

From this data, he determined valuable strategies for how to greatly up your chances of guessing correctly on any exam, whether you're stumbling through a chemistry final or retaking your driver ' s test.

While Poundstone emphasizes that actual knowledge of the subject matter is always the best test-taking strategy and that " a guessing strategy is useful to the extent that it beats random guessing, " he suggests to always guess when you ' re unsure. And guessing smartly will only improve your chances of being correct.

Here are a few of Poundstone ' s tactics for outsmarting any multiple-choice test:

First, ignore conventional wisdom.

You've probably been given test-taking advice along the lines of "always guess the middle answer if you don't know," or "avoid any answer that uses the words never, always, all, or none," at some point in your life. However, according to Poundstone, this conventional wisdom doesn't hold up against statistics. In fact, he found that the answers "none of the above" or "all of the above" were correct 52% of the time. Choosing one of these answers gives you a 90% improvement over random guessing.

Look at the surrounding answers.

Poundstone found correct answer choices hardly repeated consecutively, so looking at the answers of the questions you do know will help you figure out the ones you're stuck on. For example, if you're stuck on question No. 2, but know that the answer to No. 1 is A and the answer to No. 3 is D, those choices can probably be eliminated for No. 2. Of course, "knowledge trumps outguessing," Poundstone reminds us. Cross out answers you know are wrong based on facts first.

Choose the longest answer.

Poundstone also noticed that the longest answer on multiple-choice tests was usually correct. "Test makers have to make sure that right answers are indisputably right," he says. "Often this demands some qualifying language. They may not try so hard with wrong answers." If one choice is noticeably longer than its counterparts, it's likely the correct answer.

Eliminate the outliers.

Some exams, like the SATs, are randomized using computers, negating any patterns usually found in the order of the answers. However, no matter their order, answer choices that are incongruent with the rest are usually wrong, according to Poundstone. He gives the following sample answers from an SAT practice test, without including the question:

A. haphazard…radical

B. inherent…controversial

C. improvised…startling

D. methodical…revolutionary

E. derivative…gradual

Because the meaning of "gradual" stands out from the other words in the right column, choice E can be eliminated. Poundstone then points out that "haphazard" and "improvised," have almost identical meanings.

Because these choices are so close in meaning, A and C can also be eliminated, allowing you to narrow down over half the answers without even reading the question. "It's hard to see how one could be unambiguously correct and the other unambiguously wrong," he says. For the record, the correct answer is D.

This is the best image which will help to understand the concept of Loop.

Unless or until someone stops to afraid of another, this will continue! If you like this, share us on Social Media like Facebook, Twitter, Google+ etc and help others to learn from the Department of Awesomeness.-Chief Administrative Officer.

Though it is class based programming language it is also a WORA based programming language.

WORA means Write Once Run Anywhere programming language.

The best way to practise Java programs is to type them in any text editor and save the file using the extension ".java". For instance, File_Name.java

Before we compile the saved .java file, we need to install the JVM - Java Virtual Machine.

JVM is the only thing which makes java a special language. I.e., independent language.

As a computer understands only 1's and 0's, JVM converts every application wirtten or developed in Java in ByteCode which is nothing but the 1's and 0's which a computer understands.

Hence if you want to run the application developed using Java in your client machine than we need to install JVM in our client's machine.

Well, I hope that you are clear with JVM now.

And now we will learn how to compile our java program to ensure that our program is error free - syntax error or spelling.

Before we go for compliation, we need to install JDK - Java Development Kit in our machine. I.e., in which we are developing the application.

After installing JDK in our machine we need to ensure that our Command Prompt is able to identify the JDk installed.

To do so, open run and type "cmd" and click OK.

A dialog box will open, type in the textbox "cmd" to open the command prompt.

Type "javac" and type enter.

If it says that it is unable to identify the javac command on the machine than follow the following steps.

Right click on the My Computer / Computer and select "Properties".

There you can see "Advanced System Settings". Click on it.

A dialog box will open, select the "Advanced" tab under which you will find the "Environment Variables..." button, click on it.

There you will find 2 group boxes namely "User Variables for {YOUR_SYSTEM_COMPANY_NAME}" and "System Variables"

Under "System Variables" group box, select the Value of "Path".

And Add the your JDK path to it. Note: Do not delete the existing paths as it will stop the linked applications for running anymore.

Just add as ";" to the existing paths listed therein and add your JDK path into it and click OK.

My Path is "C:\Program Files\Java\jdk1.7.0_45\bin".

Now open the command prompt and type "javac" and check whether it is able to identify.

Now it should.

Well, after that, you complie your java program by going to the path in which you have saved you java file using the command prompt itself.

And now compile your Java program as "javac File_Name.java"

If there is error than debug it.

Note: After the successful compilation of the program, a file will get generate as you main class name.

Now you need to run the class file as "java Class_Name _To_Run".

It is not mandate that you save the file as the class name but it is highly adviced to do it to avoid confusion.

It is absolutely not like that only one file will generated after the successful compilation of the program but "n" number of files will get generated based on the "n" number of classes you have in your java program.

1. Start coding in C, become expert in C and Linux Programming and wish to learn C++ and Java. They complain saying C++ and Java are not interesting and nothing great can be done by themselves like library implementation etc. as most of them are in-built. They feel C is the best because, they get to do all the coding work and can have fun with pointers and talk to hardware.

2. Start coding in Java in their earlier careers and wish to learn C. They complain saying C has nothing. C is not comfortable. They feel, they have to do all the work and its bad. They are happy about JAVA being rich is built-in frameworks and they are comfortable using it.

3. I come here. I love both because I feel, both has its own advantages and disadvantages and enjoy coding in both!

People out there say that to have a prosperous life ahead we should work hard or harder but in addition to that (I am saying) work smarter in this smarter world with the help of this technology company cum technical institute cum forum for the IT Aspirants - Interact 2 Innovate﻿.

The following are the 10 tips for Computer Science / Applications Students:

1. Math is more important than you think:

Math is all over Computer Science in many different ways. Software Engineers will use discrete math when working out algorithm complexity and efficiency, in graph theory, and recursion. People who work more directly with hardware will use discrete math in designing logical circuits and use automata theory for making finite state machines. At that level you are also working with the large amount of math inherent with electrical engineering. In research aspects you will be using probability and statistics for performance measurements and comparisons. Even game programmers use a lot of math when creating 3D environments.

2. You will need to write more than just Code:

At the base level you will be writing comments in your code. Those are there for others to comprehend what you are trying to do, so explain what you are doing well. In software engineering you may be writing requirements, specifications, test plans, and more. There may be a time later in your CS career where you may need to write a research paper, that may get peer reviewed. Good writing skills will help you. Pay attention in your business writing classes and learn good technical writing skills now.

3. Don't procrastinate:

We know you've heard it a million times, but this is the worst possible thing you can do in a programming class. When you get an assignment, look it over and start on it right away. In the likely chance that you can't work through an error or figure out the logic, you'll have time to contact your instructor or use other available resources to solve the problem.

4. Don't overcomplicate things:

The smaller a block of code is, without being redundant of other code, the better. When you break down algorithms which have nothing in common, often there is a loop or operation which is not unique, other than the parameters involved. A single method or function should not be longer, or wider than a standard 800x600 monitor view. If you comment well, a little larger is acceptable.

5. Impress your instructors, but not too much:

Your instructor can be your best friend, but don't be a suck up. Ask questions and show your instructor you're interested but don't annoy the rest of the class with constant questions and meaningless comments. If you can get to know your instructor, you may be able to leverage that relationship in the future for internships and recommendations.

6. Flowcharting early and often:

Any good programmer will tell you planning is the most important part of any project. You'll have to flowchart when you get a real job, so get good at it now. Planning a project out before you start, even if it's just good pseudocode, can save you hours of frustration. Don't start your project in the compiler, instead sit down with a piece of paper and plan out your program.

7. Make sure this is what you want to do:

Many computer science students get into CS because they like games. Now there are a lot of positions in Computer Game Design that do not require you to be a programmer, so if you are not interested in the coding aspect talk to someone who might direct you to a better path. Areas such as Technical writing, Dramatic Writing, graphic arts, business management, and many more might be better places to go. Use your minor/electives to take computer oriented classes and get to know the CS majors.

8. Use all your resources:

Don't hit a road block and then panic. There are thousands of resources online to help you work through a problem. From books to tutorials, forum (like http://bca-tnc.blogspot.com/), to live help, you should be able to find the help you need. Just remember it can take more than a few minutes for someone to help solve your problem so don't wait till the last minute. Google is definitely your friend and don't feel embarrassed if you have to search for your problem. Don't expect people to do the work for you though, you'll still have to put forth some effort.

9. Become a well rounded programmer:

Programming is more than just C++ or Java. If you plan on programming for a living, you'll need to learn the business side of programming. This includes things like systems analysis, databases, security, and documentation. Also realize that C++ isn't the only language out there, you should be able to jump fairly quickly from language to language. Don't get stuck in one language. Learn the basics of other languages including web based. In addition to code, focus on your humanities. Nobody wants to interact with a dull uncultured nerd. Take classes that interest you and will provide you with a good non-technical education as well.

10. Interact 2 Innovate:

Well, you cannot learn everything from books or online. Even if you learning online you either directly or indirectly interact with some website being maintained by some administrator who is sharing various informations on his website or forum (like http://bca-tnc.blogspot.com/). Hence, if you would like to excel in all spheres then you must interact with someone with your problems to get an innovative solution! This is why I call or say everytime - Interact 2 Innovate