Oliver: Hi Fletcher, so could you tell us a bit about yourself and what you are planning to achieve with your course? What is your background in programming?
Fletcher: Sure. I spent my formative years playing with QBasic, and from there it was a slippery slope to Java, HTML, PHP and other web languages in high school.I studied financial engineering and applications of computing at Princeton, so I moved on to languages like MATLAB, R, Stata, C, and finally discovered Python. In all my programming experience, Python is the quickest, easiest, most powerful language to use for almost any general purpose programming.
But since Python can do just about anything, it can be difficult to figure out where to begin and which capabilities you should really spend your time studying. That’s why I wanted to offer a course that focuses on the most practical aspects and most frequently used functionality of Python. That way, people who are new to the language can quickly begin building projects that they actually find useful.
Oliver: Your Kickstarter project has gone over what you were looking for! How does this feel to you?
Fletcher: It’s fantastic! I’m really encouraged to see that there’s so much interest in the topic.
Oliver: You mentioned on your Kickstarter campaign that Python can be used to create point and click programs, web scraping, basic game development. Could you give me an example of a fully fledged application or script that I could potentially create with Python?
Fletcher: It all depends on what you want to do! Python is equally suited to developing quick utility scripts or entire feature-rich applications. Sometimes the simplest scripts are the most useful – for instance, last week I wrote a script to rename a folder of a few hundred files by replacing certain characters in the file names with others. It would have been a huge headache to do manually, but instead I spent literally one minute coding.
On the very advanced end, a lot of the web applications we rely on all the time, like YouTube and Spotify, are primarily built around Python code.
(Even a lot of the analysis from the upcoming Mars rover Curiosity will be managed in Python!)
Oliver: If I have a website, and I want to add some functionality, some sort of productivity tool, could you give me an example of what might be possible with Python?
Fletcher: One thing that comes to mind as a potential productivity tool would be to send emails out automatically based on custom templates you’ve designed. (To run Python directly from a web server, you’d need to use something like Django https://www.djangoproject.com or Google App Engine http://appspot.com.)
Oliver: Why is Python your favourite programming language?
Fletcher: It’s free, easy to read, quick to write, has a great support community, and even has a sense of humor! (Which is to be expected, given that it’s named after Monty Python…)
Oliver: What is “website data scraping” why might I use it?
Oliver: What type of person would be able to follow your course? Do I need to be a programmer in the first place?
Fletcher: I’m designing the course to make sure that it’s approachable regardless of experience. Complete beginners should be able to use the book from start to finish (although some may need additional practice, and I’ll point out additional resources that offer good general introductions). More seasoned programmers will be able to breeze through the first couple chapters much more easily, although the rest of the course should certainly be of interest to them as well!
Oliver: Do you think that only certain types of people can program anything worthwhile?
Fletcher: It definitely takes a certain mindset to be able to create more complex programs – but with good instruction and plenty of practice, I think anyone can develop the organizational and critical thinking skills needed to be a great programmer.
Oliver: Tell me why I should learn Python.
Fletcher: To show your computer who’s boss! Why spend hours doing boring manual tasks when you can write half a dozen lines of code to accomplish the same thing?
Oliver: Are there many employers that are looking for Python knowledge?
Fletcher: I think it’s an ever-growing number. Besides the general trend toward more tech-heavy jobs, employers are always looking for ways to reduce their costs and speed up workflow, and Python is the clear winner on both those fronts.
Oliver: There seems to be a buzz around learning programming, the new Raspberry Pi is focused on Python, Would you course help me in programming for the Raspberry Pi? Do you think that it is beneficial to get in early, for example the Raspberry Pi is moving towards schools and there seems to be a lot of emphasis on teaching programming.
Fletcher: I’m still trying to get my hands on a Raspberry Pi – tell Eben to send a spare my way and I’ll gladly help write some tutorials! In seriousness, though, Python is Python, so the course will definitely help build some of the basic knowledge necessary for getting the most out of something like a Raspberry Pi. Interfacing with hardware (sensors, USB and such) is another
fairly complex topic, and it’s unlikely that I’ll be able to cover much along those lines in this first course – although perhaps that will be my next Python project!
Oliver: What is your favourite app right now?
Fletcher: Right now? The Kickstarter app that lets me track project statistics 24/7
Oliver: How much of an advantage does programming give me as a web developer?
Fletcher: Web developers who *don’t* know any programming are kind of like a ship captain who’s never been out to sea… You might get by for a while letting other people handle the technicalities, but eventually you’ll sink. Even those who aren’t that interested in learning to program and just want a basic WordPress page with some standard plugins, I’d highly recommend learning a little about what’s really happening on the back-end; you’ll be glad you did when the inevitable time comes for you to fix something that’s unexpectedly broken.
Oliver: Where can I find out more information about your course?
Oliver: How much will the course cost?
Fletcher: The Kickstarter price for the course is just $10.
Thanks so much for your time Fletcher, good luck with “Python By Example”.