Course code: BARR-11
  • Years with company: 4
  • Years programming: 42
  • Primary programming language: C
  • Other programming languages: C#, Ruby
  • Unit test harnesses: nunit a while ago, Ruby MiniTest, in house developed simple C assert function
  • Something else: Extensive software development in assembler, C, C++, and C# for telephone switching systems, analog photofinishing systems, scanners, and medical instrumentation. I switched to teaching software engineering (full-time) 4 years ago. I have an MSEE and a BS in Physics.
  • Test practice now: I use a unit testing framework and/or a debugger.
  • Target system: The STM32L476 discovery board (bare metal) and a PC-104 running QNX
  • Dev tools: Keil and QNX Momentics
  • Build time: 11-30 seconds
  • Coding standard: I created a basic C programming standard for our students based on traditional K&R C.
  • Function too long: When it is doing more than one thing or is longer than a half page (say 20 lines or so).
  • Code reviews: No formal reviews. My students use my framework code and provide feedback.
  • Code time: 20 (40 percent doing requirements and design)
  • Test time: 30 (mostly writing test cases)
  • Debug time: 10
  • Favorite thing about dev: Creating something that exceeds the customers expectations and has an elegant design and implementation.
  • Least favorite thing about dev: Setting up the development environment.
  • Tdd knowledge: When creating a programming examination I first create a few unit tests and then write the code. I never did TDD during my many years in industry. We did do unit testing but only because I took the lead to do that.
  • Why are you attending: To learn the latest embedded systems best practices from an industry perspective. I will then enhance our software engineering curriculum accordingly.