The Department of Mathematics and Computer Science did a ton of service and outreach this summer. We held our third Green and Renewable Energy Workshop for middle-school teachers in Joliet. We held two summer camps, one on programming and the other on computer security. With the generous support of AT&T and their Aspire program, we held a weeklong camp that introduced high school girls to Computer Science. It has been a very busy summer.
One of our summer activities that will have potentially the greatest impact, however, is the free programming tutorials we offered. We held six one-and-a-half-hour sessions on consecutive Wednesdays in June and July to teach high school Computer Science teachers how to program in Python. We held these sessions to help address what has become a pressing concern for us as a college Computer Science program: the lack of high school computer programming offerings. Our hope in offering these lessons was that, if teachers had a solid background in one of today’s most celebrated and popular programming languages, they would pass on that knowledge to their students through classes and extracurricular activities. Judging by their enthusiastic feedback, we believe several of them may do just that.
Python is computer programming language that was created in the early 1990s. It has steadily grown in popularity over the past two decades because it is that rare language that is both a perfect first language for new programmers and one that can be used to create remarkably sophisticated applications. It achieves both aims thanks to its intuitive and flexible design. The language is clean and uncluttered, with a minimum of odd punctuation and cryptic keywords. It enforces clarity and organization thanks to its insistence that you write your code consistently. It allows you to introduce data into your program without forcing you to declare what kind of data it is rigidly from the start. It is also extremely modular in that it allows you to separate your code into multiple files, each of which is dedicated to a specific type of task.
Python gains much of its power from the thousands of libraries programmers around the world have written. Just as you can create your own files of code and reuse them in multiple different projects, you can also import such single-purposed and reusable files others have written. This ability to introduce others’ code into your own project has given rise to a cottage industry of Python libraries that accomplish very specific and sophisticated tasks. There are so many libraries of Python code you can find on the Internet that it is very likely that, regardless of the task you need to perform, you’ll have at least a start on implementing it thanks to the worldwide community of Python programmers. These libraries make this simple language flexible and powerful.
In the sessions we taught this summer, we worked with the participants to master Python’s syntax. We showed them how to write programs that interact with the user, asking questions and displaying output. We taught them how to perform calculations, repetitive tasks, and tasks that involve multiple courses of action. We had them read and write from text files on the disk, and we helped them build graphical user interfaces for making the software they write prettier and easier to use. They became really good at breaking code down into multiple functions, and they even began creating their own kinds of objects, just like a professional object-oriented programmer would. As Computer Science is far from just about programming, we exposed them quite a lot to an increasingly important part of the field, cyber security. The participants wrote their own code for encrypting and decrypting text using a variety of classic encryption algorithms. This proved to be an effective way to explore the basics of Python programming while also learning a substantial amount about computer security and privacy.
The six sessions we taught this summer were recorded. Anyone who wants to learn Python can access them at our website, http://cs.lewisu.edu. Just scroll down the page until you find “Python for Teachers” on the left side of the page. Right-click on the weekly links to download each mp4 file to your computer or tablet. In just nine hours of free training, you can start to call yourself a reasonably good Python programmer.
Give it a try! It’s free, it’s fun, and all the cool kids are doing it.