Start a new search?


MSci Hons Computer Science (with Industrial Experience)


Mode of Study: Full Time Department: Computing and Communications (School of)
UCAS Code: G404 Duration/Length: 4 Year(s)
QAA Subject Benchmark: Computing Director of Studies: Dr U Roedig
Total Credit Points: 480 Credit Points Year 2: 120
Credit Points Year 3: 120 Credit Points Year 4: 120

Educational Aims: Knowledge, Understanding and Skills

  • The degree in Computer Science is designed for students seeking a broad yet rigorous grounding in this innovative discipline, with a strong emphasis on experimental computer science. Its balanced curriculum combines theory and practice to equip students with the cutting-edge knowledge and well-rounded professional and technical skills needed for a broad range of careers.  The programme aims to provide students with the knowledge and skills required to be a computing professional. In particular, it aims to develop graduates equipped to work effectively in a professional software and systems development environment and at all stages of the product life-cycle.

    This four year programme shares its first three years with the B.Sc. Hons Computer Science programme. As such, it also shares many of the programme’s general and subject-specific educational aims. However, students are expected to reach a higher level of expertise and maturity in many of these aims, in particular those related to the practical application of knowledge and skills through industrial engagement. This programme is also designed to develop the transferable skills necessary for working within team-based professional environments. It aims at creating wider career prospects for students by broadening their personal horizons and cultural awareness.

    In sum, the programme aims to:

    Ensure students have mature knowledge of the fundamental principles underpinning the field of Computer Science, and can demonstrate a high degree of scholarship and investigative practice in that domain.

    Impart cutting edge knowledge and experience of the most significant contemporary developments in practice and technology, along with current research trends and challenges.

    Help students advance the skills they will need in order to respond positively to the evolution of the discipline throughout the course of their career.

    Develop advanced critical, analytical and problem-solving skills needed by a practising Computer Science professional.

    Equip students with solid transferable skills necessary for working within team-based, professional environments.

    Provide practical experience of the challenges associates with working in an industry led environment, and to educate on how these challenges should be met by a practicing computer science professional.

    Help students strengthen the knowledge for a range of areas of advanced Computer Science.

    Expose students to practical experience of the challenges associates with working in an industry led environment, and to educate on how these challenges should be met by a practicing computer science professional.

    Satisfy the requirements for accreditation by the British Computer Society.

Learning Outcomes: Knowledge, Understanding and Skills

  • Graduates with Honours will be able to:

    Demonstrate rigorous and sophisticated understanding of the practice of software development.

    Understand, apply and interpret the fundamentals of computer system and network architectures.

    Understand, apply and critique the fundamentals of data and knowledge management, and associated techniques.

    Demonstrate deep understanding of the key professional issues and their relevance in industry setting.

    Apply and reflect on good programming practice to the development of applications and systems software solutions.

    Analyse, model, specify, evaluate and reflect on technological solutions to real-world problems.

    Design, validate, verify and document software solutions to address real world inspired problems.

    Apply and reflect on fundamental computing principles to the selection and application of appropriate programming paradigms, algorithms, data structures, data and knowledge management techniques.

    Apply and examine knowledge of computer and network architectures to the selection and application of appropriate techniques and technologies to system-level design and development.

    Apply and critique principles, theories and methods of human computer interaction to computer systems and software design.

    Deepen awareness of emerging technology and practice and cutting edge research.

    Demonstrate solid knowledge and skills in programming languages, techniques, and testing, design of software systems, use of technical documentation, develop networked applications, use of databases, employ software engineering methods, develop web-based solution, evaluate computer applications from a user centric perspective.

    Work effectively as part of a project team for developing applications and systems software solutions.

    Communicate effectively through written, oral and other forms of technical presentation.

    Demonstrate ability to plan for future career development.

    Develop awareness of the social, legal and professional issues to ensure ethical and professional conduct expected of a professional in this area.

    Understand the process of innovation and commercialisation of innovative computer-related products.

    Develop knowledge and skills of project management through guided practical project based placements, i.e. defining project plans.

    Develop deeper understanding of advanced specialist studies in Professional and research methodology, Advanced human computer interaction, and Data mining, to a level sufficient to prepare the student for advanced projects in that field.

    Demonstrate knowledge and skills of academic writing through authoring and reviewing academic publications at a level commensurate with international research workshops in the field.

    Develop and demonstrate skills of reflecting on their learning practice and to communicate effectively with a professional working in industry.

