|
So I've decided that I was going to try to be productive this summer, and have chosen to learn a programming language, specifically python. I'm about halfway through with Beginning Python: From Novice to Professional, but my motivation is crumbling every time I read/take notes. To be honest I was hoping the book would lead me to some interesting, real-life applications I may be tempted to use with the limited knowledge I have, but after skimming through the rest of the book, it seems more like a thoroughly descriptive manual with some examples here and there. I've checked out other books, and they're pretty much the same. The prospect of the unknown reason why I'm doing this is certainly an issue to me. As I have mentioned I'm only learning to program to keep me busy this summer, and I don't have specific projects in mind. My question is: how do you kindle your programming interests?
I understand it takes commitment and sacrifice to learn just about anything nowadays, but aren't there other things I could do while I learn to program? Like when I was learning spanish, I could at least enjoy applying what I learned by communicating with other classmates, comprehend silly spanish soap operas, etc.
Thanks
|
http://code.google.com/edu/languages/google-python-class/
That's probably where I would go to learn Python.
There are a wide range of random programs you can make, but if you're looking to create something unique/useable.. you could always learn the Django framework after you finish learning Python.
I've only ever gotten into web development passionately, so I can't be of much assistance unless you're interested in that aspect of programming.
|
Germany2896 Posts
Choose small easy projects that interest you and then code them. Perhaps it works, perhaps it fails but you learn something. Writing games is always fun, no matter how trivial they are. Tetris, snakes/nibbles, a simple quiz game,... there is so much possible stuff to write.
|
Well, I learned Java (well, kind of ) The only thing that got me interested was private servers (for MMORPGs) Although I won't go into detail, I instantly made a ton of developers around my level and we talked and learned Java together, and made a successful private server
Learning how to make functions and constructors to create trading systems, my friend using networking to make the server more stable...etc. It was all in good fun.
This post has nothing to do with Python, although it does answer the question about programming interests.
|
I was going to say join a club and try to work with other people but I think it's probably best to just stick it out solo for a while. It'll pay off because you'll be self reliant and self motivated afterwards.
|
Stop taking notes. Programming is a craft: you learn by doing it. Anyone gets bored just reading books, they should be left for bedtime reading or even just reference. Try to find a study partner, maybe here on the site (I miiiiight be able to oblige since I've been wanting to learn python for a while). If you can't find one then look for the community: Google groups, IRC (there's a big python channel in freenode), twitter, facebook, the official python website should have links to blogs, etc.
There are more people in this site alone willing to learn python. XCetron is one of them, or you can pm me.
|
On June 11 2011 08:12 Cloud wrote: Stop taking notes. Programming is a craft: you learn by doing it. Anyone gets bored just reading books, they should be left for bedtime reading or even just reference. Try to find a study partner, maybe here on the site (I miiiiight be able to oblige since I've been wanting to learn python for a while). If you can't find one then look for the community: Google groups, IRC (there's a big python channel in freenode), twitter, facebook, the official python website should have links to blogs, etc.
There are more people in this site alone willing to learn python. XCetron is one of them, or you can pm me.
The only reason why I take notes is to quickly reference a certain section, so I can repeatedly work on it using IDLE and putting it into long term memory.
I'm quite nervous about finding a study partner as I have absolutely no programming background. Additionally, jargon may possibly make communications even more complicated :\ But I'll make sure that I check out the alternatives in the meantime.
|
http://www.youtube.com/user/thenewboston
This guy on youtube has great programming tutorials, especially Java. Look through his playlist, he has python aswell but I haven't looked through those so I don't know if they are that good, however the Java ones are really nice.
|
i learned a little python through scripting my irc client. if you're on irc and have some fun channel, try scripting some funny stuff! (for instance, xchat supports python plugins)
|
infinity21
Canada6683 Posts
This may not be to your tastes but you can attempt to solve the problems on project euler (link) using Python to get yourself familiar with the language.
|
On June 11 2011 08:21 billy5000 wrote:Show nested quote +On June 11 2011 08:12 Cloud wrote: Stop taking notes. Programming is a craft: you learn by doing it. Anyone gets bored just reading books, they should be left for bedtime reading or even just reference. Try to find a study partner, maybe here on the site (I miiiiight be able to oblige since I've been wanting to learn python for a while). If you can't find one then look for the community: Google groups, IRC (there's a big python channel in freenode), twitter, facebook, the official python website should have links to blogs, etc.
There are more people in this site alone willing to learn python. XCetron is one of them, or you can pm me. The only reason why I take notes is to quickly reference a certain section, so I can repeatedly work on it using IDLE and putting it into long term memory. I'm quite nervous about finding a study partner as I have absolutely no programming background. Additionally, jargon may possibly make communications even more complicated :\ But I'll make sure that I check out the alternatives in the meantime.
Fear of looking stupid is one of the first things you have to unlearn. I mean, first it starts like with you, not wanting to find a partner, then it will be not willing to share your code with others for the same reason, even deleting your own code when there's the chance someone else might see it. It's actually a terrible habit for a programmer. I can be a partner if you're willing to let go of that habit. Everything I know about programming i learnt on the web and I assure you that jargon's not a problem.
|
Kentor
United States5784 Posts
Make a loop that prints "poop" a thousand times. We've all done this right?
|
I've taught myself a handful of python and the only experience I had with programming was the most primitive Java. I did what you are doing and learn all the basics of the language such as loops and iteration by doing simple Project Euler problems. After you can do some of those I would suggest just diving in and making something simple while learning how to program the necessary components of your project. The first thing I did was to make a application that simple parsed the HTML off of websites so that I could search multiple torrent sites. I then added a GUI and added some settings and while it was only 500 lines of code it took me three weeks to make because I had no idea how to do that stuff, but it was very rewarding afterwards.
As for coming up with a project, it should coincide with something else you're interested in. It's what so great about programming, you can apply it to anything if you set your mind too it! Also if you find something frustrated and wish it was automated, figure out how to do it with Python. One of my earlier projects was to program a simple back up utility that would back up my files to a USB hard drive. Sure, there are a lot of programs that could do this for me but I had never found one I liked with the simple features I needed so I just made one myself.
If you're looking for inspiration go onto open source hosting pages such as Google's Project Hosting, Github, or Source Forge and look at the random small projects people have released as open source. If you find something you think is useful and cool instead of just downloading the program, program it yourself. In the end programming should be enjoyable (or challenging if you enjoy a challenge) and it shouldn't feel like work if you're doing it in your spare time.
|
I think the best way to learn a language is to jump into it. However, coding languages are not that simple. Try wading in slowly. Once you're past Hello World, find a way to make it more complicated. I was in AP CS and learned Java, and one thing I think is a good idea is to first try to get a lot of code written for a small project, and then see what you can simplify. You don't need to know Recursion(recursion(recursion())) at first, so don't pay it any mind. I think you should just start with basic projects.
Maybe just start with a small calculator program?
|
If you're going to take notes, make them digital notes that you can use for reference in the future. You will forget a lot.
I think your problem is more one of motivation than one of approach to learning programming. Work in microbursts.
|
Decide on something you want to make, then find out how to make it. Then you have an end goal you're working towards.
|
Whoa, I was just about to ask about this myself. The google code stuff looks cool, thanks.
...but no Java classes D:
|
I don't know if you've checked out "Learning Python" (O'Reilly) in particular, but it was an easy read for me - plus make sure you type in the examples and see how they work.
Not all books are equal.
|
It's quite important to learn programming logic in general before learning a language. Once you can think like a programmer its fairly easy to catch on to various languages.
|
Make games. Solve puzzles. More fun. Logic is more important, because once you have the logic you can just use the reference manual to code it. I don't think anyone expects someone to ever code from memory in real life, which is why I hated my school writing tests on programming, where we wrote programs...
I'm learning Haskell since it seemed interesting, and it'd be a nice introduction and refresher for C or Java or whatever I'm supposed to learn next year.
I'm a novice though, but just know you're not alone!
|
|
|
|