How to Get a PhD in Computer Programming
Computer programmers have played a leading role in the dramatic evolution of computers throughout the twentieth century, from the room-sized data crunchers of the early 1960s to today's handheld mobile devices. Twenty-first century digital technology holds vast potential for future innovation. A PhD in computer programming prepares you to shape the next generation of R&D, developing new programming methodologies and languages. You'll also qualify for a career teaching programming at the university level.
Find the right school for you
Planning for a PhD, Doctor of Computer Science, or Doctor of Business Administration in computer programming starts many months before the first day of the program. Lay the foundation for a successful graduate experience by researching your options, focusing your goals, and preparing a competitive application.
A Guide to Doctoral Degrees in Computer Programming
Doctoral degrees in computer programming are a relatively new phenomenon. Until recently, programming was an applied vocational discipline grounded in the principles of computer science. Research PhD programs, which emphasize theoretical scholarship over applied R&D, historically offered doctorates in computer science and software engineering. Computer programming maintained a presence in undergraduate and vocational schools; at the graduate level, programming remained a special focus of computer science and software development dissertations.
Increasing technological sophistication has raised the education bar for programmers, however, creating new demand for doctoral degree holders. As an advanced programming graduate student, you may choose between applied doctorates in computer programming and more theoretical PhD programs in software engineering or computer science. Options include:
- Doctor of Computer Science (DCS) in computer programming
- PhD in computer science or software engineering
- PhD in information technology
- Doctor of Business Administration (DBA) in applied computer science
Your career goals dictate which program is best for you. Academic careers demand a PhD, preferably in computer science or software engineering. Graduate students in these disciplines have the discretion to create a dissertation research project emphasizing computer programming. A DCS in computer programming is ideal for students heading into an industry R&D career. And the DBA approaches programming from a business perspective, producing doctoral graduates with keen insight into the business applications of computer programming development.
Resources
For information on the different doctorates available today, see the Online PhD Degrees and Doctoral Programs resource page.
Specializations
As a doctoral student, you'll have the opportunity to focus your training and research on a specific area of computer programming. Options include:
Types of programming:
- Concurrent programming
- Object-oriented programming
- Assembly language programming and certified code
- Logic programming
- Aspect-oriented programming
- Visual programming
- Dynamic programming
- Data-oriented or data-structured programming
- Functional programming
Facets and underlying principles of computer programming:
- Programming language theory
- Computational modal logic
- Memory organization
- Compilers
- Algorithms
- Logical frameworks
- Type systems
- Secure coding
Applications of computer programming:
- Software systems engineering
- Web programming
- Game programming
- Enterprise software programming
- Database programming
These specializations run the gamut from theoretical methodology to applied research. Because most computer science or programming departments excel in a particular area, it's important to determine your specialization interest before you research schools. The availability of faculty in your chosen field ensures that you have the resources--technological, financial, and professional--to produce strong, influential scholarship.
Resources
To learn more about the discipline and its specialized areas, visit WorldWideLearn.com's Guide to Majors, where you'll find a specific section devoted to computer programming.
Career Track
A doctoral degree in computer programming or a related discipline generally leads to a career as a university professor or industry R&D professional.
The academic track focuses on teaching and research, with an emphasis on theoretical scholarship. There is some crossover between academic and private-sector research; many university professors also consult for private companies or establish applied research labs in partnership with industry.
The industry career track emphasizes applied research and development. An advanced programming degree may lead to professional careers in:
- Programming language designer
- Senior researcher
- Software engineering project manager
- Corporate or government consulting
- Senior IT manager
Resources
WorldWideLearn.com's Career Pathways resource offers career planning and assessment tools to help you determine which career direction suits you best.
Planning for a PhD or Applied Doctorate in Computer Programming
Knowing your academic and career objectives helps you prepare for doctoral study. Follow these steps to navigate the application process, from choosing the right program to submitting a strong application.
Step One: Find the Right Graduate Computer Programming Program
The most important phase in your graduate school planning is researching academic programs. Finding the right fit between your interests and a program's unique orientation helps you realize your full potential as a graduate scholar and researcher.
1. Develop a List of Accredited PhD Programs
First, find programs that offer your chosen degree: the PhD, DCS, or DBA in computer programming or a related field. Sources such as online directories and accrediting agency member lists offer a means of identifying matching programs nationwide. Consult online directories that represent accredited programs. WorldWideLearn.com upholds strict quality standards for its education partners, including accreditation.
A doctoral program's accreditation status is important to your educational experience. Independent evaluation agencies conduct periodic reviews to ensure that the institution meets basic academic quality standards. The accreditor's stamp of approval ensures the value of your degree, and can factor into your eligibility for financial aid. The U.S. Department of Education maintains a database of approved accreditation agencies.
Resources
WorldWideLearn.com represents graduate programs in computer science, programming, and information technology. Search Degrees by Subject to find an online or campus PhD program, or browse a list of university partners.
The Sloan Consortium, an organization representing universities with online degree programs, offers a searchable database of computer science programs.
ABET's Computer Science Accreditation Board (CSAB) lists over 300 accredited programs in computer science. Search ABET-accredited programs by location and program area.
The Association for Computing Machinery (ACM) features a comprehensive list of computer science programs, among which you'll find doctoral degrees and computer programming programs.
2. Choose a Campus-Based or Online Format
Program format is a major qualifying factor for many students, particularly aspiring academics and working adults.
- Campus-based programs offer critical support for an academic career, making the on-site format a good choice for programmers targeting university research and teaching roles. You can take advantage of access to campus lab resources, close collaboration with a faculty advisor, student teaching experiences, and access to a broader scholarly community.
- Online programs are designed to accommodate adult professionals leading busy lives. The Internet-mediated education offers scheduling flexibility and access to a virtual classroom from anywhere in the world. Online education is ideal for doctoral students living in remote areas or juggling other responsibilities such as work and family. Also, if you're a working programmer, you may already have access to the technological resources you need to complete doctoral research.
Some colleges offer a mix of both formats, online and campus-based. These PhD or applied doctorates in computer programming require temporary campus residencies, giving remote students access to faculty and facilities, and fostering a sense of community.
Resources
On-campus or online? The decision depends on your career plans, life circumstances, and access to the necessary research resources. WorldWideLearn.com helps you find programs with the delivery format that meets your needs. See the Online Degree Programs and Campus Education sections, and search Degrees by Location to find campus programs in your area.
3. Explore Academic Programs
This crucial step takes you deeper into your program options, helping you determine which schools have the resources and program orientation to support doctoral study in your specialty area. Consider the following factors:
- Faculty research interests
- Technology labs and other research facilities
- Curriculum and course requirements
- Special programs, such as foundations, conferences, publications, research centers, etc.
- Relationships with industry leaders or government agencies
- Funding
Because you'll be working closely with a faculty mentor, it's important to consider the availability of experts in your field before applying to a particular program.
Resources
WorldWideLearn.com kicks off your program research with an automated school search engine. Fill out an online form indicating your academic program criteria, and the system puts you in touch with representatives of schools that meet your requirements. The system saves you time, helping you cover more ground in your research.
School Web sites offer access to faculty publications and CVs, a description of lab facilities, links to course descriptions and PhD degree requirements, special programs and internships in computer programming, and more.
Academic journals can help you identify leading faculty in your field of interest. You can use this information to identify potential mentors and institutions that sponsor research in your field. Search for relevant journals using these general sources:
- List of Association for Computing Machinery (ACM) Journals
- IEEE Computer Science Journals
- Directory of computer science journals, ScienceDirect
4. Evaluate Program Quality
Finally, compare the programs on your list and rank them by quality and selectivity. One computer science professor recommends the following strategy: "People generally apply to three schools at their level, two schools above their level (you may get lucky), and one or two schools below their level (you need a safety school)." That amounts to six or seven programs.
Evaluate computer programming graduate schools based on:
- Reputation
- Selectivity
- Graduation rate
- Job placement statistics
- Career support resources
Schools publicize their admissions criteria to help you determine whether your GPA and GRE test scores match the academic record of the average accepted applicant.
Resources
Rankings help you compare the reputation and selectivity of different PhD and applied doctorate programs in computer programming. The major rankings include:
- U.S. News & World Report, Top Computer Science Programs, Programming Language Specialty Rankings
- The National Research Council, Assessment of Research Doctorate Programs
- The Center for Measuring University Performance, The Top American Research Universities, 2008 Annual Report
School data gives you reliable information on placement history data of recent doctoral graduates, admissions data on the most recent entering class, graduate student demographic information, and more.
Campus visits offer an important means of assessing the graduate student experience, including access to computer programming facilities, opportunities for faculty mentorship, and the intellectual orientation of the PhD program.
Step Two: Apply to PhD Programs in Computer Programming
After the program research is behind you, the application process is a matter of completing a checklist of prerequisites and application documents. Though application requirements vary from school to school, you can expect to take the following steps:
1. Complete Prerequisites
You're eligible to apply for the PhD in computer programming after you have completed:
- A bachelor's or master's degree in computer programming or computer science; if your degree is in another field, plan to take prerequisite courses in basic computer science
- Standardized tests such as the GRE and (for international students) the TOEFL
- Research internships or several years' work experience in computer programming (preferred)
2. Prepare Application Materials
In addition to filling out a basic information form, you'll also need to submit:
- Letters of recommendation from faculty or professional colleagues and mentors
- Academic transcripts
- Test scores
- Personal statement of research interests
- Resume or CV
3. Secure Financial Aid
Submit applications for financial aid. Universities offer some support, in the form of:
- Scholarships and fellowships
- Research grants
- Teaching and research assistantships
- Tuition waivers
Also, you should pursue alternative funding, such as:
- NSF graduate research fellowship (three years' tuition and stipend)
- Other Department of Education fellowships and research grants
- Private scholarships
- Federal or private loans
For more information, visit the WorldWideLearn.com resource page on graduate education funding.
Step Three: Join the Academic Community
Between submitting your applications and signing on for your first online or campus doctoral course, you may find yourself with the better part of a year to prepare. Use the time wisely by taking the following steps:
1. Join Professional Organizations and Academic Associations
Networking starts with membership in a computer programming association. Major organizations include:
- Association for Computing Machinery (ACM)
- IEEE Computer Society
- Association for Logic Programming (ALP)
- European Association for Programming Languages and Systems (EAPLS)
In addition, you're likely to find specific networking groups in your specialty area.
2. Subscribe to Computer Programming Journals and Publications
Get a sense of the names and trends in your research area by reading journals in your specialization field. Examples include:
- Science of Computer Programming
- ACM Transactions on Programming Languages and Systems (TOPLAS)
- The Bulletin of the IGPL (Interest Group in Pure and Applied Logics)
- The Chicago Journal of Theoretical Computer Science
- The Journal of Forth Application and Research
- The Journal of Functional Programming (Cambridge University Press)
- The Journal of Functional and Logic Programming (MIT Press)
- The Journal of the Interest Group in Pure and Applied Logics (IGPL)
- The Journal of Symbolic Computation
- Logic in Computer Science (LICS) Newsletter Archive
- Logic Programming Newsletter Archive
- Theoretical Computer Science (Elsevier)
- Theory and Applications of Categories
3. Attend Conferences
Conferences offer opportunities to mingle with luminaries in your field and meet peers who share your interest in programming and technological innovation. ACM's Special Interest Group on Programming Languages (SIGPLAN) sponsors a number of conferences on specialized programming topics.
A note for returning students. If you're heading back into the college classroom after some time in the workforce, you may benefit from an orientation to the academic experiences. WorldWideLearn.com's Education Resources Guide takes you through the basics of online learning, student support resources, test preparation, and financial aid. The Insider's College Guide for Working Adults also provides a useful handbook for returning students managing their education alongside professional lives.
Earning a PhD in computer programming takes hard work and careful planning. By following the steps in this guide, you've set yourself up to take advantage of all the opportunities that arise in a doctoral program. Start now to establish yourself as a future leader in computer programming, with a clear vision of your goal and a plan to achieve it.
Sources
- Assessment of Research Doctorate Programs, National Research Council.
- Association for Computing Machinery.
- Best Graduate Schools, Top Computer Science Programs: Programming Language Specialty, U.S. News & World Report (2009).
- CRA Forsythe List, Computing Research Association.
- Database of Accredited Postsecondary Institutions and Programs, U.S. Department of Education.
- Harchol-Balter, Mor. "Applying to Ph.D. Programs in Computer Science." Carnegie Mellon University, Jan 2004.
- IEEE Computer Society.
- "List of computer science journals," ScienceDirect.
- "Online Programs by Discipline," The Sloan Consortium.
- "Programming Language Research," Carnegie Mellon University.
- "Search Accredited Programs," ABET.
- Special Interest Group on Programming Languages (SIGPLAN).
- Sureau, Denis. "History of Programming Languages and Their Evolution," Scriptol.
- "The Top American Research Universities, 2008 Annual Report." The Center for Measuring University Performance.
Pursue your Computer Programming major today…
Northcentral University offers a unique, one-to-one faculty/student online learning experience that can help you achieve your goals.
- Online
- Applied Computer Science - D.B.A.
- Applied Computer Science - MBA
Earn your degree online in as little as 15 months. Contact Colorado Tech Online today. Learn more today.
- Online
- Doctorate Computer Science - Executive Format
- Doctorate of Computer Science - Emerging Media
At University of Phoenix, we believe everyone deserves access to higher education.
- Online
- Master of Information Systems




