Learning to program, like learning a language, can easily seem scary. However, like spoken languages, almost all programming languages share common roots. This class focuses on laying this groundwork so you can simplify common tasks programmatically in your daily life, as well as preparing you for advanced programming topics.
There are many programming languages available for you to lay this foundation in, but this class specifically focuses on Python. Python is a modern language that contains the common roots you need to get started, but as an added bonus uses a friendly, human-readable syntax that allows you to make linguistic connections between programming and speech. At the same time, it abstracts away the nitty gritty so you don’t ever have to worry about what’s going on under the hood of your computer. If this sounds complex already, DON’T PANIC, Python makes it easy for you.
The following is a rough class schedule, expect changes.
Part 1 — Tuesday, July 23rd, 7–9 PM
- “Hello World” – Strings, Format Strings, and comments
- “Prompting” – Raw Input, escaping, argv, variables
- “Files” – Reading, writing, copying, functions
- What have you learned? Words & Symbols: list, research, and define.
- Read some code! Search github.com and bitbucket.org for “python”, “python art”, “python literature”, “python physics”, or any subject that interests you. See what people are doing with python, read through .py files, and see what you can understand.
Part 2 — Thursday, July 25th, 7–9 PM
- Homework Discussion
- “Basic Logic” – !, ==, ||, if, else, else if
- “Loops” – arrays, dictionaries
- “Game” – state machines
- “Classy Game” – Object-Oriented Design
The class covers through lesson 42 of “Learn Python the Hard Way”, by Zed A. Shaw. The full book, including examples and lessons, is available online at learnpythonthehardway.org.
Attendees should bring a laptop pre-configured per the following instructions.
If you need assistance setting up your laptop, please arrive twenty minutes early on Tuesday.
About the Instructor
Nathan Trapp is a Software Engineer for Savant Systems, an Apple based home automation company in Hyannis. He has been professionally programming for over 8 years doing a wide variety of work including web design, augmented reality, app development, and game design. His work has been featured in PC Gamer and EDGE magazines and can be viewed on his website, trappdesign.net. Nathan has a BS in Computer Engineering from the University of Massachusetts Dartmouth.