ProgrammingTechnology

Learn to Code: 6 Resources You Need to Become an Expert

Photo of a brown gift box on white surface

If you are thinking of learning to code, 2019 is a great year to start! From in-person and online bootcamps to self-paced courses and tutorials on the web, anyone can get in-demand tech skills with just a computer and an Internet connection. However, since most resources are designed for the mainstream audience of visual users, finding accessible learning material on the web can be quite challenging. It is not uncommon to encounter web sites like the following:

  • The course site has a beautiful layout, and content is organized through grids, rich colors, and images with text. However, this site does not use HTML semantics, such as headings and lists, to structure content. So, when you try browsing the page using a screen reader, all you will hear is “CONTENT IS EMPTY”.
  • Although all the text on the course site may be accessible, the pages are not structured using heading levels, sections, headers and footers, and other HTML elements that would facilitate easy navigation. If you were using a screen reader, you may find yourself repeatedly reading the page from top to bottom just to find one single link or paragraph.
  • You completed an online quiz only to find that you cannot click on the Submit button using the keyboard!

These common scenarios are not unfamiliar to anyone who has ever navigated the Internet using a screen reader and the keyboard. After learning to code for a few years, I have tested out a number of resources for their usability, and in this post I present you with six of my favorites. Not only are these resources accessible and friendly to beginners, the learning material in each of them is high-quality and comprehensive. Best of all, they are all free, and following the path they lay out will level up your skills from novice to job-ready developer!

Start By Thinking like a Computer Scientist

How to Think Like a Computer Scientist by Alan Downey is a textbook that introduces students to the fundamentals of programming using the Python language. Python is a popular language nowadays, and it is widely used in fields such as web development, software engineering, and data science. Unlike many technical books, which may seem dry and dense, the author uses a conversational tone and breaks up the learning into short chapters and sections. In addition, the text provides opportunities for students to apply what they have learned through exercises. By reading an introductory book to basic programming concepts, you will have a leg up on your programming journey. You will gain a bird’s eye view of what is possible with programming, which niche you may be interested in, and what kinds of questions you can ask when you get stuck.

Note: Alan Downey has published the related text Think Java, which covers a similar scope of material using the Java language.

Learn Web Development With The Odin Project

The Odin Project is a web site for learning web development with the Ruby on Rails framework. The curriculum contains a list of curated online resources, and students learn through completing reading assignments, following tutorials, and building projects, which range from simple scripts to production-grade web applications. In addition, TOP has an online community, which is a great place for students to ask and answer questions, meet other developers, and build their network. Finally, because TOP is open-source, students can use their newly-acquired skills to gain experience by contributing to both the course site and the curriculum. According to their site, TOP currently has 80,000 learners and 1500 contributors.

Become a Full-Stack Developer Through Free Code Camp

Free Code Camp is one of the most popular resources for anyone who wants to learn to code and become a web developer or software engineer. FCC is a self-contained curriculum, and learners, called campers, learn through completing coding challenges, building projects, and earning certificates. The FCC community, comprised of both developers and aspiring developers, is very supportive and responsive for beginners. In addition, campers have collaborated virtually to both improve on the existing FCC curriculum as well as build applications for nonprofits. The accompanying publication on Medium publishes some of the best up-to-date and well-written articles on technology. Topics covered include development, data science, and design.

Learn data structures and algorithms.

If your goal is to get a job with a top tech company, then data structures and algorithms is a topic you have to know. Data structures gives applications different ways to organize their data, maximizing efficiency inwhile minimizing the memory needed to process them. Algorithms are recipes for solving complex problems, providing simple steps to tackle large challenges.

With knowledge in this area, you will be able to answer questions like:

  • What is the shortest path from San Francisco to New York City?
  • How to return change with the fewest number of coins in any currency?
  • What are the numbers common to two or more sequences of any length and
  • What is the best way to organize and store data for a given application?

One of the most popular courses on this topic is the 2-part course Algorithms from Princeton University. Check out the course site, download the book, or take the course on Coursera!

Get a Free CS Education With the Open-Source Computer Science Degree

Ready to dig deeper into computer science? Check out the Open-Source Computer Science Degree. Various top-tier universities, such as Stanford, MIT, Berkeley, Carnegie Melon, and UC San Diego, has made some of their best CS courses available online. In this curriculum, the courses are organized into terms, similar to those found in a typical CS undergraduate curriculum. By following this curated path, you will get a strong foundation in computer science as well as have the chance to dig deeper into hot topics such as operating systems, software engineering, artificial intelligence, and machine learning.

Become an Expert Developer With Bento.io

John Chen, the creator of Bento.io, is the principal developer at Stackoverflow, the largest online community of developers. Because he himself was self-taught, John created Bento to help other aspiring developers do the same. The site contains a comprehensive list of curated resources, and the topics covered range from the latest programming technology to the fundamentals every developer need to master to become an expert. Bento also has a complete learning track for a full-stack developer using Python and the web framework Flask. This site is perfect for anyone who wants to become a professional developer in their chosen field in technology. To get started, visit the site and sign up to keep track of your progress.

Conclusion

Learning to code is hard, but you can start out strong. By using one or more of the learning resources above, I hope you will minimize the time spent dealing with inaccessibility, so that you can focus on doing the learning that really matters.

Do you have a resource that you think I missed? Let me know in the comments!