About My Teaching
At this point in my career I am an online teacher; by that, I mean I've taught more credit hours in remote-synchronous and online-asynchronous environments than I have taught in-person. I also mean that I use research-backed methods to build my online/remote courses. I understand that each modality has its strengths, and I embrace the affordances of remote-synchronous and online-asynchronous delivery, rather than trying to force in-person teaching methods into either environment. I also embrace technologies outside of Zoom and Blackboard; in particular, my students and I use Slack (or something similar) as a tool for community-building, peer support, instructor support, and co-working. (If you have questions about that, I presented on my use of Slack in my courses for the Center for Teaching and Learning; the slides are here, and my blog post about the use of Slack-like tools is here.)
Regardless of modality, I am dedicated to building an equitable environment for my students. This is important enough to me—and to CCAC—that it has its own section in the portfolio. I strive to hold all of my students to high standards, while also acknowledging the systemic factors at play in their lives, especially during the last several semesters.
I believe everyone can learn how to code, if they have sufficient support and are willing to put in the work. It's not magic; like most areas of study, it's a discipline with a set of skills and thought patterns to be learned, not something inherent, or requiring a special kind of intellect to attempt. More to the point, I believe our role, as teachers of programming courses, isn't nearly as much to teach syntax as it is to teach programmatic thinking and problem-solving. That is the real, lasting value our courses impart. Admittedly, those skills are a lot more challenging to teach than syntax and language features, and I am continually working to improve my courses, to better meet that goal.
In the place of tests, which are not an especially useful assessment tool in a coding classroom, I assign coding projects to my students. I grade their projects not only on the functionality of their code but on its readability and on the user-friendliness of their programs. I work very hard to train the programmers we all want to see in the world.
I teach data analytics in much the same way as I teach programming; though, depending on the course, there's likely to be more peer-teaching and more whiteboarding. The other tools we use will also vary more from week to week than they might in a programming course, where we spend most of our time in the same development environment. In a data course we might use Excel, RStudio, Jupyter notebooks, GitHub, OpenRefine, PostgreSQL, and QGIS all in the same semester, some of them in a Linux environment on a virtual machine. I almost always use real-world data in my examples and homework assignments (limiting our use of the iris, diamond, titanic, and mpg datasets to a maximum of one lesson per semester). I also bring in data practitioners and community partners with data problems to be solved, to give students more of a practical view into the field; past presenters I've invited have included Draw the Lines PA, the Nine Mile Run Watershed Association, a research data librarian who specializes in data privacy, and a professional statistician and R programmer.
I treat all of my students as individuals with relevant and valuable life experiences to bring to the table, but my data analytics students, in particular, prove to me again and again that this is the correct approach. They ask excellent questions and challenge me constantly, and it is a joy to teach and be taught by them.