Computer Science (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.

The Computer Science BSc degree will equip you with transferable technical, analytical and professional skills backed by a broad awareness of current technology trends. Through your studies you will gain the expertise necessary to analyse problems and program appropriate computer-based solutions.

Key facts

UCAS CodeG400
Duration3 years
AccreditationsBCS the Chartered Institute for IT
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 Level subjects
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.

    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 year three, you will focus on emerging technologies and undertake an individual project centred on your own interests.

    Year one

    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
    Object Oriented Java ProgrammingCM120910 credits
    Web ApplicationsCM110220 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

    Building on the foundations of the first year, the modules taught in the second year expand your understanding, skills and experience by introducing more advanced topics. The structure and processing of data is explored and simple algorithms are expanded into applications that are able to communicate via networks. You will apply these new skills when you work with others in a team project to design and implement a software system in a professional manner.

    Module titleModule codeCredits
    Database SystemsCM210210 credits
    Algorithms and Data StructuresCM230320 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

    In the final year of your degree you will focus on emerging technologies and advanced topics of interest to you when you choose which modules to study. Themes such as image processing and multimedia or advanced database topics and information systems management (using industry standard products such as Oracle™) are taught alongside contemporary topics such as computer security, forensics and high performance computing. During this year you will complete an individual project under the supervision of a member of staff; your own interests drive the project topic.

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

    Module titleModule codeCredits
    Large-Scale DatabasesCM310420 credits
    High Performance ComputingCM310320 credits
    MultimediaCM310620 credits
    Knowledge ManagementCM310720 credits
    SecurityCM311010 credits
    ForensicsCM311110 credits
    GraphicsCM311410 credits
    Computer VisionCM311310 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


    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?

    Computer Science is the study of computation, a rapidly evolving area of study covering a wide range of computing systems and applications, from mobile phones to supercomputers, information databases to the world wide web, security to graphics and visual computing. Thinking like a computer scientist involves modeling real world problems at appropriate levels of abstraction and developing elegant solutions based on mathematical and engineering principles.

    The overall aim of the Computer Science Programme is to give students a broad theoretical and practical understanding of Computer Science, a sound education in Computer Science, and an appreciation of contemporary developments in computing practice and research. Graduates of this Programme will be able to objectively analyse computational problems and develop appropriate, effective and creative solutions and show a broad understanding of technology at a detailed level, making them highly suitable for a wide range of professional careers within which they will be able to demonstrate desirable soft skills.

    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,

    ·   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: 60 credits core modules. 60 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?

    A diverse range of teaching and learning styles are used throughout the programme. Students will attend lectures, laboratory classes, tutorials, problems classes and participate in group work.  Both communication and information literacy skills are integral parts of aspects of the course. Acquisition of practical program development is progressive, with detailed guidance being given in the early stages of core modules.

    The Programme outcomes have been informed by the QAA Computing benchmark statement and also by the requirements of the BCS – The Chartered Institute for IT.

    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. 

    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 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 are 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) Learning Central 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 broad range of concepts, principles and theories underpinning Computer Science;

    ·         describe and critically appraise computing systems and solutions to problems;

    ·         objectively analyse computational problems and develop appropriate, effective and creative solutions;

    ·         model complex scenarios to design computer systems that meet stated requirements;

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

    ·         select, derive and analyse appropriate algorithms to solve computing problems;

    ·         recognise and specify the constraints, requirements and trade-offs in the design of computer systems;

    ·         show awareness of relevant professional, ethical, legal and social issues that arise in the implementation of existing and future computer systems;

    ·         creatively apply computing knowledge and techniques to previously unseen problem;

    ·         implement good quality and robust software using appropriate programming paradigms;

    ·         effectively communicate ideas, principles and theories by oral, written and electronic 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;

    .         make effective use of general IT systems.

    Other information

    Students on the Computer Science degree programme will have the opportunity to interact and work closely with students on the Software Engineering and Business Information Systems degree programmes also run within the School, providing a rich and stimulating learning environment associated with these different, but related disciplines. 

    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.