Learning and Teaching Strategies and Methods: Knowledge, Understanding, Skills

  • The general teaching and learning strategy is to provide closely linked theory and practice components to ensure that knowledge is consolidated and matched to the appropriate skill-based elements of Computer Science. Teaching is hierarchical with a broad first year, becoming progressively deeper and more specialised in years two and three.

    Lectures coupled with practicals are the principal mechanisms used to deliver key concepts and learning guidance. A range of laboratory space is provided all with 24-hour access. There is a dedicated 1st year laboratory, whereas for later years of study the laboratory space is organised according to subjects. Apart from the main Computer Science laboratory there are laboratories for engineering focused modules (e.g. communications and embedded systems), for media, HCI and design related modules, and a dedicated laboratory for Software Engineering. The different laboratories are also used for practical laboratory sessions for some modules. They are equipped with a variety of platforms to ensure that students have adequate access to technology for their projects and coursework.

    There is effective support for student learning and development of practical skills through laboratory-based work. In the 1st year there is also additional tutorial support in a small group setting. Feedback is provided informally in laboratory sessions and formally through mark sheets.

    In the third year students design and complete a supported project that is associated with one of the Department's research groups. Specialised supervision, expertise and equipment is available and, exceptionally, access to research laboratories can be granted if necessary.

    In the fourth year, the students study purely four masters modules, i.e., SCC400-403. These taught modules cover the basic master level computer science subjects in the areas of Systems, People and Big Data according to which all computer science based master level programmes are organised. As for all of computer science MSc programmes, there will not be any options. The fourth year consists of two specific industry-based modules ensuring intensive engagement with the industrial side of the programme, i.e. SCC 419 and SCC421. SCC.419 Industry Placement consists of ten-week placement in industry, and SCC.421 Fourth Year Project.

    In summary, the following teaching methods apply:

    The theoretical underpinnings of computer science are communicated through a combination of lectures supported by tutorials and written coursework.

    Formal grammars and the compilation process are developed through a combination of lectures, workshops/seminars and written coursework

    Social, legal and professional issues are developed through lectures with in-class quizzes and coursework.

    Fundamentals of computer systems architecture, computer systems software, abstraction and virtualization in computer science, efficient structuring, storage and retrieval of information, information and network security, and system risk, Human-computer interaction, and advanced studies in computer science  are developed through lectures supported by tutorials and coursework, including both written and practical assignments.

    Contemporary technologies in industry, project management, innovation and commercialization of innovative technologies are developed through lectures and workshops supported by coursework and industry placement

    Programming languages and paradigms and the architecture of the internet are developed through lectures supported by coursework, consisting mostly of supervised practical assignments.                              

    Software Engineering skills and knowledge are developed through lectures, supported by both individual and group-based project work.                                                         

    Documentation skills are supported by seminars, workshops and regular meetings with academics when aligned with project work deliverables.

    Awareness of emerging technology and practice and general problem solving skills are instilled implicitly through the philosophy of the programme.

    Programming language proficiency, use of appropriate programming techniques, systematic program testing and debugging, development of networked distributed applications, development of database centric applications, implementation of practical Web-based systems, evaluation of computer systems and applications are developed through practical and project work.

    Design and documentation of large software systems, software engineering best practice are developed on the basis of the ideas introduced in lectures and developed especially through group work and individual projects.

    Interpretation and authoring of technical documentation, effective use of information sources, technical report writing, fundamental research skills, and oral presentation of technical material and reflection are developed through seminars, workshops, and individual and group projects/assignments.

    Participation in software group projects, group working and team management are developed through group projects and assignments, and poster presentations.

    Skills for the execution of individual projects are developed through the supervised final year project.

    Career planning skills are developed through lectures including CV development, ‘mock’ interviews, etc. Additionally, the University has a Careers Service and there is a Faculty placements programmes.  

