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.

Computer Science student with Raspberry Pi

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
Entry pointSeptember 2016
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
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


Admissions tutor(s)

Dr Jianhua Shao, Admissions Tutor

Important Legal Information: The programme information currently being published in Course Finder is under review and may be subject to change. The final programme information is due to be published by May 2016 and will be the definitive programme outline which the University intends to offer. Applicants are advised to check the definitive programme information after the update, to ensure that the programme meets their needs.

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.

When I finished my A-Levels, I wanted to find a university course that I felt would give me a solid overview of the many aspects of Computer Science and expose me to truly current cutting edge research within the field. The department has a world-class reputation and an innovative course that provides you with the skills to peruse a career within many computing and IT fields.

Rob Hemsley, Graduate (Computer Science)

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
Web ApplicationsCM110220 credits
Object Oriented Java ProgrammingCM120910 credits
Maths for Computer ScienceCM120810 credits
Architecture and Operating SystemsCM120510 credits
Problem Solving With PythonCM110320 credits
Developing Quality SoftwareCM120220 credits
Computational ThinkingCM110120 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


Overview and aims of this course/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 should I know about year five?

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 course/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.

What should I know about year four?

No specific equipment required.

What should I know about year three?

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

What should I know about the preliminary year?

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. 

What should I know about year one?


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.

Other information

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.

Distinctive features

·         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.

How will I be taught?

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.


Get information and advice about making an application, find out when the key dates are and learn more about our admissions criteria.

How to apply
Students outside the Glamorgan Building

Open Day 2016

Open days are your chance to get a real first-hand experience of the university and the city.

Related courses

Related links