I built the Brute Force Password Cracker as a fun program to test out passwords, and to test my knowledge of Python 3 and its libraries.
@alexs1: Thanks @haya for that. Coding is a bit of a challenging subject in-general because it is very complex and takes a lot of memorization. There are four types of learners (Visual, Auditory, Reading/Writing, and Example) and each learn different. I definitely learn by example and for me, I try to find complex programs and dissect them into each of its parts to better understand how each component works. However, in all, I think that you should find a good course, practice, and take breaks. Too much work can have negative affects. As for courses, I think that http://codecademy.com is a good site. However, sometimes it is a bit too detailed and it's hard to solve things. As for that, I'd suggest http://sololearn.com. I think it has very basic courses, but gets the job done. And after a course, I'd always recommended that you keep researching and practicing.