Search our site
Search our site

Software Engineering BSc(Hons)

Attendance UCAS code Year of entry
3 years full time G601 2015
4 years full time including sandwich year G600 2015
4 years full time including foundation year G604 2015

See the Unistats data for this course

Why choose this course?

Kingston's software engineering programme examines the tools, techniques and methodologies that represent the best practice in industry. You will learn to build software based on a sound knowledge of the underlying components and the importance of quality requirements.

This course is accredited by BCS, The Chartered Institute of IT.

What will you study?

This course includes the first-year curriculum shared by all of our single honours computing degrees, giving you the flexibility to change courses once you've found what really suits you. During Year 1 you will study how organisations function and how people are affected by technological change. You will look at the stages of system development, from finding out what the client needs, to building and maintaining a system. You'll cover programming skills and concepts, complemented by practical design and testing techniques.

The second year continues with the four themes covered in the first year. The programming module will extend your learning of the formal aspects of programming and you will become acquainted with the important tools available for programmers. You will be introduced to the basic principles of networking and data communications, which will include configuration of routing protocols and the different types of routing algorithms. UML is the modelling language of choice, and this leads to database design and development. The project module will draw together the different elements of the four themes.

The third year has three core modules, and you will study the important subject of system development. The programming module will extend the concepts developed in the second year. The project module offers the opportunity to demonstrate the skills and understanding you have gained throughout the course by applying them to a project of your choice. You can also choose one option module from a list of six.

Module listing

Please note that this is an indicative list of modules and is not intended as a definitive list. Those listed here may also be a mixture of core and optional modules.

Year 1

  • This module will be taken by first year (Level 4) students enrolled on Computer Science, Software Engineering, Information Systems and joint honours degrees. It is not assumed that you have prior programming experience. The teaching and learning is split between several units, that will be directed at specific subsets of the above cohorts. This provides each cohort with a schedule of activity that is appropriate for their background and future needs, while allowing a general visibility and structure of material for the entire year.

     
  • This module is designed to provide the necessary underpinning of computer architecture as well as a wide range of tools and techniques to enable students to use and build systems, and to evaluate systems based on emerging technologies.

    On successful completion of the module, you will be able to:

    • Produce personal demonstrations of the application of a range of modern IT technologies.
    • Describe the basic processes, principles and technologies working behind the scenes in current online IT environments including layers of abstraction in computing systems.
    • Discuss how current trends in online IT allow individuals, companies and organisations to operate online.
    • Select and use appropriate tools, systems and delivery technologies for web prototyping and developing simple online and mobile applications.
    • Describe some of the social, ethical and legal issues involved with modern IT environments.
     
  • The module focuses on the principles, methods, techniques and tools commonly used in the analysis and early design stages of the software development lifecycle. You will work on a software design project in organised teams throughout the year to:

    • elicit, analyse and document requirements;
    • model early process and data requirements;
    • design the user interface of an interactive system with an emphasis on human-computer interaction;
    • produce, evaluate, and demonstrate its first medium fidelity prototype; and
    • deliver written reports.
     
  • This module introduces the study of technologies in their context and their effect on the workplace, economy and society. It also introduces the legal and moral perspectives that are relevant to both the development and use of these technologies. You are also introduced to business organisations and practices, how they operate, the legal requirements of such organisations and the impact of technology on these.

    On successful completion of the module, you will be able to:

    • Describe how technology changes the nature of work for different groups of people and explain why predictions about technology and work are often incorrect.
    • Gain an insight into the impact of information technology within business, organisations and on society.
    • Identify and interpret a range of common business operations and understand the typical information flows to, from and within a small business.
    • Understand which laws apply to computing and the ethical issues that computing raises.
    • Understand the main ownership structures that businesses operate and appreciate the content and importance of essential financial statements including the balance sheet and the profit and loss account.
    • Appraise how technology impacts on the economy and understand the various ways in which a business can raise capital and the sources of such capital.
     

