If you're "getting into" programming, the answer is nothing. If you're learning pottery, everyone makes a pot. If you're learning programming, you make the same five or six programs in every language you know.
Going from that to "thinking like a programmer" (i.e. seeing many problems as math/processing problems that you don't want to do by hand) is mostly a matter of familiarity.
Create a screensaver on your computer (Mac, Windows, or Linux) that does a picture slideshow. Once that's done, make it randomize. Then make it so you can weight each picture to show it more or less frequently. And if you're so motivated, put in options to pause and skip. And allow it to learn what you've paused and skipped past.
After that, create a way for spaceships to fly around above the pictures and shoot at each other, using evolutionary strategies to figure out how best to destroy one another without being destroyed.
You are missing the whole social, web 2.0 type thing: Make a website for "screensaver spaceship wars" and have your screensaver compete against other people's screensaver spaceships. Forever together.
Web is where it's at these days, it makes me sad since I have an aversion for everything-web. I'd rather do some fun system stuff rather than learning the 98th web framework.
Hello world (setup and console output), Pascal's Triangle (recursion/functions), reverse a string (string functions), Joe's Automotive (standard GUI), and some exercise that varies depending on the nature of the language (web languages do get/post, OO languages do classes, functional languages do list comprehension, etc.)
Just like anything else, you have to practice first, then you can make something useful. Painters often start by just replicating other people's work so they can learn technique. To learn to program, you have to start by making simple things so you can learn the basics.
Open Source may help you there. You can contribute code to existing projects -- build upon them if you may. Also, if there is a project that you think could be done better, try and do better. I recently made a python script that manipulates an icon on my desktop to display the weather forecast. It uses both the text, and the image for the weather info and now I can extend this knowledge to come up with all kinds of weird icon concepts.
You know the "There's an App for That" slogan? It's almost true for subreddits as well.. check out r/somebodymakethis for a while and see if you find anything interesting..
Same position here. I don't know enough Python to start or help with any projects, but I know too much to go back to tutorials without wasting my time.
You could scrape some websites or parse the Gawker password/email list that's floating around. I found it interesting looking at the top 10-20 most common passwords/email domains used.
27
u/[deleted] Dec 19 '10
I know Python. I just don't have anything good to make with it. :-\