Creating Accessible, Open Educational Resources

In a previous post I detailed some ways for creating open, accessible curriculum and my specific goals / requirements. I have now implemented a system for a new class so I wanted to do describe my approach. I don’t presume this is the best approach, but it (mostly) fits my requirements.

Course website:
GitHub repository:

Continue reading “Creating Accessible, Open Educational Resources”

Course Content for ITP 348 (Introduction to Physical Computing)

ITP 348 (Introduction to Physical Computing) is an introductory electronics and IoT (Internet of Things) class. It serves as the core electronics course of ITP’s Connected Devices and Making minor, which teaching applied electronics skill to create “smart devices.”

In designing this course, I found it challenging to select the content and develop the appropriate depth. Our minor serves students with all majors and the only prerequisite is an introductory programming class (typically in Python). There are many excellent resources available, but much of it is geared for K-12 (too simple) or electrical engineering (too advanced).

I have received help from a great network of other faculty so I wanted to share the material I am developing in case it is helpful to anyone else. Also, the content is accessible for all users. I will be adding material through Dec 2019, and then it will remain available and updated in on-going semesters.

Course website:

GitHub repository:


Learning Python is great!

Python is a wonderful language to learn. When I first had to teach Python, I found programming to be fun in a way it hadn’t been before.
Since the syntax is more friendly and understandable, it makes it easier to learn core programming concepts.
Quick note: There seem to be two different approaches to learning / using Python
      1. Using the Python language in a classical programming manner. This is my approach since my goal is to teach introductory students programming concepts.
      2. Using a Pythonic approach where really cool features of the language are utilized to achieve some elegant feats in a few short lines. This approach is great as well but I am less familiar with.

Resources to learn Python

Some of the tutorials have interactive places where you can write python code which is great. Eventually, though, you’ll probably want to code locally on your computer. I recommend using an IDE (visual) program for beginners and avoiding the “command” line approach. For instructions on how to set that up, I included a PDF I created for my class.
Feel free to comment with any other recommendations.Python and Pycharm Installation