Ten Free Resources for Coding and Coders - The Part of Tens - Coding For Dummies (2015)

Coding For Dummies (2015)

Part V. The Part of Tens

9781118951309-pp0501.tif

webextras.eps See additional resources to help you program at www.dummies.com/extras/coding.

In this part …

· Continue to learn how to code with online resources.

· Stay up to date with industry news and community discussion.

· Solve coding bugs with online and offline resources.

· Keep in mind ten tips as you learn how to code.

Chapter 15. Ten Free Resources for Coding and Coders

The technology world is constantly evolving. New technologies are invented, developers build new products using these technologies, and new markets emerge from people using these products. In the time it took me to write these chapters and for this book to find its way into your hands, much has already changed. The following resources help you continue learning, answer questions, and stay abreast of these changes.

The resources listed below are all completely free. Many of these resources stay free by depending on community members like you to contribute, so don’t be shy about participating!

Learning-to-Code Websites

Learning to code is a constant journey that never ends for even the most experienced programmers. New languages and frameworks appear every day, and the only way to stay current is to keep learning. Although you may not be an experienced developer just yet, the following resources appeal to beginners with different learning styles. You can learn general introductory computer science topics or specific web development techniques by reading text or watching video lectures, and do it at your own pace or in a scheduled class. Let’s get started!

Codecademy

www.codecademy.com

Codecademy, created for people with no previous programming experience, is the easiest way to learn how to code online. Many chapters in this book use lessons from the site. You can use the site to

· Learn front-end languages like HTML, CSS, and JavaScript

· Try back-end languages like Ruby, Python, and PHP

· Build real pages from websites like AirBnb, Flipboard, and Etsy

remember.eps Front-end languages address website appearance, whereas back-end languages add website logic, such as what to show users and when. See Chapter 2 for more detail.

You don’t need to download or install anything to start coding at Codecademy — just sign up or sign in and start learning.

tip.eps If you get stuck, check for a hint at the bottom of the instructions, or click the Q&A Forum link to ask a question or to see if someone has already posted a solution to your problem.

Coursera and Udacity

www.coursera.org

www.udacity.com

MOOCs, or massive open online courses, are classes or courses that are taught via the Internet to a virtually unlimited number of students. These courses encourage the use of online forums and interactivity to create a sense of community. Coursera and Udacity, two of the biggest MOOCs, have a variety of coding-related courses. Each course is taught through a series of video lectures by a university faculty member or an industry expert. (See Figure 15-1.) After watching video lectures, your homework assignments and projects help reinforce what you’ve learned. Each site offers optional paid features, such as certificates of completion or individual support, but you don’t have to pay anything to access the base material. The strength of these sites is their hundreds of hours of video dedicated to technology topics such as front-end web development, mobile web development, data science, or general computer science theory.

tip.eps Before you start a course at either website, make sure you can set aside time for study each week. You can expect to devote 5 to 10 hours per week for 7 to 10 weeks for any of these courses.

Hackdesign.org

www.hackdesign.org

9781118951309-fg1501.tif

Figure 15-1: Intro to Computer Science, taught by University of Virginia Professor David Evans on Udacity.

The other half of coding is designing. Good visual design is often the difference between having hundreds of people use and share your website and having millions of people do so. Hack Design has 50 design lessons created by top designers from around the world, including designers from Facebook, Dropbox, and Google. Each lesson is emailed to you weekly, and includes articles to read, and design tasks to complete based on what you have just learned. Topics covered include typography, product design, user interactions, and rapid prototyping tools.

tip.eps Many of the expert designers have public portfolio websites at which you can see past designs and projects. In addition, many post their creative work on Dribble, available at www.dribbble.com (note the three b’s in the URL).

Code.org

www.code.org

In December 2013, Code.org made history when over 15 million U.S. school students participated in a learn-to-code event called Hour of Code. Throughout 2014, an additional 25 million students would practice their programming skills for one hour. Code.org hosts its own content for students from kindergarten to eighth grade. It also provides links to other learn-to-code resources, which are targeted for a range of ages, and topics include

· Tutorials that teach HTML, JavaScript, Python, and other languages

· Visual programming tools that help elementary and middle school students drag-and-drop their way to learning how to code

· Instructions to make your own Angry Birds, Flappy Bird, and Lost in Space apps

tip.eps Code.org also has offline learn-to-code materials, so you can keep learning even if you don’t have reliable access to an Internet connection.

Coding-Reference Websites

As you learn to code, either by reading this book or from some of the websites discussed previously, you will get stuck. Your code just won’t behave as you intended. This happens to every programmer — it’s an inevitable part of the process of turning human logic and fuzzy thoughts into rigid code a computer can understand. The important thing is to have a plan, and to have some resources to help debug your code and solve your problem. The following resources include reference texts, which help you check your coding syntax, and community user groups, which help you check your program logic.

W3Schools

www.w3schools.com

