A more productive Python learning experience

I’ve recently decided that I’ve wasted a large portion of my working life not teaching myself things and learning new skills. This is all too evident when faced with a difficult job market like we’re facing at the moment. As someone with primarily Microsoft experience and having worked mainly in that area and with the software and hardware systems which are common to the US military, I find that I’m often facing a skills gap when trying to apply for jobs in the open market. I left the US Air Force in December of 2007 and worked as a web developer and Linux/BSD server admin for a while and during that time I realized more than anything else that I didn’t know enough and needed to learn more. My goal overall is not to be a developer, though I am interested in doing work of that nature to some extent. Since I enjoy writing but can’t immediately make the jump from IT, my short term goal would be to understand current technology and development enough to be able to write about it with authority in something like technical writing, which is more my style. I’ve dealt with technical writing and documentation some in the past, and I enjoy it.

That being said, I’m not exactly sure how to go about this process. I suppose the best way to write about topics is to understand them and in order to understand them you have to gain some practical real world knowledge of their working. This is where I come up against some problems. I want to be able to understand some of what modern programming is about. I’ve got some experience with HTML/CSS/PHP but I want to delve into something like Python. I hear a lot of good things about it so I decided recently that I was going to take it up. My problem is that I often find it difficult to learn programming languages and have failed several times to learn one or another in the past, due to not sticking with it in the long run. This time, I’d like to avoid that. Here is how I intend to do it:

Initially, I started reading some guides and tutorials on the internet, which is a great way to start learning without having to spend a whole lot of money on a big book. The problem with tutorials is that in order to do the stuff written in them, you’ve got to change windows. This means that you end up switching back and forth between your browser, PDF or text file and your terminal window, IDE, etc. I hate this. Yeah, it’s easy enough to switch on a Mac and I can do it pretty quickly, but I don’t want to have to do it at all, and I don’t always have my other monitor available for the task. Enter Learn Python.

Learn Python is a program which was imagined and implemented by Daniel Jalkut of Red Sweater Software. Essentially it is a shell window and a browser window smashed together. You can have your shell and browser panes top to bottom or left to right according to your preference, and when you close the program, it saves the URL so that when you open the program again you can continue your tutorial where you left off. It brings a level of productivity to the learning process which I didn’t have before and I think it’s great. If you’re thinking of learning a programming language or just want to gain better understanding of the shell, etc. it is a great way to view tutorials on any subject and input commands to replicate the results. I personally wanted to use Python 3.0 instead of the default version which comes with OSX so I installed it and changed the Localizable.strings file (Show Package Contents > Contents > Resources > English.lproj) to read:

"/usr/bin/python" = "/Library/Frameworks/Python.framework/Versions/3.0/bin/python3.0";

Another great resource I’ve found for learning Python is the site ShowMeDo.com, which has learning paths and screencasts from very beginner levels to more intermediate and advances lessons later on. If you follow the learning paths, the lessons come with prerequisite lessons you should view before you do others and it really starts you off with a fresh (or refreshed) base of knowledge. This includes various linux command line knowledge and using tools such as subversion for source code version control. This method of learning is great for visual and auditory learners, and you can follow along or pause the video if you need a bit more time. It’s definitely worth checking out if you’re trying to learn. They also have paths for Java, Ruby, C and web frameworks like Django.

Lastly, I’ll just list some of the better beginner guides out there for Python. I’m by no means an expert on the subject and I do have a long IT background but I’ve approached this learning process as if I knew nothing at all, so if you follow what I’m following you should be able to pick it up in time, probably faster than I can. As I said, I don’t really aim to be a developer. I want to write about this stuff. I think I’m fairly good at explaining things in writing, but you tell me. If anyone out there has any advice on pursuing the noble path of technical writing, let me know. Anyway, here are the guides.

A Byte of Python
Dive Into Python
The Python Tutorial
Non-Programmer’s Tutorial for Python
Introduction to Programming using Python

Learning to Program
One Day of IDLE toying

Bookmark/Share/Save
  • Digg
  • Reddit
  • StumbleUpon
  • del.icio.us
  • Slashdot
  • Twitter
  • Identi.ca
  • Ping.fm
  • Technorati
  • Facebook
  • MySpace
  • LinkedIn
  • Google Bookmarks
  • Live
  • Yahoo! Buzz
  • Yahoo! Bookmarks
  • FriendFeed
  • Mixx
  • Netvibes
  • NewsVine
  • blogmarks
  • BlinkList
  • Simpy
  • Add to favorites
  • email
  • Print

Related posts:

  1. Switching from the Mac to the PC – Why and How As I recently mentioned in another post, I’ve just switched...

Related posts brought to you by Yet Another Related Posts Plugin.

Comments

3 Responses to “A more productive Python learning experience”
  1. JaneRadriges says:

    Hi, gr8 post thanks for posting. Information is useful!

  2. The best information i have found exactly here. Keep going Thank you

  3. Hello, can you please post some more information on this topic? I would like to read more.

Share Your Thoughts