How to Do Online Research

Ted Eytan on Flickr

Online research skills are critical for software programmers. It's how you learn any language, by searching for error messages and looking up reference material.

Finding hard to find information online can be difficult. Typing a phrase in a search engine might not return useful results for a school paper or to solve a problem. The best way to search online depends on what you need to find.

If you’re coding a software application, for example, did you know the best way to figure out how to solve an error message is to copy then paste the error message into a search engine? It’s true. There are websites like Stack Overflow where programmers post their questions about an error message and include the actual error message. Search engines find and index the error message.

The ability to do research is a skill you learn from practice, as well as reading and training. You also need to know how to validate a resource is reputable and their answers accurate.

Search Engine Basics

Everyone knows Google is a search engine. There are a number of other search engines, too. All search engines take your search terms as input then return a page of links.

Keep these points in mind as you use search engines:

  • Learn the difference between paid search results and organic search results. Organic results are generated by the search engine using its own methods. Paid search results are advertising. It is possible, even likely, clicking a paid ad leads to information you need. But you should never accept one search result unless it completely meets your needs.
  • Don’t assume the results on the first page of search results are the most relevant. Skim at least 50 results. What appears as search results depends on many factors, including but not limited to the content on the site, how many links point to the content (and the reputation of the sites that link), the number of links from Twitter, Facebook, and other social media, and other factors.
  • On the search results page, before you click a result, look at the website URL listed for the link, usually at the bottom of the result summary for the link. A questionable site usually will have a questionable URL, for example, boo3678.com probably is less reputable than a blog URL with a person’s name, a recognizable company name, or related to the topic.
  • Once you click a search result, carefully evaluate what you find. Read comments, if any, to learn how others view the information. Look for an author name, publication date, and contact information. What links does the author provide to validate their content? If the website is useful, bookmark the link and save the content, for example, email the link to yourself. However, do not stop at one result. Read several results to confirm you have the information you need.

Be skeptical. Use several search engines, several search terms, and look at a large number of search results. Never assume the top result is the most relevant. Too positive or too negative language can be a warning sign, too.

Guidelines for Internet Research

There are several important guidelines to follow when you do online research:

  • First, know what you need to find. Know what you need to find out and how you will use the information. If you don’t know what you need, you don’t know when to stop. You might find more results than needed and waste time. Or find too few results and be inaccurate.
  • Use good tools. Use at least two or three search engines. Email URLs to yourself and use Evernote and Pocket and similar tools to store and tag articles. Your web browser should also have the ability to create and manage bookmarks, for example, organizing bookmarks into folders.
  • Choose your sources. An academic or technical topic requires different sources than a search to learn the name of Justin Bieber’s monkey. Forums and community sites, for example, might need to have their information validated while data found on the Nature magazine site is more vetted before publication (and their articles often include alternate views and/or refutations).
  • Choose different key words and phrases. People think about a topic in different ways and use different words. You’ll get the best results if you develop a list of terms based on variations of terms and different words people use to describe the same thing.
  • Validate your results. For example, if you find a person or site is deemed credible by other authoritative sources, likely you can ignore an average (or worse) page design.
  • Save your results. This includes storing links, notes, and any other useful information in the form of emails or notes in Evernote or similar service.

Advanced Search Techniques

In addition to trying different combinations of keywords and phrases in any search engine, the Google search engine in particular provides extra ways to refine or expand your search results. For example, you can search with synonyms or by price range. Or search for words found only in a page title. Some of these techniques work in other search engines, as well. The Google Guide is an excellent starting point to discover these techniques.

Here are some common and useful ways to refine or expand your search results:

