Here are some questions people might have:
Q: I want to learn to code, what language should I use?
A: A simple one. I wouldn’t choose C, or Java , or Swift. They are too complex, and contain things that aren’t needed in the beginner stage. I would honestly choose something like Python, Julia, or even Fortran.
Q: I want to design programs, does language matter?
A: Yes. Every language excels at something. Very few languages can do everything.
- Scientific programs → Fortran, or Julia.
- Statistical work → Julia or R.
- Systems programming → C.
- Apps for IOS → Swift.
- Rapid prototyping → Python, Julia.
- Image processing → Julia.
- Real-time systems → Ada.
Q: Do I need to know OO (object-oriented)?
A: Not when starting out, and I would imagine you can get away with avoid it all-together. It has its benefits, but honestly sometimes its just a hassle for smaller programs.
Q: How many degrees do I need?
A: Honestly – none. Don’t get me wrong, there are inherent benefits to a university degree, but I have four of them, and they don’t really allow me to do anything that special. If I could levitate things, or perform magic it might be one thing. Did they expand my mind? Not really. The experiences of life did that. I don’t really know why you need a PhD to teach, seems like overkill to me. There are plenty of exceptional teachers in many professions, and they have no formal qualifications. People can be successful at anything as long as they try. There are days I wish I had become a cabinetmaker.
Q: Do you like AI?
A: No, I don’t. The world is full of too many things that taking thinking away from humans, which I don’t think is a good thing. People can’t even add numbers is their mind anymore, so I’m not a big fan of making us think even less. I’m sure there is a role for AI, but we shouldn’t let it replace us.
Q: Do you do research?
A: I dabble is computer science pedagogy, and scholarly work related to programming languages (mostly from a historical context) and image processing/digital photography. I don’t currently have any graduate students (or any funding), but I do supervise undergraduate research projects. If you are interested in becoming an masters student, by all means email me, but please don’t email me saying “I have looked at your webpage and it seems like my background is a good fit for the research you are doing”. As is often the case it never is. I will take on self-motivated, self-directed individuals who want to expand their horizons, but I am not into micro-managing.
Q: Why do you blog?
A: Why not? I don’t like technology much, but I do like to write, and disperse knowledge that I have gained. Maybe it’s useful to someone. I don’t think writing journal articles is necessarily a very fruitful way to spend time, as very few people read them. Blogging gets things out to the masses, that and I can write a series of articles of a topic without it taking 6 months.
Q: What do you know about usability ?
A: I’m not a usability expert, I look at usability from the primary aspect – use. I actually do some work in tactile usability as it pertains to the design of tools used by humans (e.g. kitchen tools, woodworking tools).