Python as a first language: pre-conference workshop
Allen B. Downey · Journal of computing sciences in colleges · 2007
Python is one of the best languages for beginning programmers. It is syntactically and semantically clean, which spares students from the distractions that plague other languages. It provides lists and dictionaries (hashtables) as built-in types, so students can focus more on algorithms and less on the implementation of data structures. It is dynamically typed, which allows students to explore alternativedesigns more easily (with the drawback of providing less compile-time error checking). It is also free and well-documented. Python's implementation of object-oriented features lends itself to either an object-first or object-later approach, allowing students to get from basic programming concepts to data structures and object-oriented design quickly and (relatively) painlessly. In addition, Python has standard modules for graphics, GUIs, network programming, database programming, and more. In one semester, students who have never programmed before can take on engaging projects like networked games and web applications. This workshop is for faculty who are considering using Python in an introductory programming class. I will provide a brief introduction to the language, and participants will have the opportunity to work on exercises similar to what might be used in an intro class. I will also introduce Swampy, a suite of programs I use in my classes. Swampy includes Turtle World, a Logo-like graphics environment implemented in Python, and Lumpy, a program that generates UML diagrams of a running program. Information about Swampy is available at allendowney.com/swampy. The Python version of the book is available in electronic form at thinkpython.com. Participants in this workshop will receive a bound hardcopy.