Year 2

  • This module extends your learning of the formal aspects of programming, including a comprehensive treatment of the object-oriented paradigm, selection and use of data structures, and algorithms for searching and sorting. The module enables you to become acquainted with the important tools available for programmers, such as development environments, revision control systems and code profiling and optimization techniques.

    On successful completion of the module, you will be able to:

    • Explain multi-paradigm programming and compare, using software quality factors, the different paradigms pre object orientation (procedural) paradigm, object-oriented paradigm and beyond object oriented programming (component/service) paradigm.
    • Apply an object-oriented methodology to make appropriate design decisions when creating and modifying computer programs, using class inheritance, association, aggregations, polymorphism, interfaces, encapsulation, access modifiers and class membership as necessary; select and use data structures such as arrays, lists, maps and trees to implement algorithms for searching and sorting based on container classes.
    • Include graphical user interface components in a computer program and ensure that they function as specified.
    • Explain the purpose and principles of tools available to programmers, such as revision control systems, integrated development environments, and code debugging, profiling and optimisation tools.
    • Understand the similarities and differences between the different execution environments in which computer programs are executed, such as the command line, the common gateway interface, applets, services and web server environments.
    • Understand the professional, legal and ethical issues associated with the creation and use of computer programmes.
     
  • This module aims to enhance students' 'know-how' knowledge in modern computer systems from several classic perspectives such as computer organisations and architecture, operating systems, networking and parallel programming. The module builds upon basic concepts in computer architectures and computer networking and how modern operating systems work with developing an understand of operating systems, the importance of network protocols, distinguish OSI and TCP/IP models, as well as develop the skills of requirement analysis and network design.

    On successful completion of the module, you will be able to:

    • Describe and differentiate between the essential features and operations of modern computer architectures.
    • Explain the principles and major functions of modern operating systems.
    • Develop an understanding of multi-processing techniques, concurrent programming and synchronisation.
    • Describe the basic concepts of data communications, networking and standard networking models, and to plan and design a computer network for specific usage scenarios.
    • Develop an understanding of client server applications, protocols and network programming.
    • Describe the devices and services that are used to support communications across a network.
     
  • Requirements and process modelling will be taken through the design stage with the development of different UML design models through to the implementation phase. The development of conceptual data models will be covered in more depth and developed for database design and implementation. Throughout, the module will focus on object-oriented analysis and design.

     
  • This module provides skills in project development and management in a controlled environment; bringing together the different elements learnt to date to be put into practice in a project. To integrate connections between various languages and frameworks, as well as develop skills in designing larger systems where 'trade-offs' between conflicting requirements must be made. Teamwork is of paramount importance.

    On successful completion of the module, you will be able to:

    • Describe the factors involved in the conception and planning of a project, in order to deliver a product to time, cost and quality standards.
    • Outline a business and project management plan for a project proposal and apply basic project management tools and techniques.
    • Work with other team members to identify, distribute and undertake tasks necessary to complete a project.
    • Develop familiarity with various IT development environments and tools.
    • Apply techniques from analysis and design methodologies, such as SSADM, UML, to specify the client's requirements and design a range of solutions.
    • Choose selected development tools, techniques and project methodologies to deliver a working software prototype, providing individual students with sufficient confidence to start a final year project on their own.
     

Optional sandwich year

