Software - Past and Present
Photo from a long time ago.
Computer Science Experiences
- I am a lifelong ball player - basketball, football, soccer, baseball, softball, volleyball, horseshoes, cornhole, high jump, running, bicycling. I mostly ride my bicycles now.
- I wrote my first program on an IBM 1600 using punched cards in January, 1974. I do not remember the programming language.
- I studied math in college. I enjoyed abstract math, and could have gone to UVA graduate school for math, but I did not have enough confidence in my skills / abilities.
- I took several CS courses in college. One was a computer architecture course where I learned assembly programming. Another was a compiler course, where I do not recall learning much; however, I did write a compiler later.
- I worked 34 years as a civilian software/systems engineer for the U.S. Navy.
- My time working for the U.S. Navy, I was primarily a maintenance software / systems engineer. We had large bodies of legacy systems and software. My job was to enhance the legacy systems / software.
- The maintenance programmer's creed - Read the code, not the comments.
- I have developed most every kind of software on many different computers.
- Operating Systems - real time.
- File Systems
- Network Stack
- Compilers
- Assemblers
- Linkers
- Real-time naval weapon control systems
- I have been teaching computer science at the University of Mary Washington since January 2012.
- I have been an adjunct, full-time fill-in, adjunct, full-time. Recently, I decided that I did not want to teach full-time and returned to being an adjunct.
- I have taught Introduction to Programming in Python, 2nd Programming Course in Java, Object-oriented Programming in Java, Discrete Math, Computer Architecture, and Operating Systems.
- I have taught several independent studies. One was a fancy Java program that "controlled" radiation of melanoma in eyes. The program did not really control. A student worked as an intern and had several videos of manually controlled radiation. We used his videos to create a prototype system.
- I have taken several UMW courses. I have taken Object-oriented Programming, Application of Data Bases, Data Mining, Computer Security, IT Infrastructure in the Cloud, and Web Development. This creates a fun dynamic. I am teaching some students while at the same time I am in a class with them.
- As part of my teaching Computer Architecture and Operating Systems, I am developing Charm, a system to help teach these subjects.