đź““ Homework: Researching Online and Helpful Resources
Remember how we said your mission at Epicodus is to learn how to learn? Learning how to learn means being able to teach yourself something new. Part of being good at teaching yourself something new is knowing how to research questions online. So, in this lesson we’re going to review a few tools to give you a foundation for your research, debugging, and exploration.
Take note that everything you need to be successful while at Epicodus is in LearnHowToProgram.com. However, if you just follow our lessons as is, you’re not going to create many memorable portfolio pieces. While you are at Epicodus, it is your mission to embrace the opportunity to do further exploration and develop your own interests within web development.
Search Engines​
There are a ton of resources on the web for developers at every level. Not only are there dedicated sites that offer free guides, tutorials, and references on computer programming tools, there are…
- Official documentation for tools.
- Developers writing blogs, GitHub Gists, articles, and more.
- There are sites that provide a platform to share and discuss computer programming issues with developers across the world.
The best way to get to know these tools is through general research via a search engine. While Google is the most popular search engine, any search engine will do! Let's review some things to keep in mind as you are using search engines.
Using Search Engines​
1. Include specific technical terminology in your search query.
For example if you want to figure out how to do something in markdown, include “markdown” in your search query. Now consider this search query: “list multiple classes for html class attribute”. Notice that we’ve included the specific technical terminology “html class attribute” which specifies the markup language (html) and the target (class attribute).
Sometimes you won’t know the exact right technical terminology to use. In this case, you can do an initial search to find the right technical term, and then a second search for what you want to do. Or, you can just try your best to explain what you want to do. Ask your peers or teacher for help in formulating a good search query.
2. Use search engine tools to filter and refine your search.
Search engines provide tools to filter and refine your search in a few ways:
- Searching by type of resource For example: video, article, general
- Searching by date the resource was published
- Searching specific sites
- Making sure that specific search terms are included in all results
To learn more about how to refine your search queries with Google, visit these Google docs:
3. Vet the resource you are using.
If you are using a new and unfamiliar site, it's important to take some time to learn about the site and determine how reputable it is. If it's unclear how reputable a site is, it's best to find multiple sources that corroborate any solution that you use in your code. It's common for there to be multiple ways of doing the same thing in code: some of these ways could use deprecated tools or methods, while others may be experimental or tied to only a specific version of a tool you are using.
Developer Forums, like Stack Overflow​
Stack Overflow (SO) is a very popular site for developers to post coding questions and receive help from other developers. The questions can be general, theoretical, or specific to a bug in a coding project. The developers who answer the questions on SO could be any of the following:
- The maintainer of the coding language or tool you are using.
- Someone who is proficient with the coding language or tool you are using.
- Someone who has encountered the same issue you are facing and solved it.
Epicodus students don’t generally post on Stack Overflow, but instead reference posts that are on it. As you review SO posts, there's a few things to keep in mind:
- Pay attention to the date that the post was originally created and last updated. Some posts are very old and contain outdated information. On the other hand, some posts are very old, but have been recently updated with newer information.
- Sometimes we get search results that point to SO posts that are related to what we are researching, but not exactly it. So, make sure to carefully read through the post to determine whether it is on the same topic that you are researching about.
- Read through the entire post, both the original question and all of the answers. The best answers are voted to the top by developers, but other answers may contain alternate solutions or additional details.
Sites with Resources​
Next, we’ll review a few specific websites that offer detailed references for web development tools. Instead of doing general searches on Google, you can try searching specifically within these sites.
W3Schools​
W3Schools is an organization that creates references and tutorials on various computer programming tools so that anyone can learn how to code for free. Epicodus students most often use the reference pages on W3Schools. A reference page lists all tools, or all the details of a tool. For example, if we navigate to the HTML reference, we’ll be taken to a list of all HTML elements that we can peruse and learn more about. Did you know that there is a <table>
tag that we can use to create a table in HTML? There's a lot to explore out there! Note that there's not just reference pages for HTML, but also CSS, JavaScript, and more.
Mozilla Developer Network Web Docs​
Similar to W3Schools, Mozilla Developer Network Web Docs, or just MDN Web Docs contains references and tutorials on tools for web development, including HTML, CSS, JavaScript, and more. MDN proudly states on its homepage that it is a resource created by developers for developers.
Epicodus students usually look at the MDN reference pages, however, there's a lot of helpful tutorials and guides available. We’ll work with the MDN Web Docs more closely when we start learning JavaScript in the next course section.
CSS Tricks​
CSS Tricks contains articles with guides on how to use various CSS tools and general CSS news. For Epicodus students, CSS Tricks pops up most often when they research how to do different things with CSS, like:
- “add gradient to background color css”
- “center element on page css”
If you are looking for a reference on CSS tools, you will have better luck with W3Schools or MDN Web Docs.
Markdown Guide​
There are many markdown cheat sheets and guides out there. A popular tool is Markdown Guide, which itself has tutorials and reference pages.
Final Thoughts​
Becoming comfortable understanding and navigating documentation, references, and other resources for computer programming online can be daunting and frustrating at first. However, the only way to get better at online research is by doing it, both by creating search queries and exploring the documentation sites. If you are having a hard time researching, understanding documentation, or developing a good search query, talk to your teacher about it.