Open Side Menu Go to the Top
Register
Helping myself learn more quickly Helping myself learn more quickly

02-23-2016 , 12:07 AM
I've recently decided to go back to school to learn how to program. I came into this with very little knowledge of the subject; I fooled around with some intro level course I found YouTube videos of and have read books related to the general concepts, but that's about it.

Anyway, my first courses are (obviously) extremely easy. At this point, all I know how to use well is Raptor, although I have some limited familiarity with Python as well. In about three weeks I will start learning more Python, but I'd like to speed up the process on my own a bit.

Could someone recommend me some books or websites I could use to help me learn a bit more quickly in my own? I'll be learning Python in my class so I'd prefer something related to a different language, but Python related stuff is good as well.

I'm also open to the idea that I'm being a bit overly ambitious. Basically I would really appreciate if someone with more experience with this stuff would give me some guidance as to what I should be doing to build a solid understanding of the subject from the beginning so I can more easily understand the more complex aspects later.

To be clear I have a relatively large amount of free time for at least a couple months and want to take advantage of it.

Thanks!
Helping myself learn more quickly Quote
02-23-2016 , 02:14 AM
Don't waste too much time with books and tutorials. The best way to learn programming is to write programs. Stick with python for now. As a beginner there is no reason to take on another language. You probably have not touched the surface of what you can accomplish with python. Think of programs or websites that interest you and try to build them yourself.
Helping myself learn more quickly Quote
02-23-2016 , 08:33 AM
Quote:
Originally Posted by muttiah
Don't waste too much time with books and tutorials. The best way to learn programming is to write programs. Stick with python for now. As a beginner there is no reason to take on another language. You probably have not touched the surface of what you can accomplish with python. Think of programs or websites that interest you and try to build them yourself.
+1. Also there are a ton of free resources online. Check out MIT Open Courseware for academic CS information, Odin Project for Web development, and project Euler or hacker rank for puzzler problems that will get you writing some basic (but probably not professional level) code.
Helping myself learn more quickly Quote
02-23-2016 , 09:12 AM
If you have free time, check out codecademy. I'd recommend just sticking to Python for now, but Ruby is fairly similar if you really, really want to try something else.

Odin project at this point will be massively overwhelming. Euler or hacker rank won't be helpful until you learn the language a bit more, understand the syntax and conventions.

Make it through the Python codecademy and if you liked it, look up the book Learn Python the Hard Way.

Also check out articles on how to learn faster, like this:

http://blog.thefirehoseproject.com/p...-self-reliant/

Part of it is simple repetition and muscle memory, spending at least 1-2 hours a day practicing, but doing new, interesting, novel things help immensely as well.
Helping myself learn more quickly Quote
02-23-2016 , 12:14 PM
Quote:
what I should be doing to build a solid understanding of the subject from the beginning so I can more easily understand the more complex aspects later
I recently started taking Harvard's CS50x on edx.org and am finding that it's helping to build a strong foundation of knowledge in a way that codeacademy and online tutorials never did. With that said, the course is extremely challenging (and time consuming), so it might be better to wait until you feel comfortable with the most obvious basics of programming.
Helping myself learn more quickly Quote
02-23-2016 , 03:32 PM
Thanks for the input everyone. I'm going to go against the long standing twoplustwo tradition, take your advice, and focus on really learning Python. I'm sure I'll want to ask this forum many questions in the future and it is great to get constructive responses.
Helping myself learn more quickly Quote
02-23-2016 , 04:47 PM
Free online and very good complementary book when learning Python: http://greenteapress.com/thinkpython2/thinkpython2.pdf

You can also dive into functional programming. I tihnk his book has gotten good reviews but I haven't read it. There's online material as well though:
http://www.oreilly.com/programming/f...ing-python.csp
Helping myself learn more quickly Quote
02-23-2016 , 10:12 PM
Everyone has their own learning style. The advice to ignore books really depends on your learning style.

If, like me, you are the kind of guy who takes pleasure in reading manuals from cover to cover, you might benefit from books. When I was learning Objective-C for iOS development I used Big Nerd Ranch and O'Reilly books and the Stanford videos. Each had their own strengths and weaknesses, but I tend to rely on the books more than the videos now.

As other posters have mentioned, though, the best way to learn this craft is to write programs.
Helping myself learn more quickly Quote
02-24-2016 , 12:44 PM
Quote:
Originally Posted by LBloom
Thanks for the input everyone. I'm going to go against the long standing twoplustwo tradition, take your advice, and focus on really learning Python. I'm sure I'll want to ask this forum many questions in the future and it is great to get constructive responses.
Good luck. Just write all kinds of programs. Get a virgin account and publish your programs, no matter how small. I'm sure people here will be happy to give pointers on coding style etc once you've written some code.
Helping myself learn more quickly Quote
02-24-2016 , 12:59 PM
Combining actual programming with books, tutorials, and videos will get you a lot farther than solely programming. This way you will understand the language in depth, why design decisions were made, and how the language evolved. Every Python developer should know who Guido Van Rossum is and why Python is a great language to learn.

https://pythonprogramming.net/ has a lot of nice written and video tutorials.

The Python documentation itself is well written.

