Meet Your Instructors Series – Logan

This month we are featuring our knowledgeable instructor, Logan Thomas.

1) What is your name and where are you currently located?

My name is Logan Thomas, and I’m currently based in Austin, Texas.

2) How did you end up in engineering education?

I came into engineering education through a natural progression from industry into teaching. I started my career applying machine learning and data science in domains ranging from digital media to mechanical engineering to biotech. Along the way, I discovered how much I enjoy breaking down complex concepts and helping others level up their skills. This led me to teaching roles at Enthought and mentoring opportunities through conferences like SciPy, where I’ve served as the Tutorials Chair. I love helping others build confidence in technical topics.

3) How do you stay current with the latest advancements in engineering technology and industry practices?

I stay up-to-date through a combination of hands-on work, professional communities, and continuous learning. I regularly contribute to and attend conferences like SciPy, stay active on GitHub, and follow key publications and blogs in data science, machine learning, and software engineering. I also enjoy experimenting with new tools and libraries in side projects and applying them in my role as a Data Science Software Engineer at Fullstory.

4) Can you describe your teaching philosophy and how it aligns with Diller Digital’s mission and values?

My teaching philosophy is rooted in curiosity, empathy, and empowerment. I believe the best learning happens when students feel safe to ask questions, explore, and make mistakes. I aim to connect abstract concepts to real-world problems and encourage students to become confident problem-solvers. I bring not just technical depth but a coaching mindset that helps learners develop independence.

5) What engineering software and tools do you have experience with, and how do you incorporate them into your teaching?

I have extensive experience with Python, TensorFlow, PyTorch, PySpark, and data science libraries like numpy, pandas, scikit-learn, and matplotlib. I’ve also worked with engineering tools like MATLAB, Abaqus, and simulation platforms during my earlier mechanical engineering roles. In teaching, I use these tools to build hands-on labs and project workflows that mirror industry applications—for example, guiding students through feature engineering in Python or designing reproducible machine learning pipelines.

6) How do you balance theoretical knowledge with practical, hands-on learning in your classes?

I try to lead with intuition, then reinforce with both theory and practice. I introduce concepts through stories or visuals, connect them to math and science fundamentals, and then move into code or simulation exercises. I often use real-world datasets and scenarios to bridge the gap between textbook theory and professional problem-solving.

7) Can you discuss your experience with project-based learning and how you guide students through the data analysis workflow?

Project-based learning is at the core of how I teach. I’ve led corporate hackathons, taught project-based machine learning courses, and mentored students through the entire data science lifecycle—from framing the problem and wrangling data to building models and interpreting results. I emphasize documentation, version control, and modular design to instill good engineering habits while keeping things collaborative and fun.

8) What strategies do you use to assess student understanding and provide constructive feedback on their work?

I focus heavily on active engagement and asking probing questions to gauge where students are in their understanding. During live coding sessions, I pause frequently to ask why a certain approach might work or what might happen if we changed a parameter—this helps surface both strengths and misconceptions in real time. I also use “coding karaoke,” where students follow along and fill in missing pieces of code to reinforce concepts and promote deeper learning. These interactive techniques give me a window into their thought process, which is often more insightful than a finished project. When giving feedback, I keep it specific, kind, and actionable—usually highlighting what they did well and nudging them to reflect on one or two key areas to improve. I also encourage self-assessment and goal-setting to build metacognitive skills and confidence over time.

9) What strategies do you use to communicate complex engineering concepts to students with varying levels of understanding?

I rely on analogies, visual aids, interactive demos, and scaffolding. I check in often, ask open-ended questions, and adjust based on the group’s energy and comprehension. I also try to normalize “not knowing”—creating an environment where curiosity is more important than correctness. Teaching, for me, is more about coaching than lecturing.

10) What is your favorite way to spend a Saturday? Favorite meal?

My favorite Saturday is one where I get some good coffee, play outside with my wife and two boys, and maybe sneak in a run or catch a baseball game. In the evening, nothing beats a homemade meal—especially if I can grill it in the backyard with friends and family around.

Logan and family in Austin

Thanks for your answers to these questions, Logan so we can get to know you better as one of our respected instructors.

Meet Your Instructors Series – Alex

This month we are featuring our knowledgeable instructor, Alex Chabot-Leclerc.

1) What is your name and where are you currently located?

My name is Alexandre Chabot-Leclerc, but I go by Alex. I live in Burlington, VT.

2 ) How did you end up in engineering education?

