George Mason University  ·  Computer Science

Teaching

Bridging 30+ years of industry practice with the education of the next generation of software engineers.

Thirty years of designing and verifying software for mission-critical systems shapes everything about how I teach. The concepts matter — but so does understanding what it actually costs when the software gets it wrong.

My goal is to help students bridge the gap between knowing the principles and being able to apply them under the kinds of constraints and pressures they will face in the field. That gap is exactly where I try to teach.

Current Courses

SWE 660

Real-Time Embedded Software Engineering

Advanced treatment of software engineering principles as applied to real-time and embedded systems. Covers concurrent programming models, scheduling theory, RTOS concepts, UML/SysML modeling, performance analysis, and the unique verification and validation challenges of mission-critical embedded software. Grounded throughout in case studies from aerospace, defense, and other safety-critical domains.

CS 321

Software Engineering

Principles and practices of software engineering for large-scale systems. Topics include requirements engineering, software architecture and design, development processes and methodologies, testing strategies, and project management. Emphasis on applying these skills in team-based project work that mirrors real-world professional environments. CS 321 also forms the foundation for the Vienna Study Abroad program — see Study Abroad for details.

Philosophy

I hear and I forget. I see and I remember. I do and I understand.

That Confucian observation is more than a classroom poster quote — it is the organizing principle behind how I design my courses. Students in my classes don't just read about software engineering; they practice it, argue about it, and in many cases deploy it. The gap between knowing a principle and being able to apply it under pressure is exactly where education should live.

Office hours are held in Engineering Building 4304. Day and time are posted on the course Canvas site each semester. But feel free to pop in if my door is open!

“I hear and I forget. I see and I remember. I do and I understand.”
— Confucius