Feature

What is computer science?

Published on 11 June 2024

Computer science is the study of how computers work, and how to use them to solve problems and create new technologies. It is an evolving field that includes UX design, data science, and AI.

On this page

Computer science is the study of computers and computational systems. It's about understanding how computers work and creating new ways for these to solve complex problems. To become a computer scientist, you’ll need to understand concepts such as:

  • algorithms
  • data structures
  • programming languages
  • computer architecture
  • software development methodologies

Some computer scientists will specialise in artificial intelligence (AI) and machine learning. Others might choose a field such as user experience (UX).

As the world changes and technology advances, so does computer science. You can see this in the use of computer science. It's in things like smart devices and driverless vehicles.

It's a field where you will find no shortage of opportunities.

What is the difference between computer science and information technology (IT)?

IT covers a range of topics related to the practical use of technology in everyday life. It's about implementing and managing systems and software to support the needs of businesses and organisations. If you work in IT, you are likely to focus on topics such as desktop support, and network security.

Computer science, however, focuses more on the principles of computing. It covers programming and understanding how computers work. Students learn about algorithms, data representation, computer networks, and programming languages.

While there can be routes into IT for school leavers, if you want to become a computer scientist, you will need a degree. You’ll also need a strong mathematical background.

What does a computer scientist do?

Problem solving

As a computer scientist, you would spend a significant part of your day solving complex problems. This could involve designing algorithms, writing code, and debugging software. You use different programming styles to approach problems from different perspectives. For example, procedural versus object-oriented, or logic versus functional.

Software development

Developing software applications or systems is a key part of the job. This could involve:

  • writing code
  • designing user interfaces
  • automating tasks
  • testing software for bugs
  • deploying applications to production environments

Problem diagnosis and troubleshooting

Computer scientists diagnose and troubleshoot issues with software, systems, or networks. For example, analysing error logs, investigating performance issues, or responding to user-reported bugs.

Documentation

As a computer scientist, you would need to document your work. This is so that others can understand and reproduce your findings or implementations. Examples of this include:

  • writing code comments
  • documenting system architectures
  • creating user manuals for software applications

Collaboration

Computer scientists collaborate with other engineers, designers, project managers, and stakeholders. This might involve brainstorming, discussing project requirements, or presenting findings to a team.

Research

Many computer scientists work in research roles, either in academia or industry. They may spend their time conducting experiments, analysing data, writing papers, or collaborating with colleagues to advance the field of computer science. If you are in a UX role, you will undertake user research.

Learning and professional development

Computer science is a fast-changing field. So, computer scientists spend time staying up-to-date with new technologies, trends, and best practices. This could involve reading articles, attending conferences, taking online courses, or participating in professional development activities.

User experience (UX) design

When you study computer science at university, you might get the option to specialise. You could choose an area such as user experience or data science and AI. If you have a particular career in mind this can help you to become more employable.

UX focuses on a person's experience of using a digital system such as an app or a website. UX specialists make these products easier to use. This means they play a key role in creating intuitive and effective interfaces for software applications, websites, and digital platforms. They might also work on newer technologies such as wearables and voice-activated devices.

What does UX involve?

Collaboration and engagement is at the heart of a UX specialist's role in digital teams. Some of the areas that they cover are outlined below.

User research

This helps uncover user needs, behaviours, and preferences. It is done through surveys, interviews, usability testing, and data analysis.

Information architecture

Information architecture is about organising content so users can find information and perform tasks easily. At a basic level, it can be about creating the best structure for website navigation. It can also cover more advanced concepts like content modelling and taxonomies.

Visual design and interaction design

Although UX specialists are unlikely to be focused solely on design, they frequently work with designers to assess how designs and interactive elements impact user experience. They provide input on design prototypes and then test these with users to gather feedback for improvements.

Usability testing

Usability testing is central to the concept of UX. Sometimes used interchangeably with the term 'user testing', it involves observing how users interact with digital systems. This helps them uncover any problems as well as highlighting opportunities for improvements. UX specialists will act as facilitators for users testing sessions

Data science and artificial intelligence (AI)

Data science and AI are two linked fields. They use data and algorithms to find insights, make predictions, and automate tasks.

Data science

Data science involves extracting knowledge and insights from structured and unstructured data. This is done using techniques such as statistical analysis, machine learning, and data mining. It covers the entire data lifecycle, including data collection, pre-processing, analysis, modelling, and interpretation.

Learn more about what data scientists do

Artificial intelligence (AI)

AI refers to the simulation of human intelligence in machines. It enables computers to perform tasks that usually need human intelligence, like learning, reasoning, problem-solving, and perception. AI is crucial in today’s world and is being used to transform industries.

You will find AI used in many areas, including:

  • facial recognition
  • fraud detection
  • self-driving cars
  • smart vacuums
  • analysing billions of compounds to speed up drug discovery
  • robotic kitchen assistants
  • digital assistants
  • text editors
  • smart recommendation systems
  • chatbots
  • route planning
  • making healthcare recommendations

AI algorithms encompass a wide range of techniques, such as:

  • machine learning
  • deep learning
  • natural language processing
  • computer vision
  • robotics

Is computer science right for me?

Mathematical frameworks are behind concepts such as algorithm design, cryptography, and machine learning. So you'll need a strong mathematical background if you want to study computer science.

Computer scientists tend to be very logical, with strong reasoning abilities. You should pay attention to details, particularly when debugging code. At the same time, you’ll need to be creative to solve problems and develop new solutions.

Although you may have an image of a computer scientist working alone, it’s important to be able to work as part of a team. Collaborative software and tools for version control can help teams work effectively.

Technical writing skills are also useful, so you can document your work. This helps others understand the functionality and debug it if required.

Don't worry if you don't have all these skills yet. You'll be able to learn them while studying for a computer science degree.

Careers in computer science

Whether you're interested in creating user-friendly interfaces, unlocking insights from data, or building intelligent systems, computer science offers many career opportunities.

Employers and governments value STEM degrees [link]. There’s a worldwide need for STEM graduates. Some of the fastest-growing job sectors are artificial intelligence and software development.

Some typical careers for computer science graduates:

Software engineer

Software engineering systematically approaches software development, testing, and maintenance. Software engineers use programming languages to write the code for business processes, operating systems, and apps.

Mobile app developer

Mobile app development is now an established field. Mobile app developers design and build applications for smartphones and tablets. They will often focus on creating interfaces, integrating with backend services, or optimising performance for various devices and platforms.

Web developer

Web development combines technologies and scripting languages associated with websites.

Web developers can specialise in 'front-end' development. This generally means the parts of a website that a user will see and interact with like web pages and the elements that make up a typical website.

Web developers can work on 'back-end' development. This is when they are responsible for areas such as servers, applications, and content management systems.

AI research scientist

AI research scientists conduct research to advance the field of artificial intelligence. To become an AI research scientist, you’ll need an interest in machine learning and a desire to publish your research and collaborate with other researchers in the field. You could work in either academia or for a tech company.

UX careers

UX related careers include interaction designer, content designer, user researcher, and service designer. These careers are all about making digital products and services usable and accessible.

Undergraduate courses at the University of Dundee

If you’re interested in studying computer science, we offer the following courses:

with industrial placement:

Related content

Story category Choosing a course