
Hayley Elder
Student, Bachelor of Science in Computer Science,University of Phoenix
“The single best piece of advice that I can offer to a prospective student is to avoid procrastinating.”Read the Full Interview

“The single best piece of advice that I can offer to a prospective student is to avoid procrastinating.”Read the Full Interview

“I knew that a masters degree would help me to form the kind of relationships I needed in order to start a successful career. I have pursued my masters degree with a professional rationale. My ambition has always been to find work in Silicon Valley. I have used the work I pursued during my masters degree as a means to an end.”Read the Full Interview

“I have become very passionate about computer science. It is a much more dynamic subject than many people would assume.”Read the Full Interview

“The image of the computer scientist working alone in a dark cave is not representative of reality. There is a tremendous amount of interaction in the field, especially on large software projects.”Read the Full Interview

“Above all, computer programmers should have the drive to create new things and ideas.”Read the Full Interview

“Successful computer science students should be effective communicators with a natural aptitude for technical work.”Read the Full Interview
Here is a quick quiz to help you decide if you have the personality it takes to succeed as a computer science professional. Rate, on a scale from 1 to 5, how well each of the following statements describes you.
I like to use the latest technology.
Computer science professionals invent new technology and improve current computer systems. If you enjoy using cutting-edge technology in your daily life, you may like computer science.
I like to solve problems and puzzles.
Computer science professionals use technology to solve complex problems. If you are discouraged by complicated tasks, computer science is not the best career choice for you.
I am curious about the way machines work.
Computer science professionals explore the basic components of computer hardware and software to determine how to make computers faster and more powerful. If you like to understand the mechanical processes of machines, this subject may fascinate you.
I am careful and I pay close attention to detail.
Computer science tasks like programming require meticulous attention to detail because a single typing error can result in a software bug. If you find details trivial, you may not excel in computer science.
I work well in a group.
The development of new technology requires teamwork and cooperation. As a computer science professional, you will often work together with other computer scientists, software engineers and programmers to complete a project.
I communicate clearly and effectively.
Computer science professionals must communicate with other engineers and programmers as well as the end users who utilize their programs. You must be able to speak about technical matters with experts and the general population.
I can keep track of many things at the same time.
Computer scientists often manage several tasks simultaneously. You must be organized and efficient if you want to work in this field.
I can think in unconventional or unusual ways.
Computer science professionals design new processes and create innovative technologies. If you are excited by new inventions and ideas, you may enjoy computer science research.
I am comfortable working with numbers.
Computer science professionals use advanced mathematics to design software systems and applications. You will need to be confident about applying your mathematical skills to real-world situations to succeed in this field.
I like to learn about new concepts and ideas.
Computer technology evolves constantly. You will need to be a lifelong learner to stay current with advances in the field.
*Note that this is not a scientific quiz. The result is simply my rough estimate of how well I believe our personality matches that of a successful computer science professional.
By my assessment, a career in computer science is probably not a good fit for your personality. Please go to the Admissions Advisor homepage for a listing of other careers you may want to consider.
By my assessment, although a career in computer science may not be an ideal fit for your personality, if you are willing to adapt in a few areas, you can still find success in the field. Please see the list to the right for information on the areas that you may need to work on.
By my assessment, your personality is a good fit for a career in computer science. Scroll through our site to gain valuable insight into what it will take you to earn the necessary credentials.
It is important to understand the difference between computer science and information technology (IT). These subjects are related, but distinct. Both subjects involve the use of computer technology, but computer science professionals take a more theoretical approach to the field than IT workers. Computer science professionals think about ways to make existing technology better by improving the physical components of computers and designing better software systems. They also create entirely new kinds of technology. Because they are high-level thinkers who deal with abstract mathematical concepts and computer theory, they need at least a bachelors degree to find a job.
On the other hand, IT is concerned with storing, sharing and analyzing information using computer networks, databases and the Internet. IT coursework focuses less on mathematics and more on how students can apply technology to business and communications. Examples of IT professionals are network architects, computer systems administrators, network security specialists and web developers. Some IT positions only require an associates degree.
Some of the most common professions for those with a computer science degree include:
Bachelors (4 years)
$74,000
Software publishers, corporate businesses, government agencies
Quality assurance analysts make sure that software and web applications work smoothly before they are released to the public. They create automated processes that are designed to find mistakes in code, which can result in program errors called bugs. After checking for coding errors, quality assurance analysts report their test results to software engineers or application developers to be fixed.
Bachelors (4 years)
$70,000
Software publishers, corporate businesses, government agencies, private consulting
Computer programmers follow the specifications of software engineers to write the code that allows software and web applications to run correctly. They use different programming languages to write these codes, including Python, Perl, Java, C++ and SQL. In addition, programmers help engineers and quality assurance analysts to identify and prevent bugs.
Bachelors (4 years) or masters (2 to 3 years of graduate school)
$92,000 (Lowest 10% earned less than $53,000; highest 10% earned more than $136,000)
Software publishers, corporate businesses, government agencies
Software systems engineers design computer software like operating systems, network control systems and database management systems. They begin the software systems design process by identifying the needs of a business or a group of people. Then they build computer systems to meet those needs by using mathematical algorithms that instruct computers. Finally, they oversee testing of the software system to make sure it works correctly.
Bachelors degree (4 years)
$85,000 (Lowest 10% earned less than $54,000; highest 10% earned more than $128,000)
Software publishers, corporate businesses, government agencies, private consulting
Web application developers are software engineers who create applications that are featured on websites, like online shopping carts, content management systems and subscription services. Web application developers analyze business needs and write technical specifications that provide computer programmers with coding instructions.
Doctorate (4 – 7 years of graduate school)
$78,000 (Lowest 10% earned less than $37,000; highest 10% earned more than $133,000)
Colleges, universities
Computer science professors teach classes about computer theory, advanced mathematics and information technology. They prepare course material, mentor students and assess their academic progress. Most computer science professors conduct scholarly research in addition to teaching classes.
Doctorate (4 – 7 years of graduate school)
$98,000 (Lowest 10% earned less than $58,000; highest 10% earned more than $151,000)
Software publishers, corporate businesses, government agencies, universities
Research computer scientists study the practice and theory that drives computing technology. They work in academic and corporate research settings to invent new computer hardware and software. They work in teams to design new applications for existing technology and also conduct independent research.
| Profession | Employment 2010 | Projected 2020 | Average Growth |
| Software Developer | 520800 | 664500 | 28% |
| Computer Or Information Systems Manager | 307900 | 363700 | 18% |
| Computer Programmer | 363100 | 406800 | 12% |
| Computer Support Specialist | 607100 | 717100 | 18% |
| Computer Systems Analyst | 544400 | 664800 | 22% |
| Systems Software Developer | 392300 | 519400 | 32% |
| Software Quality Assurance Engineer Or Tester | 209700 | 222000 | 6% |
| Video Game Designer | 209700 | 222000 | 6% |
| Computer Or Information Research Scientist | 28200 | 33500 | 19% |
| Web Developer | 302300 | 367900 | 22% |
| Profession | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 |
| Software Developer | 82000 | 85660 | 87900 | 90170 | 90410 | 92080 |
| Computer Or Information Systems Manager | 107250 | 113880 | 118710 | 120640 | 123280 | 125660 |
| Computer Programmer | 69500 | 72010 | 73470 | 74690 | 74900 | 76010 |
| Computer Support Specialist | 44350 | 45300 | 46370 | 47360 | 49930 | 51820 |
| Computer Systems Analyst | 72230 | 75890 | 78830 | 80430 | 81250 | 82320 |
| Systems Software Developer | 87250 | 90780 | 94520 | 96620 | 97960 | 100420 |
| Software Quality Assurance Engineer Or Tester | 69370 | 72310 | 76000 | 78010 | 79790 | 80500 |
| Video Game Designer | 69370 | 72310 | 76000 | 78010 | 79790 | 80500 |
| Computer Or Information Research Scientist | 96440 | 100640 | 100900 | 105370 | 103150 | 103160 |
| Web Developer | 67460 | 70760 | 73830 | 76560 | 79370 | 81670 |
| Profession | 10th | 25th | 50th | 75th | 90th |
| Software Developer | $54980 | $70300 | $89280 | $111990 | $136490 |
| Computer Or Information Systems Manager | $73080 | $92470 | $118010 | $148500 | $185150 |
| Computer Programmer | $41710 | $54850 | $72630 | $92510 | $115610 |
| Computer Support Specialist | $28980 | $36990 | $47660 | $62530 | $81190 |
| Computer Systems Analyst | $49370 | $62260 | $78770 | $98490 | $120060 |
| Systems Software Developer | $62470 | $77720 | $96600 | $120500 | $147030 |
| Software Quality Assurance Engineer Or Tester | $42150 | $59870 | $79930 | $100900 | $118710 |
| Video Game Designer | $42150 | $59870 | $79930 | $100900 | $118710 |
| Computer Or Information Research Scientist | $56800 | $77990 | $101080 | $123530 | $151660 |
| Web Developer | $42770 | $58300 | $77990 | $101570 | $124860 |
It will take you at least 4 years to become a computer science professional, but keep in mind that the time it will take depends on the specific career that you want to pursue. For instance, if you want to get an entry-level job as a computer programmer or quality assurance analyst, you will need to earn a bachelors degree, which typically takes 4 years. But if you want to develop software or web applications, you may need to gain several years of programming experience in addition to a bachelors degree. If you want to manage a team of developers, programmers or engineers, a masters degree will enhance your prospects. Masters degrees require 2 to 3 years of graduate school. And if you want to be a university professor or a research computer scientist, you will need to spend 4 to 7 years in graduate school so you can earn a PhD.
As a student of computer science or information technology, you can expect to grow in both knowledge and skills.
Software engineeering is the development and design of new computer software like operating systems, productivity tools and web applications. Software engineering teaches the processes and protocols that engineers use to create software. Some topics that will be covered include object-oriented design, best practices for writing code, database design and systems programming.
Computer architecture refers to the structure of the physical parts of a computer, which are commonly known as hardware. This subject helps computer science students to understand the capabilities of different hardware components and the relationship between software and hardware. It also covers general design issues like memory capacity, caches, microcoding and pipelining.
Computer networking explores how computers are connected in a network using the Internet. It teaches ways to configure computers so that many users can access the same information. Knowledge of computer networking will include discussion of topics like parallel and cloud computing, Internet architecture and protocols, data security and congestion control.
Data structure examines the best ways to use computers to store and access large amounts of data. It teaches database management system design and ways to implement those systems in a practical setting. Specific topics considered in this course include storage structures, query optimization and web databases.
Computer science incorporates advanced mathematics subjects to model complex computer processes and algorithms, which tell computers what to do. Some mathematical concepts that are essential to computer science include calculus, algebraic proofs, statistics and probablity. Computer science also uses principles of physics and discrete mathematics.
Computer science professionals use programming languages to write code. Writing clear and concise code is a skill that requires programmers and developers to follow the accepted conventions of the industry. As a computer science student you will learn about the philosphy of different programming languages as well as their syntax and structure.
As a computer science student, you will learn how to manage your time effectively as you work on projects. You will become proficient with project management tools like online calendars and spreadsheets that help you to monitor your progress. Your classes will help you to gain the ability to plan and execute projects on a large scale, like developing new software or designing a computer network.
As a computer science student, you will develop problem solving skills that let you use technology to your advantage. You will be trained to analyze problems from several perspectives so that you can decide on the best course of action. You will also learn how to spot and fix common technical issues quickly.
In your computer science curriculum, you will develop a wide range of oral and written communication skills. For instance, you will be able to write technical reports, and user instructions and clearly present your ideas to others. In addition, you will learn how to interact with people who have a range of technical knowledge about computers, from experts to novices.
Your computer science curriculum will teach you how to conduct scholarly research. You will learn to combine research that has already been performed with your original ideas to create new theories and to make technology better. Some research techniques that you will learn include observation, experimentation and statistical data anaylsis.
Computer science degrees are offered at the undergraduate and graduate level. A bachelors degree is the most common option for computer science professionals, but you can also earn credentials through associates, masters and doctorate programs. Remember that an associates degree will not qualify you for a job in computer science.
An associates degree is only a starting point for a career as a computer science professional. It will introduce you to fundamental computer science concepts that may help you to find an entry-level job in information technology. But because computer science positions require more theoretical knowledge and training than IT jobs, an associates degree will not qualify you for a job in computer science.
An AA degree in computer science includes courses in the humanities as well as the sciences. This degree is best for students who plan to transfer into a bachelors degree program.
An AS degree in computer science offers more science and mathematics courses than an AA degree, but they are basically the same program. This degree is also a good choice for students who want to transfer into a bachelors degree program.
An AAS degree in computer science is designed to teach practical job skills to students. This degree is a good choice if you want to enter the workforce right after you graduate.
Associates degree programs in computer science typically require students to complete 60 to 64 credit hours. It takes about 2 years to earn an associates degree.
If you choose to earn an associates degree in computer science, you will learn about information technology, mathematics and the structure of computers. You will take classes about programming languages, database administration and computer logic as well as calculus and physics.
An associates degree in computer science will not prepare you to be a computer science professional, but you may be able to use your knowledge about computers to get an entry-level job in the field of information technology. For instance, you could work in tech support or as a web designer.
An online computer science associates degree is a smart choice for some students. The drawback is that an online computer science associates program will not let you interact with faculty and fellow students as much as a traditional program. But you can often complete online computer science degrees in as little as 18 months, so it is a good option for busy students. If you choose this route, you should look for online computer science associates degree programs that are offered by brick-and-mortar schools. You should also compare the courses that are offered in online programs with the courses offered in traditional programs. This will help you to determine whether your online associates degree program will provide you with the same quality of education that you would get a traditional program.
A bachelors degree is the most common degree for computer science professionals to pursue. Most jobs in the field of computer science require at least a bachelors degree, including entry-level positions as computer programmers.
A BA in computer science offers some technical courses in addition to electives that provide you with a broad education. The BA is a good choice if you want to study fields like law or business in graduate school.
A BS in computer science has more science and mathematics courses that give you a strong technical background. The BS is a good choice if you want to enter a computer science graduate program or enter the workforce immediately.
Computer science bachelors degree programs require students to complete 120 to 130 credit hours. Most students finish bachelors degrees in about 4 years.
Bachelors degree programs in computer science will introduce you to computing and mathematics. You will take introductory computer science courses like computer systems, network administration and programming languages. As you become comfortable with computers, you will progress to more advanced topics, such as object-oriented design, data structures and web application development. Finally, you will take classes in advanced mathematics like linear algebra, calculus, physics and statistics.
Bachelors degrees in computer science can lead to entry-level jobs as software engineers, quality assurance analysts, web application developers or computer systems engineers. However, software engineering and developing jobs often require applicants to have 1 to 3 years of work experience in addition to their bachelors degree.
An online computer science bachelors degree is a viable option for students since many brick-and-mortar universities now offer online computer science programs. However, the advantage of traditional on-campus programs is the opportunity to interact with faculty and fellow students. This provides experience in communication and teamwork, which is an important component in many software development and systems engineering jobs. If you do choose to earn your computer science bachelors degree online, you should look for programs that place you in an internship so you can learn these hands-on skills. In addition, you should compare the courses that are offered in an online computer science program to the curriculum of a traditional program to make sure you are getting a comparable education.
A masters degree will set you apart from other job applicants, especially for management positions in corporate IT. It will also often allow you to specialize in 1 of many fields of computer science such as human computer interaction, robotics or software design.
An MA in computer science technically focuses more on computer theory than on mathematics and research, but it is very similar to the MS. You can use this degree as a step on the way to a PhD if you want to continue your graduate studies.
An MS program requires you to study a specialized area in computer science like computer security or software theory. It is usually intended to be a terminal degree. This is a good choice if you want to work in a professional setting.
A masters degree in computer science generally requires students to complete 30 to 45 credit hours. Most students finish their masters degrees in 2 to 3 years.
If you pursue a masters degree in computer science, you will select an area of concentration like artificial intelligence, database systems or theoretical computer science. In addition, the courses that you take in your concentration area will be supplemented by advanced coursework in more general computer science subjects. For instance, you will take classes about algorithms, programming, software design and computer architecture.
A masters degree in computer science can lead to a management job in software or web application development, a high-level position as a systems engineer or a management job in a corporate information technology department. A masters degree may also allow you to teach introductory programming or computer science classes at the community college level.
If you are thinking about pursuing a masters degree in computer science, you should investigate the main research focus of the masters degree programs at the schools that you are considering. Many masters degree programs in computer science are professional programs, which means that they are meant to prepare students for a particular career. Not all schools have the funding and resources to offer a concentration in every area of computer science, so you need to look for a school with a strong program in your area of interest.
Most schools require applicants to masters programs in computer science to hold bachelors degrees in computer science. However, some schools will accept applicants who have bachelors degrees in other fields if they can demonstrate a background in computer science topics through undergraduate coursework in algorithms, programming, data structures and computational theory.
Many traditional brick-and-mortar schools also offer online computer science masters degrees, which are attractive options for students with little time to study. But if you are considering an online computer science program, you should keep in mind that a drawback to online computer science masters degree programs is that they won’t allow you to interact with faculty or to collaborate with other students in person. Therefore, you should compare the courses that are offered in traditional and online computer science degrees to make sure that you are learning the same material as your peers who study offline.
A PhD in computer science is the most prestigious degree you can earn in this field. This degree is best if you want to perform advanced computer science research at universities, corporate research departments or government agencies.
You can earn a PhD in computer science. A PhD program requires you to conduct intensive original research in a specialized area of computer science like artificial intelligence, computer theory or software engineering. A PhD program also entails completing a dissertation, which is a book-length analysis of your original research.
Students in a computer science doctorate program are typically required to earn 72 to 96 credit hours. Most students complete their PhDs in 4 to 7 years.
If you pursue a PhD in computer science, you may take a few required courses in the core areas of computer science, like mathematical theory and computer systems. However, you will also create your own program of study that lets you take advanced courses related to your concentration area. For instance, if you specialize in artificial intelligence, you will take courses like machine learning and robotics. But if you specialize in algorithms, you will take classes like advanced data structures, computational geometry and parallel programming.
A doctorate in computer science will qualify you to be a computer science professor at a university or a researcher for corporate businesses or government agencies. You will also be qualified for senior management positions in information technology.
At the doctorate level, the most important consideration is the school’s strength in your concentration area. Many schools do not have the funding to specialize in every area of computer science, so you should look into the research interests of the professors at the schools that you are considering. You should also investigate the quality of the research labs and facilities that you will get to work with.
Some doctoral programs require students to have a masters degree, but many allow students with a bachelors degree in computer science or a closely related field like mathematics or information technology to apply to the PhD program directly. If your bachelors degree is not in computer science, you will be expected to show that you are knowledgeable about fundamental concepts of computer science including algorithms, programming, data structures and computational theory.
Some schools offer online computer science doctorates, but these are generally not a good choice for serious computer science scholars. The main drawback to online computer science degrees is that they provide fewer opportunities to collaborate with faculty and other students than traditional programs. However, some schools offer blended programs that allow students to earn partially online computer science PhDs. These programs are designed so that computer science professionals who are already working in the field can advance their education without interrupting their career. Keep in mind that these partly online computer science programs still require students to attend several sessions on campus each year. You should not pursue a computer science doctorate online unless it offers the chance to work with your peers and professors in person.
Some computer science professionals choose to get certified in technical specialties like software development or widely used programming languages. Computer science organizations like the Institute of Electrical and Electronics Engineers (IEEE) offer professional certifications after applicants pass exams that demonstrate their skills in these areas. In addition, software companies like Adobe and Microsoft offer certification in their programs. These certifications are not mandatory, but they may help your resume to stand out by proving that you are skilled in a particular area of computer science.
Association For Computing Machinery
Association of Software Professionals
Computer Science – A Guide to Web Resources
Computing Research Association
Computer Science Teachers Association
Institute for Electrical and Electronics Engineers (IEEE) Computer Society
National Association of Programmers
Upsilon Pi Epsilon International Honor Society for the Computing and Information Disciplines