Bo Hatfield is chairperson of computer science and the program coordinator for the graduate certificate in foundations of computer science.
I understand that you spent a couple of years in private industry before you joined the realm of academia. How did you know that you wanted to teach and what drew you to Salem State?
I first discovered I loved to teach when I worked as a teaching assistant in graduate school. Although I worked in the private industry for a couple of years – first as a design engineer at Motorola and then later as a senior software engineer at a company called MultiLink – I always leaned towards teaching and missed teaching each time I worked in the private sector. I chose Salem State because I wanted to work somewhere that was very teaching-oriented.
What are your research interests and how do they contribute to your teaching?
Teaching in the computer science department I am able to teach courses from a wide range of subjects. In addition to specializing in the well-established foundations in computer science, such as computer hardware and the fundamentals of computer design, I like to research new and emerging areas for ideas on courses our department might someday add to the curriculum such as a course on Mobile Application Development for Android. Right now I am very interested in Big Data and Cloud Computing and my goal is to become more specialized in those areas.
Teaching computer science can be just as challenging as working in the computing industry because technological changes move so fast. It requires one to be constantly reading about and learning new technology through participating in webinars and attending conferences in order to stay current. As a department, we are constantly updating and refreshing our teaching materials to adapt to the most recent changes in the field.
Tell me a little bit about the new certificate in foundations of computer science. Who is the certificate designed for and what makes the program unique?
The certificate is designed for those with a computer science background looking to strengthen their understanding of the foundations of computer science in theory and practice, as well as for those who want to work in technology but did not major in computer science in college. For the second group, through the certificate students can learn the fundamentals of computer technology within a year instead of going back to school for a second bachelor’s degree. The program contains four modules: Theory of Computation, Analysis of Algorithms, Software Engineering, and Computer Systems. We carefully chose these courses to give students a strong understanding of computing while preparing them for careers in IT or software development. Currently, there are over 10,000 software development jobs in Massachusetts and there are not enough skilled workers to meet the demand. We developed the certificate program to help meet this demand.
What advice would you give to somebody interested in computer science but not entirely sure what direction they want to take it (i.e. web developer vs. software engineer vs. network administrator, etc.)? What is the best way for them to test the water and get started?
My best advice is to focus on learning the fundamentals first, whether through an undergraduate major or the graduate certificate program. No matter how new and sophisticated a specific technology is, the fundamentals remain the same. By developing a strong foundation in the core set of areas of software development, hardware, critical thinking, and problem solving, one will be prepared for a variety of specializations. That is why our computer science program focuses on the basics first and then allows students to try out different areas through electives.
My second piece of advice is to be willing to adapt. Technology is constantly changing and students need to be flexible, adaptable, resourceful, and ready to learn new things quickly.
What book are you reading now?
Right now, all of my books are related to the courses I am teaching, especially new developments in computer technology such as Cloud Computing and Big Data. My favorite thing to read when I have time is the news put out by the Association of Computing Machinery (ACM): ACM TechNews. It really is amazing to see what people are doing in the technology frontend – especially in the area of Cloud Computing and AI (Artificial Intelligence). For instance, there is so much going on with self-driven cars and drones and how we can create AI technology while taking care to not hurt humans. We have a link to ACM TechNews on our department’s web page and I recommend it to anyone who wants to stay up to date on the latest computer technology.