Search our site
Search our site

Computer Science (Network Communications) BSc(Hons)

Attendance UCAS code/apply Year of entry
3 years full time G420 2017
4 years full time including sandwich year GHK6 2017
4 years full time including foundation year G425 2017
6 years part time Apply direct to the University 2017

Why choose this course?

Through the development of new technologies and new applications, computer science radically and continually changes the way we experience our world, whether in gaming, communications, commerce, entertainment, science or education. This course assumes no prior knowledge of computer science and offers you the flexibility to pursue specialist areas of particular interest to you (eg web design, digital business, and internet security).


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

What you will study

You will learn to design networks and IP addressing schemes, build reliable protocols and network applications which solve real world problems. You will study fundamental principles underpinning computer systems, information systems, security and the software development process.

Year 1's curriculum is shared by all our single honours computing degrees. It gives a thorough grounding in computer systems and software development, and the flexibility to change course should you wish.

You will examine computer architectures, and the range of tools and techniques used to build systems. Developing programming concepts and skills, you will become familiar with software development tools. You will learn principles, techniques and tools common to the analysis and design stages of software development. You will study the impact of technologies on the workplace, economy and society.

Year 2 continues core themes introduced in Year 1, emphasising networking and data communications. The programming module extends your learning of formal aspects of programming including object-orientation, data structures, and algorithms. You will become familiar with development environments, revision control systems and optimisation techniques. You will be introduced to the basic principles of networking and data communications, developing practical skills in network and IP addressing design. Based on thorough knowledge of Internet protocols, you will learn the structure and implementation of network services. Data modelling is fundamental to designing effective computer systems. You will learn to use UML design models to capture system requirements, to develop relational models and use SQL to develop database systems. Working in teams, you will develop project development and management skills, applying your analysis and design knowledge to deliver a working software prototype.

In Year 3 you will study key Internet services and protocols, including how these services are secured, and learn to design and implement protocols and services for a world of increasingly connected everyday objects. The programming module will further your programming skills and best practice, including the agile methodology, testing, and common coding standards design patterns. You will select two software ‘platforms' to enable you to develop your own specialism (eg Google Maps, frameworks for web development, .Net, and Swift Platform for mobile devices). The project module gives you a chance to show the knowledge and skills you have gained, apply them to a project of your choice, and create a key artefact for your CV. You will also select one option module.

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.
  • The concepts of network operation and function are developed with the use of networking models such as the ISO OSI and the TCP/IP models. The structure, architecture and components of the network are described and the roles of protocols, services and applications are introduced. You will be introduced to the configuration of routing protocols and the different types of routing algorithms such as using link state and distance vector routing.

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

    • Explain the importance of data networks and the Internet in supporting business communications and everyday activities.
    • Describe the devices and services that are used to support communications across an internetwork.
    • Explain the role of protocols in a data network.
    • Describe the importance of addressing and naming schemes at various layers of data networks.
    • Distinguish and configure routing protocols.
    • Describe the features of distance vector and link state routing protocols.
  • 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 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 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.
  • 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 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.

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.

Study abroad as part if your degreeMost of our undergraduate courses support studying or working abroad through the University's Study Abroad or Erasmus programme.

Find out more about where you can study abroad:

If you are considering studying abroad, read what our students say about their experiences.

Key information set

The scrolling banner(s) below display some key factual data about this course (including different course combinations or delivery modes of this course where relevant).

We aim to ensure that all courses and modules advertised are delivered. However in some cases courses and modules may not be offered. For more information about why, and when you can expect to be notified, read our Changes to Academic Provision.

Contact us

Admissions team


This course is taught at Penrhyn Road

View Penrhyn Road on our Google Maps

Contact us

Admissions team


This course is taught at Penrhyn Road

View Penrhyn Road on our Google Maps
Favourite this course

Find a course

Course finder


Find us on Facebook

Undergraduate study
Site menu