This blog post describes the process that I went through to obtain a Ph.D. in computer science. I did this through a non-traditional route in a distance doctorate program at Nova Southeastern University(NSU) in Ft. Lauderdale Florida. I’ve described this process to enough people that I decided to write a summary post to provide information to anyone else who might be interested in such a program. Since the school is in Fort Lauderdale, FL, my wife and I treated most trips as a family trip. Here we are on campus standing by a Dr. Who Tardis that the theatre students had built at NSU.
As a data scientist, I’ve read many academic papers to learn cutting edge techniques and algorithms that I can apply. When I implemented the Encog machine learning framework, I found it necessary to read academic papers to learn how to implement many of the machine learning algorithms that Encog needed to function. As I implemented algorithms in Encog, I sometimes saw ways that I could improve the algorithm’s function. I thought about publishing these improvements as papers of my own; however, I was not sure of the process to go about doing this.
I also wanted to learn more about the academic research and publication process. I thought it would be great to contribute back to the same sources (journals and conferences) that I had learned from as I implemented Encog and learned new data science techniques. Additionally, I am a member of the research and development department of a life insurance company. As an R&D employee, we are encouraged to publish. Because of these reasons, I decided to begin a Ph.D. program.
Wikipedia describes Nova Southeastern University (NSU) as a private nonprofit university, with the main campus located on 300 acres (120 ha) in Davie, in the US state of Florida. The university is accredited by the Southern Association of Colleges and Schools and is ranked 214th by U.S. News & World Report. These rankings placed NSU on approximately the same tier as the University of Missouri state school in my city. The tuition was also considerably lower than the prestigious private school in my city that I obtained my master’s degree. I was not required to take any time off from my primary employment. Balancing all of these factors, NSU was a perfect fit for my career.
NSU offers several PhD programs through the College of Engineering and Computing (CEC). I chose computer science because it fit most closely with my interests. I am a technical person. I like to code. I like to code solutions to hard problems. I wanted my primary work in the program to be creating algorithms and writing about algorithms. Mostly, I wanted to learn how to publish my algorithms and results.
The computer science Ph.D. program at NSU requires a minimum of 64 credit hours to graduate. These credit hours fall into the following three categories:
- Coursework (8 courses x 4 credits each, 32 credit hours)
- Doctoral Research (2 sections x 4 credits each, eight credit hours)
- Doctoral Dissertation (3 sections x 8 credits each, 24 credit hours)
- Continuing Dissertation (4 credits each semester)
My progress through each of these is described in the following sections.
The course work for the computer science Ph.D. program at NSU was taught in a distance cluster format. This requires a student to attend on-campus course sessions twice a semester. This format has since been revised to a longer weekend single semster visit. Each course will be offered in either the morning or afternoon session. Because of this a student can only register for a maximum of two classes a semester. The cluster session is held over a Friday and Saturday. The morning session is from 8:00AM-12PM on both days. The afternoon session is held from 1:30PM-5:30PM on both days. The first cluster session is held at the very beginning of a semester, and the second cluster session is held at the midpoint of a semester.
These courses consisted of reading, written, and sometimes group assignments. The second cluster session was sometimes used to take an in-class timed midterm examination. Many of these courses required computer programming, typically in the language of your choice. Some courses specified the programming language when the course content required it. All classes emphasized reading computer science literature. Fortunately, I had had already gained some experience with academic literature while working on the Encog project. This familiarity with current research gave me a head start in some classes and ultimately on my dissertation.
I took the following courses (with the following professors):
- CISD 750: Database Management Systems (Junping Sun)
- CISD 760: Artificial Intelligence (Sumitra Mukherjee)
- ISEC 730: Network Security and Cryptography (James Cannady)
- CISD 792: Computer Graphics (Michael Laszlo)
- CISD 794: Knowledge Discovery in Databases (Junping Sun)
- CISD 700: Theory and Principals Of Programming (Michael Laszlo)
- CISD 770: Software Engineering (Frank Mitropoulos)
- CISD 730: Operating Systems (Gregory Simco)
Once the student had completed two semesters and completed eight credit hours, they could begin taking doctoral research sections. I found all of the classes to be informative and helpful. The professors were all very available through email, gotomeeting, or even office hours (if you were in Ft. Lauderdale). Some of the students are traditional and live near the campus.
The complete dissertation process at NSU is described in this document. Doctoral dissertation sections were used to complete an idea paper. The idea paper is the first of three dissertation deliverables. The idea paper is essentially your dissertation idea pitch to your dissertation committee. This document describes your basic dissertation idea in enough detail for your dissertation chair and committee to determine if it is viable and if they can support it. An idea might be entirely feasible, but a committee member should not accept the student as an advisee if the concept is outside the professor’s research area.
Students are not required to be present on campus for doctoral research sections. These sections are administered by the professor that will likely become the student’s dissertation chair. Once the idea paper reaches an acceptable level by the dissertation chair, the student can begin the dissertation proposal. The dissertation proposal is written during any remaining research sections and also during the doctoral dissertation sections. The student can move on to doctoral dissertation sections once the student has completed: the eight required courses completed a minimum of 2 doctoral research sections and has a viable idea paper.
The final part of the Ph.D. program is the doctoral dissertation sections. This is the part of the program where the dissertation proposal is fine-tuned and ultimately/hopefully accepted. Once the proposal is accepted, the dissertation experiments are conducted, and the final report is written. Any number of doctoral dissertation sections can be taken, until a viable idea paper is produced. Likewise, any number of doctoral dissertation sections can be taken, until a successful defense occurs.
There are three primary dissertation deliverables. These are listed here, along with hyperlinks to the final PDFs of my deliverables:
Of course, a defense is also required. This is conducted once the dissertation chair feels that the final report is ready and that the student can defend it. The defense occurs in person and is a public event. The university posts a notice, before the defense. For my defense, my wife and I traveled to Ft. Lauderdale, along with one family friend. Additionally, several students were also in the audience. A picture of my dissertation defense follows.
Conferences and journals are a very important part of any graduate research. I participated directly in the following conferences and journals.
- I published a paper in the Journal of Machine Learning Research (JMLR) about Encog:
Heaton, J. (2015). Encog: Library of interchangeable machine learning models for java and c#. Journal of Machine Learning Research, 16, 1243-1247.
I attended GECCO 2015 in Madrid, Spain, and gained several ideas for my eventual dissertation idea.
I published and presented two papers leading up to my dissertation idea at IEEE SoutheastCON 2015.
Heaton, J. (2016, March). An empirical analysis of feature engineering for predictive modeling. In SoutheastCon 2016 (pp. 1-6). IEEE.
Heaton, J. (2016, March). Comparing dataset characteristics that favor the Apriori, Eclat or FP-Growth frequent itemset mining algorithms. In SoutheastCon 2016 (pp. 1-7). IEEE.
- I published and presented an offshoot algorithm of my dissertation at International Joint Conference on Neural Networks (IJCNN 2017):
Heaton, J., McElwee, S., & Cannady, J. (May 2017). Early stabilizing feature importance for TensorFlow deep neural networks. In International Joint Conference on Neural Networks (IJCNN 2017). IEEE.
I consider the Ph.D. in computer science at Nova Southeastern to have been a great investment in my career. Academic publication was my primary goal for the Ph.D. Before the program, I had attempted a single academic publication, that was rejected. Having gone through the Ph.D. program, I have had better success with conferences and journal publications. I am staying in touch with academia. I teach a deep learning class at Washington University in St. Louis.
I am continuing to develop my dissertation research. An essential part of data science is feature engineering. This is essentially the process where additional columns are added to your data to help models (such as neural networks) produce more accurate predictions. I’ve started competing in Kaggle and am further developing my feature engineering research to enhance my competitive results. So far, I’ve managed to reach the level of Kaggle Expert. I plan on using Kaggle to provide new benchmark results for my research.