Start a new search?

MSci Hons Software Engineering (with Industrial Experience)

Mode of Study: Full Time Department: Computing and Communications (School of)
UCAS Code: G601 Duration/Length: 4 Year(s)
QAA Subject Management: Computing Director of Studies: Professor JND Whittle
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 overall aim of this programme is to provide students with a broad but rigorous treatment of fundamental Computer Science as a
    discipline, and to couple this with the development of knowledge, experience and transferable skills pertinent to the application of
    Computer Science in the ICT industry. This is achieved through a combination of classical and applied computer science courses
    delivered through face to face teaching direct and guided placements and project work with industry.
    We aim for graduates of this programme to continue directly into careers involving the application of computers science in industry .
    Moreover, we aim to provide a supportive learning environment within which students have the opportunity to reach their full
    academic potential within the discipline. We also aim to provide students with the knowledge and skills required by and expected of
    any Computing professional.
    This four year programme shares its first three years with the G400 B.Sc. Hons programme at Lancaster. 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.
    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.
    The explicit aims of this programme are to:
    · to ensure that students have 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;
    · to impart knowledge and experience of the most significant contemporary developments in practice and technology, along with
    current research trends and challenges;
    · to help students develop the skills they will need in order to respond proactively to the evolution of the discipline throughout
    the course of their career;
    · to develop comprehensive critical, analytical and problem-solving skills needed by a practising Computing professional;
    · to 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.
    · to develop the range of transferable skills necessary for working within professional environments.
    · To provide a detailed treatment of a range of areas of advanced computer science.
    · as a minimum, to satisfy the requirements for accreditation by the BCS and IET.

Learning Outcomes: Knowledge, Understanding and Skills

  • Graduates from this programme will be able to:
    General Statement:  This programme of study is intended to deliver a broad knowledge and understanding of the underlying principles of the key areas of Computer Science, classical and contemporary Software Engineering, and a detailed and mature understanding of the mechanisms involved in successful innovation transfer of computing-related technologies into the industry. This includes (but is not limited by) those cognate areas classified as Hardware, Software, Communication and Interaction, Practice and Theory in the most recent QAA Computing benchmark statement. Particular emphasis is placed upon the relating of theory to practice in each of these areas.
    More specifically, a student graduating at honours level from this programme would be expected to exhibit knowledge and understanding of the following:
    K1. Theoretical underpinnings of Computer Science. This includes discrete mathematics, logic, algorithmic efficiency and its effect on software systems, and the nature of computability.
    K2. Fundamentals of computer systems architecture. This ranges from first principles of the role of logic gates, the machine cycle and the nature of microcode, language compilation and interpretation, the nature of input/output, assembly and machine codes, including operations and addressing modes, and the nature of registers and memory, through to the architecture, performance and characteristics of parallel architectures, caching, virtual memory and network hardware.
    K3. Fundamentals of computer systems software. Graduates would be expected to understand the core concepts of operating systems, distributed systems and computer networks, and be able to reason about the design, performance and exhibited characteristics of the variety of mechanisms employed in classical and contemporary systems (such as resource management and scheduling algorithms, network and routing protocols, RPC mechanisms).
    K4. Programming languages and paradigms. Experience and familiarity with a wide range of software programming languages, and an awareness of their contemporary application domains. The range includes low-level programming (assembler), procedural programming (C) and object oriented programming (Java), multi-processor and concurrent programming (OpenMP) with optional pathways to study component based paradigms, RISC assembler and functional programming languages.
    K5. Abstraction and virtualization.  The key role of abstraction and virtualization in computer science, its relevance from software design through to its use in operating systems, distributed systems and networking to provide system protection, platform independence and programming paradigms.
    K6. Efficient structuring, storage and retrieval of information:  The representation, storage and processing of collections of data within computer programs. Including binary representations, data types, and scalar, compound and linked data objects. The nature of databases and their use for the storage and retrieval of data, ranging from simple store-and-retrieve processes based on arrays, hash tables and linked structures to fully developed database architectures. It includes the design, analysis and optimisation of databases based on the relational, object-oriented and object-relational and XML models, and the use of query languages such as SQL and OQL.
    K7. The structure, terminology, conciseness, brevity and clarity that should be associated with technical documentation, and its relationship and application to software documentation.
    K8. Formal languages and compilation.  The role of formal grammars and the nature of the compilation process within the context of Computer Science. Understanding the theory surrounding different
    K9. Current best practice in software design and engineering.  This programme places special emphasis on the theory and practice of software engineering. Students are expected to show good understanding of all core aspects, including requirements elicitation and specification, including formal methods, software architecture and design, the role of components for facilitating software re-use, software quality and testing and the management and evaluation of large-scale software projects.
    K10. Contemporary network and Internetwork architectures.  The nature of the Internet is examined from both an applications and a systems perspective. The student would be expected to understand how such networks operate at all levels of the OSI stack, and to acquire knowledge and understanding of the principles of contemporary protocols such as TCP/IP/HTTP, quality of service, management and access  protocols, and the architecture of the Internet and the World-Wide-Web.
    K11. The effects of Human-Computer Interaction on software systems. The principles, theories and methods of how human factors inform computer systems and software design. The student will know, understand and be able to appropriately select from and apply a range of techniques used to solicit, design, and evaluate user-centric software systems.
    K12. Social, legal and professional issues. A student would be expected to be aware of the ethical and professional conduct expected of a professional in this area. It includes, but is not limited to, the codes of conduct of relevant UK and International professional societies, legal issues related to this discipline, and the importance of professional conduct. Students will also have developed first hand experience acting as a professional in industry, and have reflected upon these experiences.
    K13. Specialist Studies.  Chosen topic in Computer Science. The candidate will have chosen to study a specialised computer science module, in an area such as artificial intelligence, information retrieval, natural-language processing, critical systems engineering, or embedded systems.
    K14. Innovation and commercialisation of innovative products. By the end of this programme, students will understand the many facets involved in the successful commercialisation of new innovative computer-related products. Such facets include the creative use of Intellectual Property Rights in computing products (from patents to copyleft), and an awareness of how technical decisions can affect way a product is marketed.
    K15: Contemporary Technologies in Industry. Computing in industry is a fast moving field. In addition to gathering knowledge and understanding of fundamental computer science, a graduating student would be expected to have gained knowledge of the most commonly adopted strategies of the day for computing systems and applications. Examples would include the cloud computing and software as a service paradigms.
    K16: Small Project Management. Through a number of guided practical project based placements, the student will have gained knowledge and experience of defining project plans and practical management of small projects.
    K17: Advanced Specialist Studies. The successful candidate will have studied two further areas of Computer Science to the level commensurate with an advanced masters degree, covering topics such as Network and Systems Security, Aspect Oriented Software Development and Mobile Computing (readers are referred to section 5.2 for a full list of courses). All of these courses will provide the students with knowledge and understanding to a level sufficient to prepare the student for advanced projects in that field.

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