The two things I enjoyed doing most in grad school were teaching and programming (writing papers, not so much). I thought the only way to combine these two things was to become a professor. Thankfully, I found a perfect role I didn’t know was possible: trainer & scientific software developer at Enthought. I started there in 2016 and taught more than 800 students during my time there.

3 ) How do you stay current with the latest advancements in engineering technology and industry practices?

I have a rather voracious information diet. I subscribe to hundreds of RSS feeds that I read and scan regularly. I don’t recommend this to everyone (anyone?), but it works for me. I’m also part of various groups of people with varied interests that always bring up interesting new things.

4 ) Can you describe your teaching philosophy and how it aligns with Diller Digital’s mission and values?

I believe everyone can learn. And that everyone likes learning. But for learning to be fun, it has to be just hard enough to be satisfying. My job as a trainer is to stay in that zone for everyone at once (that’s the very tricky part!). 

I also believe learning without a solid foundation is like building on sand. It’ll last for a little while, but then it will crumble. Therefore, I spend a lot of time querying students, paying close attention to their reactions, and developing an understanding of what they know. What’s solid that I can build on? 

I also believe that you learn by doing. We’ve all had this experience of listening to a teacher, nodding our heads in agreement, and then trying to solve the exercise on our own and realizing we don’t actually know how to do the thing. Well, that’s why our classes have so much hands-on content.

5) What engineering software and tools do you have experience with, and how do you incorporate them into your teaching?

I “grew up” using MATLAB, and even though I haven’t used it in a little more than a decade, I remember enough about how it works to be useful when teaching. Otherwise, the tools I use regularly are all the usual suspects from the Python scientific computing and PyData ecosystems: NumPy, Pandas, Matplotlib, scikit-learn, plus some more domain-specific packages.

6) How do you balance theoretical knowledge with practical, hands-on learning in your classes?

As much as I love theoretical knowledge, I teach students that the service of the theoretical knowledge is at the service of the theoretical knowledge. In classes, most of the value is in the doing. Therefore, all the theoretical knowledge I teach students is at the service of the hands-on work they will do in class, and especially, when they return to work.

7) Can you discuss your experience with project-based learning and how you guide students through the data analysis workflow?

I have extensive experience with project-based learning, both as a student and as a trainer. My entire undergraduate degree in electrical engineering used project-based learning, and I loved it. Learning was always at the service of doing something, of solving a problem. It helped connect each piece of learning to all the other ones required to get to that point and all the point and all the ones that came after.

Later, as a trainer at Enthought, I created classes and developed a whole program based on project-based learning. Major theories of “transfer of learning” suggest that it’s easier to apply what one has learned after practicing and when the learning experience and the new situation are similar. Therefore, my goal whenever I design a project is to make it as realistic as possible and use the tools that students will likely use in their work.

8) What strategies do you use to assess student understanding and provide constructive feedback on their work?

I ask questions (nicely!) until I’m satisfied with the answer. I’m looking for a correct and “solid” answer; something they really know. If the knowledge is shaky, it’s hard to build on.

To be effective, I must build trust with students. I need them to be honest when answering questions, even if it means showing everyone else there’s something they don’t know.

9) What strategies do you use to communicate complex engineering concepts to students with varying levels of understanding?

I use simplifications and analogies, often multiple ones. Usually, they’re analogies from the physical world or accessible things, like cooking. To help me, I also ask every student about their experience at the beginning of class. That way, I understand where they’re coming from: their domain of work, which programming languages they’ve used, etc. I’ll use that knowledge to provide examples, concepts, and comparisons to things I know they’re familiar with.

I’ll also try to reveal complexity in a progressive manner. I’ll start with a simple analogy or explanation for people who are maybe less experienced so they at least know that this thing exists or have a good mental model for it. Then, I’ll dig in deeper and deeper, closer to the details of how things work for the more advanced people in the class.

10) What is your favorite way to spend a Saturday? Favorite meal?

There are so many ways to spend a good Saturday! A good one is a tasty brunch with family and friends, outdoor physical activities like a bike ride, a nice happy hour, and a tasty dinner. What’s for dinner? Some Japanese food (not sushi, even though it’s lovely) would be great.

Thanks for your answers to these questions, Alex so we can get to know you better as one of our respected instructors.

Meet Your Instructors Series – Tim

Hello! This is Rachel and I will be hosting a series of Q+As with your valued instructors so that you can get a glimpse into their specific career backgrounds, teaching styles and processes.

