Computer science combines the theoretical studies of algorithms and data structures, with the practical challenges of implementing them in hardware and software systems. Computer science plays a key role in the creation, development, implementation and evaluation of technology. Society relies upon computer-based systems for the operation and support of services in finance, energy, transport, health, and communications. Skills learnt in this program are utilised in fields ranging from bioinformatics to digital humanities where sophisticated knowledge in programming and data analysis are used to manipulate massive data sets. In the BSc, students are able to select from a broad based set of courses which lay the foundation for completion of a specialised major in later years.