More resources for learning about programming and app development

I’ve got an application/website idea that I really want to develop; I’ve got any number of other ideas for website/apps that keep appearing in my mind. Rather than just think about them, I’m trying to educate myself about programming, web development and app development.

As I keep searching for instructions, online courses, and other content about apps and development, I keep finding web sites, projects, and blog posts that have a lot of good information for me. Here’s the latest crop:

  • Reddit is a great resource, and not just for killing time with fun and interesting stuff. This thread, What should an aspiring web developer learn first?, speaks to exactly the kind of question I’ve been having lately. Indeed, what should I learn first? The #1 comment tells me to learn these five, first:
    • HTML
    • CSS
    • Javascript
    • Language of your choice: Python, PHP, Java, C#, Perl
    • SQL

    That covers a lot of ground, but at least it gives some idea about what is considered a baseline set of technologies for web development. And there is a wealth of more detailed discussion about what you should focus on, where you can find more help, and other special tools/resources for the quest.

  • Another good thread from Reddit, I have an idea for an iPhone app.. what now?, has gotten a lot less attention so far, but has a bunch of good links to resources for those who, like me, have an idea for an app and wonder how to go about making it a reality. Including links to my next item in the list.
  • AppMakr looks like an interesting resource for building iPhone/iPad/iPod Touch apps, though I need to give it a more clinical examination to see whether it would work for me.
  • On the Android side, there is App Inventor for Android, which bills itself as a way for non-developers to create Android apps. Again, I need to give it a more detailed look, to see if it actually is possible to create non-trivial apps this way.
  • Not so much about programming, Things You Should Do Immediately After Launching a Website is still pretty helpful, outlining a few things you should be doing when you set up a new website. Although it’s not rocket science (things like setting up Google Analytics and checking your search rankings), it’s still a good starting point.
  • This is the kind of article I like to read: Django Djumpstart: Build a To-do List in 30 Minutes starts out with a great promise: tell me how to use a popular development tool, Django, to create a simple yet not entirely trivial application. On the down side, the article was written in 2006 and could therefore stand some updating; it also doesn’t really give me all the information I need to reproduce the project myself (even if it were up to date).
  • For a more authoritative tutorial introduction to Django, try starting with the Django Project’s own Writing your first Django app, part 1.
  • xkcd #576 is a project that references this XKCD cartoon. The idea is to set up a program that will automatically locate and purchase something cheap every day or so from Amazon or eBay. It’s another neat idea, and it’s especially neat that it’s not that big a deal to code. While I couldn’t find the code, at least Paul (the guy behind bieh.net) summarized his approach to the problem.
  • Reworder – A tale of learning Python and launching an app in five days is a story posted by bright (young?) college kid Sahil Lavingia, about how he learned to program in Python in five days and then created an interesting little application for paraphrasing text. I like to read case studies about how people come up with ideas for apps, and how they satisfy the urge to create those apps. On the downside, it seems that Sahil isn’t publishing his code, which would make the experience that much more instructive.

That’s it for today, but I’m sure I’ll be back soon with a new batch of useful links.

Do you have any good resources? Share!

This entry was posted in Django, Learning Programming, Programmer's Tools, Python. Bookmark the permalink.