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 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
Undergraduate degree programs in computer science 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.