Fluent Python is a great book for an intermediate user: http://www.amazon.com/Fluent-Python-.../dp/1491946008
Helping myself learn more quickly Quote
02-24-2016 , 06:17 PM
Quote:
Originally Posted by muttiah
Good luck. Just write all kinds of programs. Get a virgin account and publish your programs, no matter how small. I'm sure people here will be happy to give pointers on coding style etc once you've written some code.
What is a "virgin account?"
Helping myself learn more quickly Quote
02-24-2016 , 07:36 PM
Github. android autocomplete fail
Helping myself learn more quickly Quote
02-25-2016 , 12:39 AM
Build something you are passionate about and could advertise to a future employer as really cool.

If you really love arcade classics then perhaps a really neat Snake game might be a cool self-project.
Helping myself learn more quickly Quote
02-25-2016 , 01:52 PM
Quote:
Originally Posted by Noodle Wazlib
If you have free time, check out codecademy. I'd recommend just sticking to Python for now, but Ruby is fairly similar if you really, really want to try something else.

Odin project at this point will be massively overwhelming. Euler or hacker rank won't be helpful until you learn the language a bit more, understand the syntax and conventions.

Make it through the Python codecademy and if you liked it, look up the book Learn Python the Hard Way.
I wasnt really a fan of codeacademy. I completed a whole javascript course, and then sat down to write a javascript program and... nothing. Turns out programming is more than just filling in the blanks, which is mostly what the codeacademy exercises entail.

I think its faster just to get into writing full programs. No doubt codeacademy helps, just dont think its the most efficient, at least for me.

I feel I have gotten a lot out of codingbat (easy and introductory), project euler, codewars, and http://codingdojo.org/.
Helping myself learn more quickly Quote
02-25-2016 , 07:25 PM
yeah, codecademy imo is good to spend like an hour on, if you are completely unfamiliar with programming, cuz you can sit down and start right away and feel like you are learning something and thats exciting. But as far as using it to actually learn I think its kind of a waste. Obviously its going to differ from person to person.
Helping myself learn more quickly Quote
02-25-2016 , 09:00 PM
Does anyone have any experience with any of the iPhone apps for learning Python? Seems like it could be a useful way to hammer some of the things you need to memorize into my head.
Helping myself learn more quickly Quote
02-25-2016 , 09:48 PM
I don't think it would help you remember them better than actually just programming
Helping myself learn more quickly Quote
02-26-2016 , 01:27 PM
What do you need to memorize? Memorization is not particularly useful for a programmer. I forget syntax details or function parameters all the time but it's all just a google search away.
Helping myself learn more quickly Quote
02-26-2016 , 05:07 PM
The best way to "memorize" the stuff you need is to actually be typing it in while you are writing a program. Even if its examples, you should type it in yourself instead of just copy pasting it.
Helping myself learn more quickly Quote
02-26-2016 , 11:41 PM
That is what I do when I watch/read tutorials. The question about iPhone apps was more about things I could use when I have a random 15 minutes of downtime, not things I could do instead of actual programming.
Helping myself learn more quickly Quote
02-27-2016 , 01:56 AM
Quote:
Originally Posted by LBloom
That is what I do when I watch/read tutorials. The question about iPhone apps was more about things I could use when I have a random 15 minutes of downtime, not things I could do instead of actual programming.
If I'm reading this right, you're asking what can you learn that is programming related in random 15 minute intervals of downtime?

If that is the case, then I would say very little. You have to play around with new concepts/code if you want to understand what its doing. It's going to be easier to write code when you understand what is going on as opposed to just trying to regurgitate some code snippet you memorized (which is pretty silly imo. You don't memorize what 5 * 8 is do you?)
Helping myself learn more quickly Quote
02-27-2016 , 07:51 AM
isn't that how they taught multiplication at your school? Show you the times tables and make you commit it to memory?

But otherwise, yes, I agree. What exactly are you going to do in that short amount of time that could be helpful? Not a whole lot. Maybe it's best just to give yourself a little break so you don't burn out, or try to mentally work through a hard problem you solved or the flow of a program you made or something, making sure you understand every step of the way.

or even just peruse the documentation of your language of choice and look for interesting methods a certain class has that you never knew about but might be fun to try some day.
Helping myself learn more quickly Quote
02-27-2016 , 05:46 PM
Quote:
Originally Posted by clowntable
Free online and very good complementary book when learning Python: http://greenteapress.com/thinkpython2/thinkpython2.pdf

You can also dive into functional programming. I tihnk his book has gotten good reviews but I haven't read it. There's online material as well though:
http://www.oreilly.com/programming/f...ing-python.csp
Thanks for that first link, it's really been helping a lot.
Helping myself learn more quickly Quote
02-28-2016 , 12:48 AM
Two years after I started, I still have to reference past work to see how to do the simplest of tasks. So what.
Helping myself learn more quickly Quote
02-28-2016 , 09:20 AM
Quote:
Originally Posted by codeartisan
Everyone has their own learning style. The advice to ignore books really depends on your learning style.
So much this. Working with books also depends on what you take from them. If you just passively read or listen to audiobooks, you won't gain much, if anything at all, but if you do the exercises and really think about what you are reading, then you will gain much more much faster than flinging mud at the wall. They help you skip all the stupid mistakes you would make if you were just sitting down and writing out code.

OP: there is no one on earth who can tell you the best way you can learn. Self-learning is a deeply personal path and something that you will only discover from brutal self-honesty and trial and error. What works for me probably won't work for you, and likewise, what works for other people doesn't work for me. With that said, measure your learning resources against your abilities and your goals, and remember that there is a difference between learning, studying, exercising, and practice. You need all four, but how you go about it and what ratio is part of the bumpy journey.
Helping myself learn more quickly Quote

      
m