My Favorite Programming Resources



Hello everyone!

Many of you are at different stages in your career journeys. Some of you may be considering entering a tech related field or changing your specialization, some of you have recently started your journey, and others are more experienced. For all of you, I just wanted to give you some of my personal favorite learning resources by topic. These are all resources that I've personally used. Some I used extensively in the very beginning and others I still check out from time to time. So here we go.


Resources for Learning a New Programming Language

Code Academy

This website offers a variety of introductory lessons . It is best for those that have little to no experience with the programming language they are interested in learning. It's also great for those with no previous programming experience. Once finished with their free lessons, you will be able to start basic projects in your chosen language. They have courses on Python, Ruby, Java, and many web development related languages (HTML, CSS, JavaScript, and more). They also have a few courses on database and web development specific topics. The lessons can seem tedious for those that have programming experience, but are only interested in learning a new language. Many of their free lessons are designed for complete beginners who may not have any coding experience. If you pay for their premium service, they offer more learning resources and customized courses, but I have not used it. It is an option for those that want more than what they offer for free.



Resources for Intermediate to Advanced Programmers

LeetCode

This website has hundreds of problems from different computer science topics, like algorithms, database, system design, shell, etc. It also supports over 10 different programming languages that can be used to solve the problems. Within each category, this site also separates the questions by difficulty. LeetCode is commonly used to practice for job interviews for various programming related jobs. There are even specific company sections featuring previous interview questions asked by popular companies. This website has a reputation for having realistic questions. LeetCode helps companies recruit new employees through their site.

HackerRank

Similar to LeetCode, this website also has an extensive library of problem sets across various computer science subject areas. The questions on HackerRank are also ranked by difficulty. This website appears to have a larger amount of academic based questions, similar to what you may see in a computer science university course. This site is also used to practice for coding interviews. I have used both sites without a strong preference for one over the other. HackerRack helps companies recruit new employees through their site.


Udemy

I've recently discovered this website. This is the only resource from this list that isn't really free, although they offer a money back guarantee. I also have not personally used this website. With the vast amount of free resources out there, I never saw the need to buy one of their courses. My husband has bought several courses from them though, and he's been very satisfied.


Coursera

This website has a large selection of academic focused material on a large range of topics. You have to pay to gain a certificate from their courses, but you can access most of the course materials for free. They also offer some university degrees. This is more like a traditional course, in that they have enrollment periods for the specific courses. I have tried many of their courses, but I was never able to complete any of them. The readings plus assignments format is reminiscent of a traditional college course, which can make it more difficult to motivate yourself to get through it compared to some of the other resources. The content is high quality although some things seem a bit verbose. I've only tried some of their computer science related courses, so it may be different in their other topics.


YouTube

YouTube is filled with many great channels that produce content on the full range of tech-related topics. I still consistently use YouTube when starting a completely new topic. MIT, Stanford, and other top academic institutions have a lot of high quality videos on various academic computer science topics. Those videos were very helpful when I was in college. There are also many industry professionals that make more practical videos about every field imaginable using various technologies. I used YouTube to learn iOS app development, and also when I was learning to do the back-end of my first publishable iOS app on my own. I still find it to be a useful resource. It is also completely free.



Resources for Bioinformatics/Computational Biology Problem Solving with Python

Rosalind

This website is my favorite bioinformatics/computational biology related practice resource. I entered the computer science field from biology, with an extended stay in the computational biology/bioinformatics specialization. I still find this field fascinating. Rosalind has a section dedicated to familiarizing beginners with Python and some programming concepts. Python is used to solve the bioinformatics/computational biology problems on this site. It is also heavily used in everyday bioinformatics/computational biology work. Although it is beginner friendly, the progression may be difficult if one has no knowledge of programming concepts. When I was a beginner, I didn't find the explanations adequate, but I was able to supplement those topics in my computer science classes. Rosalind contains various real life bioinformatics/computational biology problems that get more complex as you progress. They also have a section dedicated to improving algorithmic skills for advanced users. For a semi-beginner and beyond that is interested in this field, I would highly recommend this site.



*Note: I am not affiliated in any way to any of the products or companies mentioned in this post. These are all my own opinions



.

Comments

Popular Posts