Search Operator Description
intitle:
allintitle:
Some or all of the search words must appear in the title (intitle:) or all search words must appear in the title of the search result pages (allintitle:).
define: Returns a quick definition of any word or short phrase.
compare: Returns a comparison of two or more items, for example, butter and margarine (compare:butter and margarine).
.. Returns a range of data, for example, price ranges ($10.00..$20.00) or date ranges (2000..2012) or other range.
~ The tilde (~) character before a key word will also search for synonyms of the word. For example, ~female will also search for women.
The short dash (-) character before a word will eliminate all search results with the word. For example, -women will remove any search results with the word women.
* The asterisk (*) character between two key words acts as a wild card to match one or more words. It must be used within quotes, for example, “Francis * Coppola” should return “Francis Ford Coppola” the film director. However, using an asterisk to get variants for a word does not work; bicycl* will not return data on bicycles and bicycling because the operator does not appear between double quotes.
OR
|
The word OR in all capital letters or the pipe (|) character between two words will search for content with one or the other key word provided but not content where neither one or the other word. For example, blouse OR shirt works the same as blouse|shirt.
cache: Searches only in Google’s search result cache files. This is one way to find results that may not appear on the web, for example, if a web page is broken or removed. Search cache:yoursite.com to search any cached results for your site.
link: Find all links to a specific web URL, for example, a link to an article on a website (link:http://yoursite.com/article-url).
site: Limit results to a site or site section, for example, site:nytimes.com or site:nytimes.com/business works. Also can limit results to a top level domain, for example, site:edu to search only school sites. Leave out search words and use only site:yourdomain.com and search results will display all indexed pages for the site.
source: Will limit search results to the source you specify, for example, election results from the New York Times (election source:new york times)

 

Note these search operators may change over time. Also remove any space between operators and the initial keyword, for example, site: http://yoursite.com does not work but site:http://yoursite.com does work.

More search operators and details can be found at GoogleGuide.com.

Internet Research for Coders

Most software programmers do internet research to solve a problem. They might copy an error code on their computer screen then paste it into a search engine to see if anyone has a solution. Or they can state the problem and type it into a search engine.

Software debugging lends itself to problem definition. And the better definition you have, the more likely you are to find the exact answer.

For example, to code part of a WordPress template in PHP language, I wondered if PHP had a greater than or not equal to comparison operator. It might look like >!= in code. Not exactly a stupid question but, I soon discovered, not really the right question to ask.

However, because I defined my question well enough, I wound up on a Stack Overflow forum page where my answer was buried in a comment about another answer. Someone said in passing, “split the comparison.”Translation: there is no “greater than or not equal to” comparison operator in PHP. However, if you code “if ( (x is greater than y) OR (x is not equal to y) )” you get the result needed.

This dynamic — a good problem definition + intuition + luck — makes online research for coding problems a fun treasure hunt. Chances are you find your answer. Chances are the answer will not always be laid out exactly as you expect.

If you are truly unlucky, and there is nothing to be found online through search engines to solve your programming problem, the next step is to find the best online forum for the language or topic and post your problem. Stack Overflow has become one excellent start point for most languages and technologies such as WordPress. Search these forum sites first to be sure no one has posted your problem before.

If there are no answers to your problem, then post your problem in an online forum. Make sure to state you searched the forum (maybe include the terms you used) and found nothing. State your problem, how you got to the problem, what result you expected, the result you got instead, solutions you tried, and details about your technical environment.

Remember the Scientific Method learned in school? You know: observe, measure, hypothesize, test? Those are the types of details you want to provide when you ask for help on a software forum.

Also, and this is critically important, when you post a question on a forum (or copy/paste an error message into a search engine), be sure to remove security-related information. For example, remove file folder paths from error messages. Do not publish information others can use to hack a computer. You will notice on forums people are very careful about what identifiable data they include and exclude.

Generally people are happy to help on a forum if you provide actionable details and show you tried to help yourself. It’s also useful to see if you can answer other questions on the forum.

In other research cases, coders know the canonical reference site for the language they’re coding in and need details about specific functionality. For example, they need to learn how to parse an array in PHP so they go to php.net and type array into the search box to find a list of array functions for that language. Then they review the possible functions, look at the examples, scan the comments, try promising code to see what works, and move on to their next coding problem.

Another point: most people learn coding through endless online research of error codes, how do I do x? questions, and browsing search result pages. Even if a coder takes university courses and earns a computer science degree, online searching makes all their classroom work compile into experience and real domain knowledge.

Finally, a good integrated development environment (IDE) software tool for coding also includes help and auto-complete for some or most programming languages. If your question or problem has to do with how to implement a function, it’s possible a good software programming tool has the answer. For example, PyCharm when used to code Python will auto-complete your code, check your code for errors, and other tasks in the background. It might save research time if you find a great software editing tool for your language.

Internet Research Projects for Teachers

Below are a few internet research projects I found while researching this article. In looking at a range of sources, these are key concepts to teach students:

  • The visual and conceptual differences between paid search results and organic search results. Plus why the difference matters.
  • How to tell if an online resource is trustworthy and reputable. How to evaluate information found online.
  • Details about the web browser interface, for example, location of the URL bar, how to find history links, and how to bookmark pages
  • How to define their research problem and other project details, for example, sources, citation standards to use, and audience.
  • How to use AddThis and other software tools to store results and take notes.

Learn More

Online Research Techniques

http://netforbeginners.about.com/od/navigatingthenet/tp/How-to-Properly-Research-Online.htm
https://owl.english.purdue.edu/owl/resource/558/1/
https://owl.english.purdue.edu/owl/resource/552/02/
https://owl.english.purdue.edu/owl/

Become an Expert Google Searcher in One Hour

A free online seminar from O’Reilly by Stephan Spencer and Nancy Blachman.
http://oreillynet.com/pub/e/2923
http://event.on24.com/r.htm?e=683389&s=1&k=6B52DEB19D27657F84CD48BDA6313265

Google Guide

http://googleguide.com/
http://googleguide.com/advanced_operators_reference.html

Search Engines

http://www.google.com
https://www.google.com/advanced_search
http://code.google.com
http://www.bing.com
http://www.yahoo.com
http://www.duckduckgo.com
http://www.wolframalpha.com/
http://www.looksmart.com
http://stackexchange.com/
http://stackoverflow.com/
http://www.reddit.com/
http://www.completeplanet.com
http://archive.org/
http://www.wikipedia.org
http://www.ipl.org
http://www.refdesk.com/

Online Research Course Material

https://sites.google.com/site/micdlir/irt-lesson-examples
https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxtaWNkbGlyfGd4OjEyZjkyNmQ1NjMwYTVkMTU
https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxtaWNkbGlyfGd4OjEzMmJmMDlhNzE3OWI4OA

Tools for Online Research

http://www.addthis.com/
http://getpocket.com
http://evernote.com/
https://trello.com/

Also In The December 2019 Issue

30+ ideas for STEAM-theme gifts for kids of all ages!

Visual storytelling apps are a great way for kids to document and explore their lives.

Meet 16-year old Astronaut StarBright, whose activism is inspiring the next generation of STEM fans.

Dive into the first “console wars” and learn how more bits led to bigger and better games.

From the start of computing history, people have tried to optimize the software programming process. This includes having two coders work together to code software.

Explore the solar system and test your knowledge of space through this fun coding activity.

Learn how procedural generation can be used to create infinite maps, music, and worlds to explore.

The Wayback Machine lets you travel back in time to see old websites. Plus the Internet Archive has thousands of vintage games, software, books, and more.

Online research skills are critical for software programmers. It's how you learn any language, by searching for error messages and looking up reference material.

How rural America connected itself to the phone grid using barbed wire, glass bottles, and even corncobs!

Meet Cozmo, the clever new robot that’s bringing AI concepts to life for kids as young as 5-7 years old.

Throw some festive ornaments on a virtual Christmas Tree in this fun introduction to functional programming.

How the Internet of Things could improve education, from VR to accessibility to facial recognition.

No one wants to deal with viruses over the holidays. Here’s how to protect your new devices!

Some digital tools to help you create your own unique, ever-changing symphony with nothing but some code and a computer!

Take a peek into the importance — and the struggle — of getting truly random data.

Interesting stories about computer science, software programming, and technology for December 2019.

Links from the bottom of all the December 2019 articles, collected in one place for you to print, share, or bookmark.

Receive an email announcement of new issues, sent every two months, plus a monthly newsletter with curated site content.

No, thanks!