We will be starting with our President and Founder of Diller Digital, Tim Diller, pictured here.


 
1) What is your name and where are you currently located? 

My name is Tim Diller, and I live in Austin, TX with my wife Hannah and my dog Stella.  I have three adult children who are all out of the house now. 

2 ) How did you end up in engineering education? 

For me it has been a long, winding, and nearly closed-loop path.  My reference point is my father, who has spent his entire career in academia, combining research and teaching in Biomedical Engineering at The University of Texas at Austin.  From him and others in my family, I developed a high regard for education, and from an early age I aspired to professorship, and that vision plus a deep-seated curiosity about mechanical things (especially cars and airplanes) guided my steps through high school, my bachelor’s degree in Mechanical Engineering at The University of Texas, and into the first semester of a Master’s degree program at MIT, where I hit an academic wall, nearly failing out of the program.  On academic probation, I did some deep soul searching and realized that the math-heavy robotics program I had been pursuing was not a good fit for my natural talents and inclinations.  Instead, with some guidance, I pivoted to project-based courses in manufacturing and production systems design, where I thrived.  That led me to my first “real” job, at the Michelin Americas R&C Corporation. 

My time at Michelin helped me realize a few more things:  I love the collaborative team environment, I love learning about what people are doing in industry (working for a Tier 1 supplier in the automotive industry is great for that), and I love teaching (I had the opportunity to pick up, revamp, and deliver Michelin’s course on tire performance for vehicle handling during my time there).  I also found myself gravitating to software development projects and had my first exposure to Python at that time.  I spent 5 years there before a growing sense of “unfinished business” led me to return to graduate school for a doctoral degree at The University of Texas. 

During my doctoral program, I spent a lot of time instrument an engine and analyzing data on exhaust gases (if you’ve taken a class from me or read some of my other posts, you’ll notice I use a lot of automotive references). had many opportunities to teach, substituting for my advising professor from time to time, delivering guest lectures on tire performance for another professor in the department.  By the time I had finished my degree and was working as a postdoctoral researcher, this was a regular occurrence.  During those years, I also made the transition from MATLAB and because thoroughly hooked on Python.  At the same time that I was seeking employment in academia, my love of using software for scientific computing was growing.  Thus it was that during another round of academic hiring (this was during the period after the downturn in 2008), I found that Enthought was hiring, and right in Austin, where I was located. 

The opportunity at Enthought included working on interesting coding and consulting projects across a broad swath of industry, working collaboratively in small teams, and teaching a 40-hr, week-long class called Python for Scientists & Engineers, which I would eventually teach over 50 times for Enthought. 

When in 2023 Enthought retired their training department during a reorganization, I founded Diller Digital to provide continuity of service to the customers they had served for decades.  I get a lot of joy working with smart, motivated engineers, scientists, and analysts to help them increase their digital skills in scientific computing. 

3 ) How do you stay current with the latest advancements in engineering technology and industry practices? 

I read papers and a lot of tech-oriented news sources.  It’s a lot of fun for me to do that. I buy (paper!) books on the topics I teach about and mark them up, code the demo examples and play around. For example, at present (mid 2025) I’m in the middle of reading and coding my through Sebastian Raschka’s Build a Large Language Model (From Scratch).   From time to time I will do small consulting jobs to stay engaged.  And it turns out I learn a lot from my students when they ask good questions.  I’ve learned that often the best answer is “I don’t know, but let me look into that”, and I’ll do enough of a deep dive to get an answer the next day, but often I’ll keep going.  And sometimes I’ll incorporate new material into the course based on that.  Or post about it.

4 ) Can you describe your teaching philosophy and how it aligns with Diller Digital’s mission and values? 

I believe that technology should be used to elevate the value and dignity of humanity’s work.  I also believe that a thorough understanding of fundamental principles is critical as a solid foundation for future self-learning in scientific computing and solving problems with software.  Because of that, I emphasize lots of hands-on experience, getting students to do basic things by hand and on their own before teaching them how to automate work with higher-level tools.  Although they might articulate it a little differently, this is close to the philosophy Enthought used to develop the materials we deliver at Diller Digital.  Enthought was clearly formative for me in my approach to teaching. 

5) What engineering software and tools do you have experience with, and how do you incorporate them into your teaching? 

My day-to-day coding work takes place in two contexts.  In the classroom, I use Jupyter Lab, which is just about the perfect tool for that environment— it’s simple enough to get everybody on the same platform quickly, even if someone has never used it before.  For maintaining the demos, exercises, automation scripts, or any other more-involved coding work, I’ll use VS Code with the Flake8 and Diff extensions installed. 

