In its purest form, computer science is the research and development of technology that solves specific problems. Computer science has brought the world smart phones, GPS systems, the gaming industry and tablet computing, along with technological developments that assist government, industry and medicine. In addition to creating new technology, computer scientists also make improvements to existing technology and study the ways computers can make our lives easier.
As with any branch of science, computer scientists perform research that establishes new information. This research begins with known mathematical algorithms and computer theory, and strives to constantly redefine what technology can do for us. Computer science also addresses how existing technology can be used in ways previously undiscovered, creating applications that may be faster, simpler, more efficient or less costly.
Exploring fundamental questions about computation is the first step toward designing the hardware, software and complex network systems that we rely upon. Some computer scientists focus entirely on theory, some concentrate on programming and still others work on user applications. The end result of this research includes new tools and methodologies that drive better business practice, scientific applications and social networking.
Sample Courses
During the first two years of a standard 4-year program, students focus on the basics:
- Calculus I, II, & III
- Program Design
- Foundations of Computing
- Data Structure
- Introduction to Algorithms
- Computer Architecture
- Information Retrieval
- Computer Graphics
Typical core courses in a Bachelor of Science in Computer Science are taken in the third and fourth year, and may include the following:
- Algorithm Design and Analysis
- Technical Writing
- Database Construction
- Object-Oriented Software
- Compilation
- Artificial Intelligence: Control and Planning
- Mobile Applications
- Wireless Networks
- Software Engineering
- Data Mining Methodology
Possible Specializations
Specialization within computer science generally falls into one of three categories: hardware, software or robotics.
Hardware refers to the machinery of computers. Hardware consists of the processors and chips that send, receive and process information. It can also extend to peripherals that function outside of the computer, like printers, disk drives, monitors, keyboards, tracking devices or game controllers.
Software, on the other hand, is the tool with which we instruct computers to perform tasks. Software programs can include Internet browsers, game systems, GPS technology, search engines or social network applications that are operable on a smartphone. Software design is highly complex and demands accuracy and precision.
Robotics explores how computers interact with our world, seeking ways for computers to reproduce tasks performed by humans. Robotics specialists work closely with both hardware and software designers to create effective robots and explore their full potential.
Degree Types
The four core degree levels for computer science come with their own distinct possibilities upon graduation. The higher the degree level, the more senior the computer scientist, which can mean more research-intensive, academically grounded positions. Review brief depictions of each degree below.
Associate
An entry-level degree largely designed for students to get their bearing in the computer science field. Once an associate in computer science is earned, they can then pursue a bachelor's, ideally with many core credits already earned. While full-time compsci positions are hard to acquire with an associate's alone, the programming knowhow and fundamental skills taught at this level are an excellent introduction to the field. Particularly talented programmers may only need an associate's to land a position, relying on their own affinities to fill in what a bachelor's or graduate degree could teach them.
Bachelor's
Bachelor's in computer science programs require mathematics, physics and engineering classwork. There are a number of interdisciplinary specializations available for talented computer scientists, but students must first master programming, algorithms and network systems.
Master's
Graduates may pursue a master's in computer science, which imparts even more practical knowledge to its candidates. Generally two years in length, a master's program provides a working knowledge of some of the most current applications in use.
Ph.D.
Computer scientists who are interested in research may opt to pursue a Ph.D. in computer science. Ph.D. programs delve deeply into computational theory and encourage students to innovate within the field. Students who complete the Ph.D. program, usually within 4 to 6 years after undergraduate school, are groomed for a career performing research projects and teaching.
Ideal Candidates for Computer Science
Computer scientists are generally logical thinkers and good problem-solvers. Creativity is also a necessary trait for developing innovative ideas, and an affinity for mathematics is definitely helpful. If you have these traits, along with good critical thinking skills and close attention to detail, computer science may be the field for you.
It is important to note that computer scientists usually work in a collaborative environment; these positions do not entail working alone in front of a computer. Effective communications skills and the ability to function on a team are also essential.
If the course curriculum and career possibilities for computer scientists appeal to you, you may be that special breed of mathematician and creative puzzle-solver that the industry requires. Research undergraduate degree programs in computer science, and consider scheduling a meeting with a professor or advisor to discuss a program in more depth. Research student affiliates of professional computer science networking groups, or consider taking part in a local computer science club to make contacts and explore the field.
Career Pathways
Computer scientists fresh out of an undergraduate program have several choices. The majority of these graduates accept an entry-level position in programming, software engineering or web development. Entry-level titles may include:
- Systems Administrator
- Software Developer
- Software Engineer
- Business Analyst
- Network Engineer
- Java or .NET Developer
With a few years of experience, promotions to higher corporate positions can be expected. Computer scientists who prefer to remain in industry often choose this time to pursue a terminal master's degree to hone their practical skills in computer science.
Computer scientists who lean more towards research than practical application are sometimes able to attain an entry-level position in a research and development firm or software company, but graduate work is encouraged for significant advancement. Some researchers choose to spend their careers pursuing complex problem-solving that results in new products for the marketplace. Earning a PhD provides these computer scientists with the facilities and funding necessary for intense research.