I work as an associate professor at Champlain College, a teaching college in Burlington, Vermont. My CS education journey started with my first book, Dart for Absolute Beginners, in 2014. A year later I started adjuncting at a community college in New York while working as a contract iOS developer.
In 2016, I decided to go into teaching full-time and joined Champlain where I teach a variety of computer science classes, many of my own design. I also developed our concentration in Mobile App Development, a major in App Development, and co-developed our minor in UI Design & Implementation. I’ve served as the co-program director of Computer Science & Innovation since 2019.
Some of the courses I have most enjoyed teaching include: Data Structures & Algorithms, Open Source Software Development, Android Development, iOS Development, Topics in Artificial Intelligence, Human-Computer Interaction, and Emerging Languages (a programming language theory course with a modern twist). I have taught more than a dozen different courses. It’s hard to believe, but a few students have graduated taking as many as seven classes with me!
I learned to program when I was 8 years old from my dad who was a CS professor. As a teenager, I built free apps for early versions of Mac OS X. In my 20s, during and immediately after completing my masters in computer science at Dartmouth, I pursued software development work in startups for a couple years. Then I worked for a couple more as a contract iOS and Web developer. Now in my 30s, I’m active in the open source community. One open source library I lead the development of, SwiftGraph, is in multiple apps with 100,000s of downloads.
I also develop indie apps and services (as Oak Snow Consulting LLC). I’ve developed Mac apps in the education and photography space, as well as iOS apps in social networking. For fun, I’ve worked on emulators and an educational neural network library. I’ve developed a Python powered hyper-local daily newsletter read by more than 1% of the population of Burlington, Vermont and Twitter bots.
I’m comfortable working in a variety of languages and development environments. I can build iOS, Android, Mac, and Web apps. I can work in Python, Swift, Objective-C, C, C++, Java, Dart, Kotlin, and more.
I’m an amateur podcaster. Podcasting is one of the few fields where you can produce over 150 episodes across 3 shows, and still be an amateur. But I do it because I enjoy it. The journey is the reward, right?
I created my first show, Consult, when I was working as an iOS contract developer in 2015. Over the next two years, I had the privilege of intervieweing some of the top iOS and Mac development consultants in the business. The show ran its course by 2017 and I had changed careers, but it had some really insightful interviews.
My second show, Business Books & Co., I have co-hosted with friends from Dartmouth since 2019. Each month we read a great business book and discuss how its key points can help us with our careers. In our three seasons we’ve amassed thousands of subscribers around the world and had the honor of interviewing some award-winning authors.
Kopec Explains Software is a podcast I co-host with my wife, Rebecca. Every two weeks we explain a software-related technical topic in plain English. We’re at the point where we have several thousand listens each month and we’re growing fast.