Take a few minutes (or a day) to think about the reasons—the real reasons—why you want to learn a programming language. Be honest with yourself. Are you trying to learn the barest minimum to score a promotion? Are you looking to make a big career change? Do you want to create the next greatest app? Thrill your roommates by programming your various smart devices to do something awesome?
The programming community is full of people who are willing to help the next generation of programmers. GitHub, the online hangout for developers who use Git to manage their coding projects, is designed for online collaboration. Not only do developers host and share their projects with their peers, they also provide code feedback and general advice to the community. 

I recommend checking out CS Dojo, TheNetNinja, and Harvard’s CS50 YouTube channel. If you don’t have time to search for a perfect coding video or channel, you can also check out LinkedIn Learning’s vast video library for vetted and professional-looking tutorials. While the service’s $30/month subscription fee is nothing to sneeze at, you can binge-watch an unlimited amount of content and topics—making LinkedIn Learning a better deal than other on-demand online classes that come with annoying restrictions.
I recommend checking out CS Dojo, TheNetNinja, and Harvard’s CS50 YouTube channel. If you don’t have time to search for a perfect coding video or channel, you can also check out LinkedIn Learning’s vast video library for vetted and professional-looking tutorials. While the service’s $30/month subscription fee is nothing to sneeze at, you can binge-watch an unlimited amount of content and topics—making LinkedIn Learning a better deal than other on-demand online classes that come with annoying restrictions.

You should do your touch typing lessons as often as you are capable of without hurting your fingers! As with everything else, regular training gives the best result. Most people will probably get the best result by distributing the lessons to several days in the week rather the doing a lot of exercises in one day. It is a good idea to put your touch type training into a calendar to be sure to remember to do them. If you don't have a calendar you can use the Google calendar which is free and easy to use. In this way it is easier to remember to do your exercises.
Once you figure out why you want to code, you can more easily pinpoint which programming language you should tackle. While there is no single “best” programming language to learn, some languages are more user-friendly than others. HTML and CSS are considered the easiest entry points into the coding world, but they are only really useful for developing basic websites.
When you reverse-engineer someone else’s code, testing each line to see how it works, you get a better understanding of the big picture. Thanks to the tons and tons of open-source code that’s out there, you can learn just about anything by examining someone else’s (flawless) work. Just remember to share your code back with the community if inspiration strikes and you improve a part of the program you were fiddling with.
Third, Keybr.com lets you introduce as few keys as possible to the lesson, adding more keys automatically when it decides that you are proficient at the current level. When you only start learning it generates lessons with words from a very small alphabet of the most frequent letters. When your typing speed for every key in that alphabet reaches certain threshold, the algorithm adds the next most frequent letter to the alphabet. And so on, until the next letter. This way you will learn the most frequent letters first, and the least frequent ones later.

Mastering typing skills takes training and practice. Practice on a regular schedule, 10 minutes to an hour per session, depending on your energy and focus level. As Vince Lombardi said, “Practice doesn’t make perfect, perfect practice makes perfect,” so it is important that you practice at a time and place where you can maintain focus and accuracy. Eliminate any potential distractions. If you find yourself making lots of errors, slow down and find a way to regain your focus or call it a day. The goal of practicing is to build muscle memory. You do not want to “learn” bad habits and mistakes.
Also, something that I've found is that if you go wrong somewhere instead of mindlessly searching for the error (assuming there are multiple or you don't know the error's location) just start from the beginning and go down seeing that if this works. If you see a break and something disconnects, in all probability that's where the error is. It's all logic. 

I think there’s so much stuff and challenges and quizzes and videos to help, but it gets really confusing sometimes when there’s so much information thrown at you. In the assignments tab I think you should add important key features, viewing the assignments from due earlier to due later, viewing assignments from highest level like 88% on a practice to 100% on a practice and separating them from videos and practices and everything else. It’s really a pain to scroll all the way to the bottom to see my assignments I didn’t complete since my teachers assign a LOT and I mean A LOT of homework on your app. I decided to rate your app fairly and not biased on we’re I like math or not, but rather the methods to teach and learn math. So there are some highlights. I like that you get hints for every single practice and it must be hard to make all of the detailed word problems. I also like that you can look back into the questions you messed up and learn from those questions.
×