An Interest In:
Web News this WeekSearch Archive
Some of Our Sources
- TutsPlus - Code
- Just Creative
- Creative Curio
- Fuel Your Creativity
- Web Designer Depot
- CSS Globe
- Wal You
5 Great Strategies for Learning to Code
As a teacher, I get a lot of questions from students on how to learn more about programming outside of class, and until now I havent had a really good answer. At long last, Ive collected my thoughts and put together this list of strategies for learning to code.
Right now, Im preparing to teach a software course where the primary programming language is Java. Of course, not all of the students coming into the course know Java. As a result, theyll have to get up to speed rather quickly. Naturally, this article is for them.
In addition, Ive had several students email me in the past asking for coding resources. These are students who arent necessarily going to go into Computer Science, but they still want to learn some code for their field (Math, Finance, Business, etc.). As a result, this article is also for them.
Finally, Im sure there plenty of people out there who are just looking for more support as they learn to code. If thats you, this article is also for you.
Without further ado, heres my list!
Ill come right out of the gate and say it: no article is ever going to give you an up to date list of the best resources for learning to code. As a result, I always tell people to get involved in coding communities.
Personally, Im partial to Twitter (where I follow the #CodeNewbie and #100DaysOfCode hashtags) and Dev.to, but there are literally hundreds out there. For instance, Im familiar with Medium as a popular blogging platform among developers as well as FreeCodeCamp which now has its own blogging community.
Once you find a few communities you like, I recommend building up a list of your favorite contributors. That way, you can point others to awesome content. If youre lucky, your favorite contributors will start building a nice following which means more awesome content for you. Its a wonderful feedback loop!
To be honest, Ive been really bad about this because I tend to focus mostly on creation rather than consumption, so feel free to recommend your favorite contributors in the comments.
In the wonderful age of the internet, there are now a ton of websites which offer gamified education through coding challenges. In general, these sort of platforms provide a series of problems in increasing difficulty which can be solved for some form of internet points (aka bragging rights). In some cases, these internet points can help you score a job which is a nice bonus.
While Im not big into the coding challenge craze, I have toyed around on a few sites for my own enjoyment. For instance, Im quite fond of HackerRank which is one of those sites where you can tackle some practice problems while gaining exposure to potential employers. As far as I can tell, they offer problem sets for a variety of languages including C, C++, Java, Python, and Ruby.
In addition, Im familiar with at least one niche coding challenge site called CodingBat for people learning Java or Python. If youre just looking for code practice, CodingBat is the way to go. Theres no signup or internet points to worry about.
Beyond that, a quick Google search yields a few additional resources like:
- CodeWars: Achieve Mastery Through Challenge
- Exercism: Code practice and mentorship for everyone
- HackerEarth: Programming Tutorials and Practice Problems
- Coderbyte: Improve your coding skills
As always, if you know of any coding challenge websites that you think others could benefit from, share them in the comments.
Sometimes when youre learning to code, you just want your questions answered. In other words, you dont want to have to sift through blogs or documentation to get a recommendation on how to solve a problem. Thankfully, there a lot of resources for people who just want answers to their questions.
Perhaps the most infamous coding Q&A website on the internet is StackOverflow. In general, its a forum-like website where you can ask questions and get answers from people in the community. If youve ever Googled a coding question, youve probably found yourself there.
Of course, there are other Q&A platforms on the internet including Quora which is a bit less coding oriented. That said, I think the platform excels in areas that StackOverflow doesnt like coding philosophy questions (i.e. What are the best programming practices and coding standards independent of programming languages?).
In addition, theres always Reddit. Unfortunately, I havent personally tried to use that platform as its also a bit infamous. Its really too bad there isnt a benevolent Q&A platform as far as I know, but I think you can still get some value out of these services regardless.
One thing that I think a lot of new learners overlook is the value of open-source code. In particular, I mean having access to a near limitless amount of production quality code in the wild.
Of course, theres always a bit of a barrier to open-source code as many platforms require some knowledge of version control. Fortunately, you dont need to know version control to be able to browse code. Seriously!
Right now, you can go on GitHub and explore the most popular repositories by topic. In other words, if youre interested in Python, you can find a list of active projects written in the language like Flask or Django. As a consequence, youll be able to explore real code and get a feel for how real projects are written and managed. If you want, you could even fork your own version and make some changes.
While I was writing this article, I noticed that GitHub already has a Learn to Code collection which is loaded with awesome resources like this Project Based Learning collection and this Python Programming Challenges collection.
Naturally, GitHub isnt the only open-source hub on the internet. You may also get some value out of BitBucket and GitLab. Of the two, Ive only used BitBucket which used to be the only place to get free private repositories. That said, GitLab has been gaining a lot of traction since Microsoft took over GitHub, so it may be worth checking out.
Perhaps the best tip I can give to learners is to stick it out. Unfortunately, learning to code is hard because a lot of people have purposely made it that way. In essence, Im talking about gatekeeping.
For whatever reason, theres a very vocal minority in the tech community that wants to decide who can and cant be in the community based on arbitrary criteria. For instance, you might be compelled to quit after someone claims you arent a real coder because you use HTML and CSS.
Even as an instructor, I catch nasty comments from elitists every now and then. In fact, Ive even made an entire Wall of Shame for some of the comments Ive gotten. Of course, I wouldnt recommend you do the same as its a lousy coping mechanism. That said, I do think its helpful to see examples of the types of things people say to each other under the guise of internet anonymity. In other words, empathy is lacking in the community.
All-in-all, as long as you continue to focus on your growth, youll learn what you need to learn. And if not, hopefully you can find a community of people to support you. As always, Im open to mentoring anyone who needs a hand. Just give the word!
And with that, all I have to say is best of luck!
Once again, this is the part of the article where I shamelessly plug my membership site. If youre into that sort of thing and can toss a couple bucks my way, Id appreciate it! Alternatively, Id love it if you hopped on my mailing list. That way, we can stay in touch.
In effort to diversify my income a bit, I also leverage the Amazon Affiliate program. As a result, any purchases you make using the following affiliate links will grant me a small commission:
- The Self-Taught Programmer: The Definitive Guide to Programming Professionally by Cory Althoff
- Head First Learn to Code: A Learners Guide to Coding and Computational Thinking by Eric Freeman
Be aware that I havent personally read these books, but I do make sure theyre well reviewed. If theres a book youd like to see featured here, let me know! Id be happy share it.
In the meantime, I have plenty more content where this came from. To be honest, I dont do a lot of list pieces like this or general opinion pieces for that matter. That said, I love to talk about code, so maybe these beginner-oriented articles might interest you:
Well, thats all I got for now. Thanks again for your support, and I hope to see you around.
Original Link: https://dev.to/renegadecoder94/5-great-strategies-for-learning-to-code-3pj2