Sunday, March 8, 2009

Review: Python Fundamentals (Video Training) (LiveLessons)

Author: Wesley Chun Format: Hardcover, 112 pages Publisher: Prentice Hall PTR; 1 DVD/Pap edition (January 2, 2009) ISBN-10: 0137143419 ISBN-13: 978-0137143412 Update: 2009/3/13 I finally tried out the suggestion from Pearson about getting the DVD to play on Ubuntu. Read the full update in the comments section for this blog post. Thanks. I've had bad experiences with training videos before, so I tend to shy away from them. Also, I can read much faster than a person can speak (that's not bragging, it's true of virtually anyone who can read normally) so in the same amount of time it takes to view a video training, I can read and (hopefully) absorb much more content. So what about Wesley Chun's Python Fundamentals videos? Let's have a look. As the list at the top of this blog attests, there is a book involved that's 112 pages long, but it only functions as an accompaniment to the DVD, which contains over 7 hours of video teaching by Chun. Actually, in a truer sense, the DVD should accompany Chun's book Core Python Programming (2nd Ed), also published by Prentice Hall. The DVD doesn't contain any new content but rather, presents the core concepts of the "Core" book in video, rather than text format. This is a matter of preferred learning style, not accessing video to access new information. In other words, if you have Chun's "Core" book (I do), then you have what's on this video. The blurb on the back of the DVD's packaging suggests that this video will work best with those who already have some Python experience. For you beginners, it does start with the fundamentals of Python syntax, standard types, and operations. The accompanying book is a distillation of the massive "Core" tome, formatted to fit the lesson plan on the DVD. Again, nothing new is presented. It's previously published content reworked to fit video. Frankly, after having gone through some of the lessons, I don't see why a person with virtually no Python experience wouldn't also be served by this product. Then again, keep reading to see if this video tutorial will work for you. Do I sound like I think Chun is "cheating" by recycling previously used content? In one way, it does involve only a little more work on the author's part, since all he has to do is adapt what he's already written. On the other hand, Chun has to shoot the live videos and the slides. I did this exactly once and I didn't think it was fun at all. Relating to a live class of real people is one thing, but talking to yourself as you're shooting little movies on your computer is (at least for me) darn awkward. Doing the "head shots" is the last step of making an instructional video (at least from the author's perspective), so don the neutral, short sleeved polo shirt, have a seat in the video studio, and start doing "takes". But enough of the process of making a video guide. How does this particular set of DVD lessons stack up? Some negatives immediately occurred when I slipped the DVD into my Ubuntu machine. It didn't play. Turns out that the disc is formatted to play on Windows and Mac only. Linux users need not try. Bummer, Prentice Hall. Fortunately, I keep a Windows computer around for just such an eventuality. The next "bummer" moment came when I was informed that the video plays best at a screen res much higher than is supported by the video card in my (older) Windows PC. It will still play, but you have to click past the prompt telling you to change the res to 1280 x 960. Ironically, Chun mentions towards the beginning of his lesson, that the student probably has Python on their computer if they have a Mac or UNIX-like machine such as Linux (though, he pronounces it "lee-nix" as opposed to "lin-ux"). There are 10 separate lessons contained on the DVD, but even the first or introductory lesson, is really made up of many, small movies that are only a few minutes long. You'll need to continue to click "next" after each small movie. This is probably a good idea if you plan on toggling back and forth between the video and practicing python. Of course, you can always pause the video to try something out. In my case, it would actually be better to run the video on my Windows machine and to practice on my Ubuntu (Linux) machine sitting next to it. In order to be understood by the maximum number of people, Chun was likely instructed to speak more slowly than he probably does in actuality, which gives his voice a slightly "unreal" presentation. It also makes everything go really, really slow...at least for me. Like I said, I can read much faster than a person can speak. While each lesson has an Exercises section in the accompanying book, there's nothing in the video that takes the student through the exercises. The video is pretty "static" in the sense that all it really offers the majority of the time is Chun's voice and a series of slides. It would be like watching a long series of small PowerPoint presentations while listening to the presenter on a speaker phone. Not quite what I was expecting. I was hoping to see Chun actually demonstrate using and developing with Python, which wouldn't be hard. All he'd have to do is take movies of his computer screen with him using the command line while explaining what he was doing. The DVD does contain an "Extras Folder" holding each chapter's sample code. so you don't have to write it all out yourself. Of course, most books have an accompanying website which usually holds sample code, so the only "value added piece" is that you don't have to download the code from the web. I know that one of the real markets for video training are classes given by companies who want to bring their staff up to speed on a particular topic. Such classes may or may not be used with a live instructor. I really didn't see why I'd use this DVD to learn Python as an individual if I had a good book at my side. I also don't see developers using this video in a classroom setting. For me, the only thing I'd like to add to learning Python from the "Core" book is the ability to either email or IM an instructor (Chun would be ideal, but I know he's busy) if I had a problem or question. Of course, there are plenty of programming discussion boards on the web available for this sort of "support". I like the people at Prentice Hall and their books. I like Chun, at least relative to his writing and knowledge of Python (I've never met him, so I can't say I "like" him as a personality, though I'm sure I would). I like Core Python Programming which I previously reviewed for Linux Magazine. I guess I'm not the kind of person who learns better using videos, at least not videos formatted as this one is. Unless you really hate using books and are completely addicted to video as your learning medium, you'll be better served learning Python from Chun's aforementioned text.