Summer is coming and I would have lots of free time even when I take courses here at Udacity, so my idea is whether there are any simple jobs/tasks that can be done by an 18yo student like me(I will graduate from school in 2013 and then probably go to some university in USA). I have had this little idea in my mind for a while already and I thought that there's no better place to ask for suggestions than Udacity forums:)
While my friends do jobs which require hard physical work in the summertime, I usually sit around/read books and wait for my training to start (I simply can't do any extra physical work besides training, that would decrease the quality of my training and that I don't want to happen). Programming would be almost perfect for me, because besides gaining lots and lots of knowledge while doing it, I like it as well.
My programming skills are quite low, I guess, compared to other people around here. I finished cs101 with a certificate of high distinction and I have been learning python at school a little bit (to be honest cs101 taught me much more than I have learned at school in 2 years).
So I ask you this - can You give me some tips of how to get some simple programming job for summer?
I will probably get no job for this summer ("Give me a job, I know nothing" - doesn't sound really good to me as well :D), so if You know any interesting projects where I could take part in or some other suggestions or tips which might help me get a job later on feel free to comment.
Jaak Joonas ...
Unless you know someone or find someone who is willing to mentor you, I doubt you can find a summer programming job/internship, and it seems that you don't need a summer job, you just want to improve your programming skills.
There are many ways you can go about it, but it all depends on how you learn and what you are interested in. If you're interested in making games, then Invent Your Own Computer Games with Python is a good starting point. Or you can stick with Udacity & try to complete all 6 of the courses currently on offer and any more that are offered next hexamester. The important thing is to learn something that interests you. An additional bonus would be to learn something that's geared towards an end product. Al Sweigart, the author of Invent Your Own Computer Games with Python, believes that most people don't want to learn programming, they want to learn to make stuff. So go ahead an make stuff.
And I don't think that your idea for a sports manager game is too big. You just have to make it in such a way that you can manage it in the summer. Start small, and add later. Make it extensible. This guy learned how to program in ~12 weeks, that is from unemployed beginner to a working programmer in 12 weeks. Though you probably won't work at his rate, making a site like that within a summer is doable, if you really want to do it.
Another way to go about it would be to not care about the end product. As long as you're coding and learning, it's mission accomplished. So what if you failed to finish your project in the summer, at least you learnt a lot. Peter Norvig in this blog post talks about how it would take 10,000 hours of programming, programming in which you're learning something, to master programming. So if you have 60 days & if you read like I do(at times) then you can easily replace the reading time with coding time and average 5-10 hours a day and knock off a significant portion of those 10,000 hours in the summer. This is a good follow up to Norvig's post - Become a Good Programmer in 6 Really Hard Steps.
Another thing you can do is read - programming books, or articles. You can scour Hacker News, Programming Reddit, Slashdot... for links that interest you. This is a list of good reads that I curated in the old CS101 forums. That's a good place to start. If you're interested in web development using Python, then this article is a nice supplement to CS253 - Python FAQ: Webdev.
Above all, have fun with it. There aren't many things worse than programming when it's not fun or when it has become a drag.
Additional links -
why dont you try to come up with a website or other project to pursue over the summer?
I would hesitate on doing any web work that people are paying for unless you really know what you're doing, you don't want to be liable for anything while you're learning, especially if you would be working mostly on your own, without senior developers to keep an eye on you. Also, you don't want to get yourself committed to maintaining or updating any websites or web apps once you've moved on. If you can find a place where you can work as an intern with no expectations, that would be best.
You can always look into open source projects, especially if there's any you have used or have interest in. Those are hard for people without solid skills to get involved in though, unless you end up working on the project website, doing documentation, tests, etc. but that is an option. Getting involved in open source projects is a whole 'nother topic though.
Unless you really need the money, I wouldn't necessarily worry about getting a job per se, especially since you really don't have any experience or even much of a base skill set. I would scrounge up books/websites/tutorials on whatever languages/technologies interest you and spend your time working on that - I think that will serve you better than looking for a job - I agree with you, finding a job/internship at your level might be tough, especially depending on where you live.
Well you could participate in some opensource stuff, but additionally, you could see if any local groups/companies need some basic webapps (forums, mailers, process handlers etc) and just offer to do them for whatever price is reasonable. I know I spend a lot of my time at work writing basic stuff in order to shorten repetitive tasks, I assume that most people would dish out some cash for a way to make their company/organization work better.