Assessment Strategy and Methods: Knowledge, Understanding and Skills

  • Both assessment and yearly progression follow the official university regulations laid down for undergraduate programmes; however, additional accreditation requirements layer on top of the university’s academic regulations.

    Within the overall programme the department aims to provide assessment that is more holistic than traditional module-based assessment techniques. This better serves the learning outcomes of not only individual modules but also of their encompassing components and the programme as a whole. In order to achieve this, assessment will be based upon:

    Purely coursework assessment for the project and Software Design module. The group project serves as the assessment for these elements.

    Innovative mechanisms such as formative assessment or quizzes for monitoring progress within individual modules. These elements may be self-assessed or marked in the labs.

    Assessment for each module designed to provide more in-depth evaluation of student knowledge in a particular subject area. At the same time, students will benefit from a more holistic piece of assessment in the subject area.

    The assessment strategy uses a mixture of exam and coursework assessment.

    The nature of the module determines the adopted assessment scheme in Part II. This is specified in the Module Specifications. Coursework takes various different forms and can include in-lecture quizzes, programming exercises, lab-based experiments, essay style coursework, etc. Project based modules are entirely assessed by coursework.

    In summary, the following methods apply:

    Theoretical underpinnings of computer science and formal grammars and the compilation process are assessed through written assignments and exercises, followed by formal examination.

    Social, legal and professional issues knowledge is assessed through quizzes during lectures.

    Fundamentals of computer systems architecture, computer systems software, abstraction and virtualization in computer science, efficient structuring, storage and retrieval of information, information and network security, and system risk, Human-computer interaction, advanced specialised studies in computer science are assessed through a combination of written and practical (lab.-based) assignments, and sometimes in-class quizzes, followed by formal examination.

    The architecture of the internet is assessed mainly by practical (lab.-based) assignments, followed by formal examination.

    Documentation knowledge and project management skills are assessed through group and individual project reports and holistic assessment of software documentation.

    Programming languages and paradigms knowledge and skills are assessed through lab.-based practical work, marked either during the laboratory session or later.

    Software engineering knowledge is assessed through a combination of written and practical assignments, in-lecture quizzes, and extensive group-based work, followed by formal examination.

    Innovation and commercialisation of innovative products are assessed through a combination of written and practical assignments, in-lecture quizzes, and extensive group-based work, written coursework, and formal examination.

    Skills for the development of database centric applications are assessed though a combination of written and practical (lab.-based) assignments, followed by formal examination.

    Programming language proficiency, use of appropriate programming techniques, systematic program testing and debugging, development of networked distributed applications, evaluation of computer systems and applications are assessed through lab-based practical work, marked either during the laboratory session or later.

    Design and documentation of large software systems is assessed through reports and presentations.

    Interpretation and authoring of technical documentation, technical report writing are assessed through project proposal, group and individual project reports, and holistic assessment of software documentation.

    Software engineering best practice, implementation of practical Web-based systems are assessed through reports and presentations related to design and implementation of a substantial system.

    Participation in software group projects, group working and team management, effective use of information sources, fundamental research skills, and oral presentation of technical material are assessed through group reports, peer assessment, and presentations related to a group assignment.

    Awareness of emerging technology and practice, execution of individual projects are assessed through the final year project.

    General problem solving skills are assessed through the challenging nature of many of our assessment exercises indirectly tests problem-solving skills.

    Formative assessment through practical work assignments is used to consolidate taught material and stimulate learning through practice. Formative assessment is always complemented by a summative assessment component; this is provided by examination in most elements of the programme, except those that are project-based.

Contact Information

If you encounter any difficulties accessing Online Courses Handbook information please contact the Student Registry:


If you require further details in relation to academic content please contact the appropriate academic department directly.

Related Pages