Year 3/4

  • This module allows students to demonstrate their skills and understanding gained through the application to a project of their choice. The project requires evidence of managing and developing the process of running a project, creating an artefact and reflecting critically upon the process and outcomes, as well as develop software for a real client.

    On successful completion of the module, you will be able to:

    • Plan, manage and control a substantial project including its critical appraisal.
    • Investigate, analyse and define the problem either for a client or to support their own implementation, as appropriate.
    • Apply relevant techniques in systematically designing a solution to the problem independently identify, research and synthesise literature relevant to the problem.
    • Construction and presentation of a prototype leading to a solution and its suitable testing.
    • Report effectively on what has been achieved and to what extent the objective(s) have been reached.
    • Demonstrate competence in the production of supporting documentation for the work.
     
  • This module covers develops concepts gained at the previous level and applied to a number of important aspects of modern programming: the different modalities of I/O, document objects and the software release lifecycle.

    On successful completion of the module, you will be able to:

    • Explain the similarities and differences in the operations necessary for input from and output to a file, a stream and a database.
    • Apply appropriate exception handling to ensure failsafe operation of programs.
    • Apply appropriate programmatic tools and libraries to input, manipulate, and output structured text and multimedia content.
    • Develop a software application for at least two specialist environments, such as: games console, smart phone, tablet, computing cluster/cloud, machine learning environment.
    • Apply advanced debugging techniques to diagnose and fix errors in a computer program.
    • Organise a release of a given version of a software program, including revision control management, test plan, documentation, and cross-platform compilation.
     
  • With regard to the dependence of society on computer systems, this module investigates the limits of system dependability and the challenges encompassed. The module considers approaches to system development as ways of managing those limits.

    On successful completion of the module, you will be able to:

    • Apply the principles of current design methods to software development.
    • Compare and contrast different architectures for software implementation.
    • Consider software quality approaches and evaluate their effectiveness in producing quality systems.
    • Undertake a significant software project incorporating all aspects of software engineering.
    • Apply metrics to software production and compare the effectiveness of different approaches.
     
  • Choose from the following:

    • This module will consolidate and build on previously acquired knowledge of databases by analysing and evaluating important issues in the database area. In addition it will provide a sound understanding of the dynamic content within world wide web pages.

      On successful completion of the module, you will be able to:

      • Develop knowledge of database design in order to critically analyse and evaluate database modelling and development methods.
      • Gain a detailed insight into the practical and theoretical aspects of advanced topics in databases, such as object-relational databases, data warehouses and distributed databases.
      • Create, implement and critically test and evaluate an advanced database design.
      • Understand the significance of the World Wide Web in modern commerce.
      • Be competent in using at least one server-side technology (eg PHP) and at least one client-side technology (eg JavaScript) to create dynamic web content.
      • Use a database server in conjunction with a web-based application.
       
    • This module provides an overview of computer graphics and its role in creating realistic imagery. You will study and apply the methods and algorithms of image processing and their capability to manipulate image data; and in computer vision, to the common approaches to analysing visual imagery to understand and interpret the content.

      On successful completion of the module, you will be able to:

      • Demonstrate an understanding of and distinguish the key principles and techniques in the fields of computer graphics, image processing and computer vision.
      • Describe how computer graphics, image processing and computer vision are applied in modern applications.
      • Appreciate the inter-relationship between computer graphics, image processing and computer vision.
      • Demonstrate an ability to apply computer graphics, image processing and computer vision algorithms.
       
    • This module offers an overview of current trends in digital business. It explores the impact of digital business on strategy, customer experience, efficiency and innovation. It also explores the design and application of digital technologies in, for example, education, entertainment, retail, commercial, government and other sectors.

      On successful completion of the module, you will be able to:

      • Explain what is meant by digital business in terms of both wired and wireless business and the strategies, environments, technologies, devices and infrastructure required to carry out this type of business.
      • Describe key technical and non-technical components, legal and regulatory business issues, social and business trends that form the foundation of a large scale digital business project.
      • Describe how reputation, search marketing and social media affect digital business and also how various techniques such as analytics and optimisation can be used to measure and improve the business.
      • Critically assess how the technical and non-technical aspects can best be managed to ensure the successful implementation of a digital business.
      • Develop a case to justify the expenditure on a digital business in terms of business benefits.
      • Apply appropriate tools and techniques to identify opportunities for implementing a digital business.
       
    • This module explores the major challenges to computer security and covers ways of protecting systems and data.

      On successful completion of the module, you will be able to:

      • Demonstrate understanding of a range of problems of security by identifying common types of threats and vulnerabilities of computer, network and information security systems, as well as available security-related algorithms and protocols.
      • Analyse and implement a range of controls to minimise risks of security breaches.
      • Apply the basic methodology of computer security in order to assess and improve the security in a range of scenarios.
      • Comprehend, implement and use a range of controls to achieve the main computer security goals of confidentiality, integrity and availability.
       
    • This module focuses on enterprise networks; the internet protocols and services which will develop the understanding of how the TCP/IP internet protocol suite achieves the interconnection of geographically separate computers over networks of arbitrary topology and technology. This knowledge will underpin the design skills required to design such company networks including identifying the physical components  required and designing appropriate IP addressing schemes. The module introduces wireless and high-speed networks and how these are used to deliver a variety of business applications.

      On successful completion of the module, you will be able to:

      • Explain the basic principles of internetworking, and describe the role of each protocol within the TCP/IP protocol stack.
      • Identify the main hardware network components used to construct enterprise networks, and be able to design a network for a small enterprise.
      • Demonstrate a thorough understanding of IPv4 and IPv6 addressing, sub-network addressing, and be able to design an IP addressing scheme for a domain.
      • Demonstrate how internet application services (eg HTTP) available on any of today's advanced operating systems depend on and interact with other TCP/IP protocols, and explain the role of DNS and DHCP services in the configuration of network hosts.
      • Demonstrate an awareness of the services available from the internet and network providers to support business and homes and be able to critically reflect on the legal, social, economic and ethical issues associated with the use broadband services.
       
    • This module addresses the implications of the knowledge society with regard to information systems and the use of IT; to organise relevant information in an entrepreneurship fashion in creating value chains. The information lifecycle and hierarchy as well as intellectual property  will be presented and explained. The module looks at the knowledge-based view of the organisation, theories of knowledge and information as well as the role of software systems (CRM, CMS, ERP EDM etc) in developing supportive information systems and in learning and knowledge cycling.

      On successful completion of the module, you will be able to:

      • Discuss the knowledge view of the organization and the role of information systems in creating and manageing knowledge assets, and in identifying and adding value to these.
      • Explain the most important pedagogical principles involved in learning and in e-learning.
      • Explain and apply the principles of the most important management theories and information systems practice that relate to the requirements of innovative companies.
      • Explain how creativity and innovation come about.
      • Present the elements needed for a good business plan and apply the procedures and perspectives which are important in establishing a new venture or spin-out company.
       
    • This module deals with the preparation for both developing front-ends, and designing human-computer interactions. The module builds on your understanding of user interfaces, the systems development process, design techniques, and usability inspection, and provides an opportunity to apply and extend development skills.

      On successful completion of the module, you will be able to:

      • Evaluate the quality of a users' experience.
      • Design input modalities, output media and interactive content to appeal to an audience.
      • Prototype interactions between humans and computers.
      • Analyse users and their activities, and carry forward lessons learned.
      • Research user needs and the implications of technology for work practice.
      • Reflect upon design practice and discuss the strengths and weaknesses of alternative techniques.
       
    • This module introduces desktop virtual reality in the creation and display on the screen of a desktop or laptop computer or mobile device, of illusions of three-dimensional objects that may be animated, and of three-dimensional scenes that may be navigated, in response to the manipulation of an input device (eg mouse or keyboard) by the computer user.

      On successful completion of the module, you will be able to:

      • Identify application areas for desktop virtual reality applications and services within organisations.
      • Identify the technologies and technology trends that support immersive, desktop and networked virtual reality.
      • Construct desktop and networked virtual reality prototypes by using virtual reality creation software.
      • Understand and discuss the business, technical, pedagogical, social and ethical issues involved with virtual reality.
      • Fully and correctly document the bibliographic and software resources consulted in the execution of the project.
      • uss the knowledge view of the organization and the role of information systems in creating and manageing knowledge assets, and in identifying and adding value to these.
      • Explain the most important pedagogical principles involved in learning and in e-learning.
      • Explain and apply the principles of the most important management theories and information systems practice that relate to the requirements of innovative companies.
      • Explain how creativity and innovation come about.
      • Present the elements needed for a good business plan and apply the procedures and perspectives which are important in establishing a new venture or spin-out company.
       
     

You will have the opportunity to study a foreign language, free of charge, during your time at the University on a not-for-credit basis as part of the Kingston Language Scheme. Options currently include: Arabic, French, German, Italian, Japanese, Mandarin, Portuguese, Russian and Spanish.

Most of our undergraduate courses support studying or working abroad through the University's study abroad programme or Erasmus programme.

Ask a question about this course

Admissions co-ordinator
Tel: +44 (0)20 8417 4545
Email us

Location

This course is taught at Penrhyn Road

View Penrhyn Road on our Google Maps
Favourite this course

Find a course

Find a course at Kingston

Related courses

Jayesh HiraniGraduate Jayesh Hirani is test-driving his business prowess with the launch of Safer Minicabs, a free app for smartphones.  Find out more.

Find us on Facebook

Undergraduate study
Site menu