W3Schools is one of the best resources for beginners who are just starting to learn. The website includes reference material and basic tutorials for HTML, CSS, JavaScript, PHP, and other programming languages, libraries, and standards. (See Figure 15-2.) In addition, the reference pages include many coding examples, which you can view and modify in your browser, along with a list of attributes or properties that can be used. If you know you can insert an image using HTML, change the text color using CSS, or show an alert to the user using JavaScript, but you cannot remember the exact syntax to do so, try starting with W3Schools.

technicalstuff.eps Although it’s a great resource, W3Schools has no affiliation with or endorsement from the W3C, which is the governing body that creates the standards browsers follow when rendering HTML, CSS, and other languages and formats.

9781118951309-fg1502.tif

Figure 15-2: HTML, CSS, and JavaScript tutorials and reference pages on W3Schools.

Mozilla Developer Network

http://developer.mozilla.org

Mozilla Developer Network (MDN) is a wiki-style reference and tutorial website that covers HTML, CSS, JavaScript, and various APIs. The website is maintained by the developer community, so anyone can contribute — even you! Although not as beginner-friendly as W3Schools, MDN is one of the most complete and accurate sources of documentation for web languages. Developers frequently use MDN to reference syntax, and also to see desktop and mobile browser compatibility for specific tags and commands. You can also check out tutorials on MDN hosted by the Mozilla Foundation, a non-profit organization that helps support and maintain the Firefox browser.

Stack Overflow

www.stackoverflow.com

Stack Overflow is relatively young, founded in 2008, but has quickly become the best place for developers to ask and answer questions about coding. Anyone can ask a question, individual programmers provide answers, and the website community votes up or down the answers to show agreement or disagreement. The site includes topics that cover all major web programming languages, and the most popular topics include JavaScript, Ruby, and Python.

tip.eps Before asking a question, search the website and see if an answer to your question has already been posted. One of the website rules of etiquette is showing you have done some research before posting a question.

Tech News and Community Websites

There are people coding all over the world, and someone in Shanghai can make an app you use every day just as easily as someone in San Francisco. A number of resources are available for developers to better understand what others are working on, both at big companies and at startups. In addition to what people are working on right now, if you have a website you want to build, it can be helpful to see what has been built in the past, so you can identify areas for improvement.

Beyond being informative, these resources offer communities of people with goals similar to yours. These communities are among the most valuable resources available to you. Whether you are learning to code or an expert developer soliciting feedback on a website, working with others is better than working alone.

The following resources help you stay informed on what is happening in the tech community, and interact with other people interested in tech in your city.

TechCrunch

www.techcrunch.com

TechCrunch is a popular blog that covers technology startups and major technology companies. In 2006, the website cemented its reputation when it broke the story of Google acquiring YouTube for $1.6 billion. Along with its online reporting, TechCrunch has conferences throughout the year, such as Disrupt, which hosts conversations with industry veterans and highlights new tech startups.

tip.eps TechCrunch also operates CrunchBase (www.crunchbase.com), a crowdsourced database of 650,000 people and companies. Crunchbase is one of the most accurate and complete sources of information on startups, past and present, and their founders.

Hacker News

http://news.ycombinator.com

HackerNews (HN) is a discussion website hosted by YCombinator, a startup incubator in California. The website homepage is a collection of hyperlinks, often to startup websites and news articles, that individual users have submitted. (See Figure 15-3.) After a submission is made, the entire community can upvote the submission, and the top-ranked submissions are listed first on the homepage. Also, the community can comment on individual submissions, and each comment can also be upvoted, with the top-ranked comment appearing first on each submission page. In this way, the community curates the best news, which appears on the front page, and the best comments, which appear on each submission page. The community is made up of hundreds of thousands of users, including AirBnB co-founder Brian Chesky, Dropbox co-founder Drew Houston, Netscape co-founder and now venture capitalist Marc Andreessen, and venture capitalist Fred Wilson.

9781118951309-fg1503.tif

Figure 15-3: The community-curated news and discussions at HackerNews homepage.

tip.eps Submission titles that begin with “Show HN” are a request to the community to comment on a startup website that has just launched. Submission titles that begin with “Ask HN” are a request to the community to answer or comment on a question.

Meetup

www.meetup.com

Meetup is a website that organizes face-to-face local meetings based on interests or activities. Meetup organizers, who are volunteer community members, host meetings by posting information on the website. Then, community members search, join, and RSVP for meetings through the website.

To use the website, go to www.meetup.com and then follow these steps:

1. Enter your city and how far you are willing to travel.

2. In the search field, enter coding or web development. If you have a specific language you want to learn, like Ruby or JavaScript, enter the language name.

3. Review the Meetup groups, and look for ones with a good number of members. You can join a group and receive notifications of future events, or RSVP for a specific upcoming event. Some events may have a fee to cover expenses.

Although you can learn alone, finding other people learning to code is a great way to stay motivated and keep up your momentum. The people you meet may be learning to code for the same reasons you are, such as to build a website, improve skills for an existing job, or find a new tech-related job.