Editor’s note: This is a guest post by Anthony Wright de Hernandez
The Friday before Midwinter officially started, I attended the LITA preconference session Introduction to Practical Programming. As a first-time conference attendee with SQL, XML, PHP, HTML, and Visual Basic experience, I wasn’t sure exactly what to expect from a session that encouraged attendance by participants with no programming background. I chose to attend because I want to learn Python and thought this session would provide a good introduction to the language.
Elizabeth Wickes, a graduate student at the University of Illinois at Urbana-Champaign, clearly knows programming in general and Python in particular. Her instructional style for this session was conversational and informative. Her passion and knowledge kept the daylong session engaging. The mix of basic programming information with Python-specific information ensured that no part of the day was wasted for anyone.
The session began with a brief overview of computing and programming languages. This was a great place to start for a class with a mixed level of experience. As someone familiar with programming, this provided a background for where Python fits in relation to other languages, why it was created, and how its general mechanics differ from other languages. For those with no programming experience, this overview gave a brief history of programming and included a fun introduction to the type of logical and literal thinking required when programming.
After the overview, we dove right in with an explanation of Python’s core data types. Again, the content was presented for mixed consumption. The data type explanations were basic and clear enough for beginners while those with more experience could remain engaged learning the mechanics of how Python interacts with each of the data types.
We had some hands on fun with Python by creating Mad Libs involving Q, from Star Trek, a list of colors, and some randomizing functions. Those of us who brought computers were able to try the code ourselves while Elizabeth demoed it on a screen for the rest of the attendees. Our quick coding exercise resulted in fun outputs like:
- Q asked me, “So what kind of pythons do you want?”
- I don’t know what kind of pythons I want! Who wants 4 pink pythons?
- So I just said, “Give me whatever kind of pink pythons you have in stock, Q”
One great thing about the session was that Elizabeth took on our specific challenges. We all had an opportunity to present the challenges we are facing at work and then get specific feedback on how to create a solution using Python. For example, one of the attendees needed a way to compare two lists of 40,000+ items and identify any items in one list that aren’t in the other. Elizabeth walked us through how to develop a Python script capable of doing the comparison and returning the desired results. There was some great practical demonstration during this part of the session but, sadly, there were only a few of us in attendance so we didn’t get to see the variety of applications that a larger pool of challenges would have provided.
Of course, a single day session isn’t enough to become a master. At the end of the session, Elizabeth provided us with recommendations for further study, including:
Overall (for beginning programmers)
The session was well structured for beginners. There was no assumption of prior programming experience. Basic concepts were introduced smoothly and then built upon to bring beginners to a point where they could create something of practical use. Strategies were provided for researching answers to programming questions and specific recommendations for further learning were given.
Overall (for experienced programmers)
The session was a great introduction to Python. It was definitely designed for all experience levels but, as an experienced programmer, I didn’t find any section a waste. As a way to start learning Python, this session was great value. I got a basic foundation for the language and expert guidance on where to look as I continue my learning.
Anthony Wright de Hernandez is a recent graduate from the University of Washington iSchool. He is the appointed librarian for his local church and is currently seeking employment in academic libraries. You can learn more at his website: anthonywright.me.