I have been teaching at the undergraduate and graduate levels, as well as in corporate settings, since I joined IBM Research in 1984. I worked for 39 years, teaching programming and performing and managing research and development in algorithms, networking, software development, and cybersecurity. After founding the first Ethical Hacking consultancy, I went on to manage networking, cryptography, security, and privacy research across IBM’s worldwide labs. But my first love was always teaching...
I have been teaching at the undergraduate and graduate levels, as well as in corporate settings, since I joined IBM Research in 1984. I worked for 39 years, teaching programming and performing and managing research and development in algorithms, networking, software development, and cybersecurity. After founding the first Ethical Hacking consultancy, I went on to manage networking, cryptography, security, and privacy research across IBM’s worldwide labs. But my first love was always teaching programming and systems. Most recently I introduced a new course at Dartmouth: BRASS: Building Reliable And Secure Systems using Rust.
My tutoring methods are the result of hundreds of office hours at Dartmouth, mostly online but also face-to-face. I don’t simply answer your questions. I ask you questions and guide you a bit so that you discover your answer. We work through challenges, trying solutions, discarding those that don’t work, while continuously moving towards our goal. Fully understanding the question or problem is often the majority of the challenge. Then, how you discover the answers is the key: where to look, how to look, and which references are trustworthy.
No, the answer is not always ChatGPT. Anyone can try that, but it doesn’t make them more effective at their job. You can differentiate yourself from those who depend solely on AI for their answers by being the person who understands and can explain an AI’s answers, and can fix the sometimes erroneous answers that AI provides.
I also aim to help students see how what they are learning can be used to better our world. Regardless of their eventual career path, the experience of critically thinking about the real-world use and impact of computers and software gives students the foundation to make reasoned decisions that affect their public and private lives.