Computer Science with High Performance Computing (BSc)

The exciting and dynamic world of computer science is at the heart of many aspects of modern life, and the BSc Computer Science will give you both the theoretical and practical knowledge needed to become a part of that world.

You will focus your studies on understanding and applying sound computing principles in this complex and evolving area of computer science. Your year three modules will emphasis the nature of parallel and distributed computation in these environments and some of the challenges presented by cloud computing.

Key facts

Duration3 years
Typical places availableThe School typically has around 120 places available
Typical applications receivedThe School typically receives around 1,000 applications
Scholarships and bursaries
Typical A level offerABB-AAB from three A Levels
Typical Welsh Baccalaureate offerWBQ core will be accepted in lieu of one A-level (at the grades specified above), excluding Mathematics where required.
Typical International Baccalaureate offer33 points
Other qualificationsApplications from those offering alternative qualifications are welcome. Specific admissions and selection criteria for this degree programme can be found online.

Detailed alternative entry requirements are available for this course.
QAA subject benchmark


Academic School
Admissions tutor(s)

Dr Jianhua Shao , Admissions Tutor

    This three year programme starts by introducing the basic computing skills and concepts which will underpin your degree and future career.

    Short projects in year one are followed by a substantial team project in year two, when you will use your new skills and knowledge to design and implement a software system. In your final year of study, you will focus on emerging technologies and undertake an individual project centred on your own interests.

    Year one

    In year one you will follow the same structure as the Computer Science BSc degree programme. The modules taught in your first two semesters are designed to introduce the fundamental computing skills and concepts that will form the basis of your degree. These include the programming of algorithms using the Python and Java™ languages, an understanding of Internet and web technologies, computer architecture and operating systems. You will demonstrate the skills you have acquired and show individual creativity and originality throughout the year as you complete short projects.

    Module titleModule codeCredits
    Web ApplicationsCM110220 credits
    Object Oriented Java ProgrammingCM120910 credits
    Maths for Computer ScienceCM120810 credits
    Architecture and Operating SystemsCM120510 credits
    Problem Solving With PythonCM110320 credits
    Computational ThinkingCM110120 credits
    Developing Quality SoftwareCM120220 credits
    Professional SkillsCM120110 credits

    Year two

    Year two will build on the foundations of the first year whilst introducing more specific modules. These targeted sessions offer an introduction to areas related to high performance computing such as the development of networked software applications and parallel programming methodologies used in Computer Science.

    Module titleModule codeCredits
    Algorithms and Data StructuresCM230320 credits
    Database SystemsCM210210 credits
    Human Computer InteractionCM210110 credits
    Communication Networks and Pervasive ComputingCM230220 credits
    Group ProjectCM230520 credits
    Object Oriented ApplicationsCM220110 credits

    Module titleModule codeCredits
    InformaticsCM220310 credits
    Data Processing and VisualisationCM210510 credits
    Computational MathematicsCM210410 credits
    Scientific ComputingCM220810 credits
    Introduction to the Theory of ComputationCM220710 credits

    Year three

    You will study a range of modules that either focus on, or complement the field of high performance computing. Themes like the management of large scale information and knowledge systems (using industry standard products such as Oracle™) or artificial intelligence are explored alongside contemporary, emerging technologies. You will also have the opportunity to gain first hand knowledge by attending lectures by experts in the field of High Performance Computing.

    During this year you will complete an individual project under the supervision of a member of our academic staff. The subject of this project is driven by your own interests.

    Module titleModule codeCredits
    Emerging TechnologiesCM320220 credits
    High Performance ComputingCM310320 credits
    One Semester Individual Project - 40CM320340 credits

    Module titleModule codeCredits
    Large-Scale DatabasesCM310420 credits
    Knowledge ManagementCM310720 credits
    Artificial IntelligenceCM311210 credits
    Combinatorial OptimisationCM310910 credits
    The University is committed to providing a wide range of module options where possible, but please be aware that whilst every effort is made to offer choice this may be limited in certain circumstances. This is due to the fact that some modules have limited numbers of places available, which are allocated on a first-come, first-served basis, while others have minimum student numbers required before they will run, to ensure that an appropriate quality of education can be delivered; some modules require students to have already taken particular subjects, and others are core or required on the programme you are taking. Modules may also be limited due to timetable clashes, and although the University works to minimise disruption to choice, we advise you to seek advice from the relevant School on the module choices available.

    The School of Computer Science & Informatics has a strong and active research culture which informs and directs our teaching. We are committed to providing teaching of the very highest standard and received an excellent report in the most recent Quality Assurance Agency (QAA) review. The BCS, the Chartered Institute for IT regularly reviews our single honours undergraduate degree programmes.

    You will be taught key skills such as programming through a combination of lectures and lab-based practical sessions for relevant modules. Further support mechanisms are used to help digest material such as example classes, tutorials and help sessions, amounting to a total of approximately 25 formal contact hours a week during Year One. The delivery mechanisms in Years Two and Three mirror that of Year One, but with fewer formal contact hours at these latter stages of the degree as the skills and insights needed to take to control of your own learning have been acquired. 

    Teaching is organised in modules; your progress in each module will be assessed during and/or at the end of the semester in which it is taught. All modules include assessments, methods of which vary from written examinations and assessed coursework, to a combination of both.

    Feedback on assessed work will be made available to you no later than four working weeks after the assessment deadline. The feedback you receive will be most useful when you use it to identify what you did well, why you got a particular mark, and what you need to do to improve. When you have done this, you need to ensure that you use this information to improve your future work.You should be aware of the range of feedback you could receive, including the oral feedback that you will receive from staff on an ongoing basis.
    The School prides itself on offering a comprehensive support structure to ensure good student/staff relationships. Every student is assigned a member of staff to act as their personal tutor, who will serve as a point of contact to advise on both academic and personal matters in an informal and confidential manner. You will see your personal tutor at least every two weeks during your first year of study. During years 2 and 3 a reduced schedule of contact sessions are used, taking account of the increasing academic and time demands as you progress. Outside of scheduled tutor sessions, senior personal tutors run an open door policy, being on hand to advise and respond to any personal matters as they arise.Dedicated professional tutors are also on hand to advise and respond to any matters and are backed up by the University's many student support services.

    Employment prospects for our graduates in the computing and ICT industry are excellent. Our graduates are equipped with the transferrable skills that open doors to careers in wide ranging sectors of the economy.

    In 2014, almost 90% of the School’s graduates were in employment or engaged in further study within six months of graduation.

    Recent statistics show that the vast majority of our graduates are following their chosen career paths in roles such as Software Engineer, Web Developer, Computer Programmer, Associate Software Developer, Business Analyst and Systems Development Officer. They are working for a range of leading companies including; Airbus Group, Amazon, BBC, BT, Cardiff University, Capgemini,, GCHQ, IBM, Lloyds Banking Group, MoD, Morgan Stanley, Sky, South Wales Police and Thomson Reuters. Others have chosen further study or research at Cardiff or other top universities.

    Many students who undertake a successful year in industry have been offered the opportunity to return to their placement organisation in a graduate position upon successful completion of their degree.

    In addition to the University’s careers and employability service for students, the School has a dedicated careers officer available to offer an expert service to Computer Science, Business Information Systems, and Software Engineering students.


    3 Year(s)

    Next intake

    September 2016

    Places available

    Typical places available

    The School admits 115 students each year  to its undergraduate degree programmes<

    Applications received

    Typical applications received



    QAA subject benchmark

    QAA subject benchmark


    What are the aims of this Programme?

    The overall aim of this Programme is to give students a sound education in Computer Science with particular emphasis on High Performance Computing in preparation for a professional or research career in this rapidly changing field. Graduates of this programme will have a specialised understanding of High Performance Computing in both a theoretical and an applied context and will understand how High Performance Computing techniques can be used for problem solving in computational science, econometrics and data analysis (in emerging areas such as social networks and consumer pattern analysis). 

    What is expected of me?

    Your obligations as a students are detailed in the Student Handbook, they include the following areas:

    ·   Attendance

    ·   Informing the School of Change of Address

    ·   Self-certification for illnesses and absences,

    ·   Attendance

    ·   Disclosure of Disability and/or Specific Learning Difficulty

    ·   Use of Mobile Phones

    ·   Use of Laptops

    ·   Recording a Lecture

    Students are expected to adhere to the Cardiff University policy on Dignity at Work and Study.

    How is this Programme Structured?

    Year 1: 120 credits core modules.

    Year 2: 100 credits core modules, 20 credits optional modules.

    Year 3: 80 credits core modules, 40 credits optional modules.

    Will I need any specific equipment to study this Programme?

    No specific equipment required.

    What skills will I practise and develop?

    Students will acquire and develop a range of valuable skills, both those which are discipline specific and more generic ‘employability  skills’ such as:

    • information literacy skills;
    • career development planning and lifelong learning;
    • ability to study independently

    How will I be taught?

    Core knowledge and understanding is acquired via lectures, laboratory classes, tutorials and guided study. Specialist lectures by experts in other institutes will be delivered using on-line talks and “webinars”, to enable students to gain first hand knowledge through prominent scientists working in the area of High Performance Computing. Critical analysis and evaluation is promoted by preparation of essays, presentations, algorithm design, individual and group project work. Both communication and information literacy skills are integral parts of all aspects of the course. Acquisition of practical program development, analysis and design skills is progressive, with detailed guidance being given in the early stages of core modules.

    Throughout the Programme, all students have the opportunity to participate in additional University-approved courses run by the Students’ Union and the Careers Service, through which a range of transferable skills can be developed.


    Students are required to undertake project work throughout the course, with the opportunity to exercise increasing independence at each Level.  At Level 1, each student is required to participate in both group and individual project work and individual project work. The tasks are well defined and enable students to put into practice knowledge and skills acquired earlier in the academic year. A number of check-points are employed in order to ensure student progress.  At Level 2, students undertake a group project: this project fosters systems design skills, inter-personal skills and presentation skills (including oral presentation), and each group is monitored by a supervisor with whom the group must keep in regular contact. The Level 3 individual projects give students the opportunity to demonstrate their ability to build upon and exploit knowledge and skills gained in earlier stages of the Programme. It encourages independent study and learning, and it provides the opportunity to demonstrate performance at Honours Level in all learning outcomes. This project shall be undertaken on a topic commensurate with the specialism of this degree programme (CS with HPC).

    How will I be assessed?

    Examinations are used to test the majority of the Programme outcomes. The format of the examinations is dependent on the Learning Outcomes of each specific module.  Examinations take place at the end of each semester, encouraging consolidation of knowledge acquired and skills developed at each stage.

    The majority of modules include coursework elements for both summative and/or formative assessment. At the start of the Programme students are shown the importance of good referencing, use of libraries and Web-based information retrieval as a prelude to critical independent study. Assessed essays are used to encourage knowledge and understanding, critical analysis, development of reasoned argument and synthesis of conclusions. Oral presentation skills are promoted by class discussions, group exercises and small group PowerPoint presentations. These skills are also assessed through the group and individual projects.

    Practical assignments assess both programming and design skills. These typically address small, well-defined problems at the start of the Programme, and become progressively more open-ended. For example, in the Level 1 Python and Java modules emphasis is given to fundamentals such as implementation of simple algorithms, while at Level 2, students exposed to less well defined problems. Tests are also used to assess knowledge, skills and techniques which a professional may be expected to use in a time-constrained situation. Students are also assessed by means of poster presentations. 

    The weighting of the various types of summative assessment alters as students progress through the three levels of this Programme, in order to reflect the students’ development. In particular, early feedback on application of practical skills is regarded as important. Students’ ability to tackle large problems should increase as they progress, hence the individual project at Level 3 forms 1/3 of the year’s assessment.


    Formative feedback is given in tutorials, discussion classes and problems classes as well as through individual written comments on coursework.

    How will I be supported?

    The Programme makes use of the Cardiff University’s Virtual Learning Environment (VLE) Blackboard to provide course materials, additional information about the programme is provided on the School’s website. All students are allocated a personal tutor who will monitor their progress, both personal and academic, throughout their time at University. Further details can be found in the Student Handbook.

    What are the Learning Outcomes of this Programme?

    ·         Understand the theoretical and practical principles underpinning contemporary computing practice;

    ·         describe and critically appraise current computer systems in operation;

    ·         use High Performance Computing techniques for large-scale problem solving in a number of different application domains;

    ·         understand performance optimization and trade-offs in High Performance Computing algorithms and applications, and develop simple performance models;

    ·         show appreciation of emerging trends in High Performance Computing, such as: (i) distributed computing architectures (e.g., Peer-2-Peer and Cloud computing); (ii) integration with mobile devices and pervasive services; (iii) multi-core and many core systems; (iv) GPUs and graphical accelerators;

    ·         critically analyse computing problems of a specified form, including those arising in aspects of High Performance Computing, and the use of High Performance Computing techniques to support problem solving;

    ·         sustain a critical argument, both in writing and through  presentation;

    ·         Creatively apply computing knowledge and techniques to unseen problems, demonstrating an appreciation of particular problem domains where High Performance Computing can provide benefit.

    ·         demonstrate understanding of the representation of data in structured forms and its interplay with the implementation of algorithms;

    ·         derive algorithms expressed formally or informally to solve computing problems;

    ·         select appropriate algorithms and design methodologies;

    ·         model complex systems and scenarios;

    ·         implement algorithms using appropriate software and hardware systems;

    ·         develop good quality software using High Performance Computing libraries and systems (such as CUDA, Condor, MPI, and a variety of other systems);

    ·         use Peer-2-Peer development approaches for large-scale problem solving;

    ·         describe and critically appraise his or her own work and the work of others, through written and verbal means;

    ·         communicate ideas, principles and theories effectively by oral, written and practical means;

    ·         work effectively in a team and as an individual;

    .         appreciate opportunities for career development and lifelong learning by participating in the University’s Personal and Career Development Programme.

    Other information


    Admissions tutors

    Dr Jianhua Shao , Admissions Tutor

      Key Information Sets (KIS) make it easy for prospective students to compare information about full or part time undergraduate courses, and are available on the Unistats website.