Computer Science with Visual Computing (BSc)

The Computer Science with Visual Computing degree will give you an understanding of both the theoretical and practical aspects of Computer Science, while focusing on the challenging area of visual computing.

You will learn how computers can obtain, manipulate, represent and understand visual data, such as images, video and 3D scenes. In addition you will develop and practice in-depth technical skills in areas such as graphics, image processing and visualization. The exciting and dynamic world of computer science is at the heart of many aspects of modern life, and the BSc Computer Science at Cardiff will give you both the theoretical and practical knowledge needed to become a part of that world.

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-Level subjects including Mathematics
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 including a 5/6 in Mathematics at Higher Level
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

    Your first year is broad based, following the same structure as the Computer Science BSc degree programme. You will be introduced to the fundamental computing skills and concepts that will form the basis of your degree, including problem solving using fundamental algorithms in the Python and Java™ programming languages and systems modelling.

    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

    In year two you will continue to follow the main Computer Science programme with the addition of more specific modules such as Scientific Computing & Multimedia Applications. These more focussed sessions will continue to equip you with the programming and mathematical skills required for employment within the fields of multimedia, graphics and image processing.

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

    Module titleModule codeCredits
    Introduction to the Theory of ComputationCM220710 credits
    InformaticsCM220310 credits

    Year three

    You will study a range of modules that either focus on or complement the field of visual computing. Themes such as graphics, multimedia, machine vision and artificial intelligence are explored alongside contemporary, emerging technologies. You will also have the opportunity to gain first hand knowledge by attending lectures by researchers in the field of visual computing.

    During this year you will complete an individual project under the supervision of a member of our academic staff. Your own interests drive the subject of this project.

    Module titleModule codeCredits
    GraphicsCM311410 credits
    Emerging TechnologiesCM320220 credits
    MultimediaCM310620 credits
    One Semester Individual Project - 40CM320340 credits
    Artificial IntelligenceCM311210 credits
    Combinatorial OptimisationCM310910 credits
    Computer VisionCM311310 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?

    Computer Science is the study of theoretical foundations and practical implementation and application of algorithmic processes involving the creation, representation and transformation of information. This requires a wide range of skills from understanding the foundations of computing, to practical programming of modern, often parallel hardware, to analysing problem solutions and creativity and independent thinking to find new solutions. This programme gives students a comprehensive training in the theoretical aspects and practical experience in solving problems with computation over a wide range of applications in engineering, science and business. It provides a sound basis in computing as well as general intellectual training in a scientific subject, and enables students to develop transferable skills relevant to a wide range of professional careers. Graduates of this programme will have the necessary knowledge and understanding as well as practical skills and experience to contribute to the development of new and existing software projects, making them highly attractive to potential employers. They will also acquire a firm basis for conducting research in computing or a related subject, preparing them for further studies.

    Particular emphasis is placed on the growing area of Visual Computing which studies how computers can obtain, process, represent and understand visual data such as images, videos and 3D scenes. Visual data are the most important sensory information for humans and information is increasingly represented by visual models and simulations on computers with numerous applications such as scientific visualization, medical imaging, robotics, multimedia systems and computer games. Visualization plays a vital role in handling vast amounts of data produced by many modern applications and enable humans to understand it. On top of general computing skills graduates will receive in-depth skills in subjects such as graphics, computer vision, geometric modelling, image and geometry processing, visualization, preparing them especially for a professional career or research in visual computing.

    The overall aim of this Programme is to give students a sound education in Computer Science with particular emphasis on Visualization, Image Processing and Computer Graphics in preparation for a professional or research career in this rapidly changing field. 

    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: 120 credits core modules.

    Year 3: 120 credits core 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. 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.

    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 especially have to complete an individual programming project. 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 Visual Computing).

    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 technical reports 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) 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;

    ·      recognise computing problems arising in relevant contexts and model these  appropriately;

    ·      critically analyse computing problems of a specified form, including those arising in Visual Computing;

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

    ·      creatively apply computing knowledge and techniques to unseen problems;

    ·      model complex systems and scenarios;

    ·      select appropriate algorithms and design methodologies;

    ·      implement algorithms using appropriate software and hardware systems;

    ·      write good quality software;

    ·      solve visual computing problems, including problems relating to computer graphics, computer vision, visualization, image and video processing, and geometry;

    ·      effectively communicate ideas, principles and theories 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.