In the past, I liked Sublime Text because of its multiple-cursor and block-editing capabilities, and before that I was a proud (and probably obnoxious) fan of emacs, which I’ll still use on occasion when logged into a server with text-only interface.  But for that environment, I have come to appreciate the lighter-weight nano editor, which is available in pretty much every text-only environment I use these days. 

In addition to Python and the scientific computing libraries we teach, I’ve spent substantial time with MATLAB, C, LabView, and Visual Basic.  My first programming language was BASIC for the TI-99/4A, whose CALL SPRITE was the key technology that let me write my own video games. 

6) How do you balance theoretical knowledge with practical, hands-on learning in your classes? 

I try to teach in a way that theory and practice complement each other.  I use theory to explain the “Why”, and practical, hands-on learning to explain the “How”.  For example, when it comes to talking about lists and sets, the theory is important for understanding why sets have such faster look-up times, but I make sure that knowledge is accessible by demonstrating and having students follow along with %timeit commands. 

7) Can you discuss your experience with project-based learning and how you guide students through the data analysis workflow? 

As I talked about earlier, in graduate school I really struggled with theory-heavy instruction and thrived in project-based classes.  In addition, I have watched my father (an engineer professor) develop a course for graduate students in designing inquiry-based instruction, which is closely related to project-based learning.  Over the decades, we have had many long discussions about and have developed a shared passion for the subject. 

With that in mind, I start each class by asking them what goals they have in mind and then probing as much as time allows.  On the one hand, I’m genuinely interested in finding out what people do, but on the other hand, getting a student to articulate their problem and the value they are bringing to their organization is critical to creating context for learning.  That was a big part of what I did as a consultant for Enthought, and I have carried that into the classroom. 

Once context is established, I assume that the students need to see and hear, to follow along on their own machine, then to do on their own and exercise recall before they’ll master a concept.  We do this at multiple scales, typically building up from using and mastering data types, moving on to useful code segments, and ending with some kind of realistic capstone project that ties everything together.  Each of Python Foundations, Data Analysis with Pandas, Machine Learning, and Deep Learning follow this arc, and in choosing exercises, we have worked hard to make sure the problem is simple enough to be tractable in the relatively short time we have in class yet also complex enough to provide experience that will be useful in day-to-day work. 

8) What strategies do you use to assess student understanding and provide constructive feedback on their work? 

We have lots of small “Give It A Try” exercises that are designed to cement understanding and surface any confusion.  In virtual courses, it’s a bit more of a challenge, because I have to rely on self-reporting, and not everyone likes to unmute and ask a question.  For in-person classes, I walk the room during such exercises and look for the pink background of error messages.  The barrier to asking questions in that environment is lower.  But in either case, I tend to get good questions. 

The Give It A Try exercises are conducive to having students share their code, so sometimes I’ll use someone’s answer to explain the solution and ask for peer-suggestions. 

9) What strategies do you use to communicate complex engineering concepts to students with varying levels of understanding? 

This is the real challenge, because there is always a good diversity of backgrounds and experience.  One thing I do is try to provide a meta-level discussion, letting students know how important the following concept is and whether understanding it is critical or they can ignore it if needed. 

Another thing I do is to treat every question like pure gold, no matter the level.  If they ask about something fundamental I’ve already explained 5 times, great!  Because in that case, they finally have the context to get it, and by asking the question, they’ve owned the concept.  And if they ask a real stumper, and I have to do homework afterward to figure it out, that’s great too. 

Finally, I use a lot of physical analogies.  Students who have been in my classes may recall I tend to use a lot of automotive analogies, referring to “popping the hood” or talking about engines, brakes, and clutches.  But if someone mentions something like owning a hobby farm during introductions, we’ll talk about examples from the farm during class. 
 

10) What is your favorite way to spend a Saturday? Favorite meal? 
My ideal Saturday starts in the yard, mowing, weeding, or trimming. Once that’s done and the house is clean, maybe my wife and I will take our dog Stella for a walk on the local greenbelt trail.  After that, I work in the shop, where I like to build or restore furniture, make picture frames, or turn a bowl on my lathe.  Double the points if one of my kids is working with me.  If I can fire up the smoker and keep some ribs (when there’s more time) or fish (if there’s less) going while I’m in the shop, that completes the perfect Saturday. 

Tim Diller with his Family

Thanks for your answers to these questions, Tim so we can get to know you better as one of our respected instructors.