We use cookies on this site. By browsing our site you agree to our use of cookies. Close this message Find out more

Home > Courses > Undergraduate > Computer Science (Distributed & Networked Systems)
More in this section Computer Science

Computer Science (Distributed & Networked Systems) BSc

UCAS code G4T6
Year of entry 2018
Course Length
3 years full time
Department Computer Science »

Distributed and networked systems underpin the proliferation of sophisticated, software-enabled systems that are changing the way we live in the 21st century. The implications for our global economy and societies are vast, from the sensor and actuator networks that connect up cities, to cyber-physical systems, patient-centred healthcare, and disaster-recovery systems, to name just a few. This new specialist pathway for our undergraduate Computer Science students will give you the knowledge and practical experience you need to achieve your career ambitions. It has been designed in consultation with industry, to help propel you to the forefront of creating and maintaining the distributed systems and networks of the future.

You will learn from leading researchers in the field, covering contemporary technologies such as Web 2.0, distributed and embedded systems, and artificial intelligence. This will be underpinned by a solid grounding in the fundamentals of computing and all the essentials of application development, from programming to software engineering, databases to web development, computer graphics to robotics. From the outset you be experimenting with programming games, robots, Gadgeteer kits, Subversion, JUnit testing, Scrum-based Agile software and more, in our well-equipped laboratories. Alongside core modules in all three years, you will have the flexibility to choose between a range of optional courses, according to your interests.

We are a highly respected, research-focused department with a friendly approach and award-winning teaching. We offer a summer work placement programme and a dedicated personal adviser to guide you through your studies. You will also be welcome to join our Computing Society, a thriving community of more than 400 computer enthusiasts from across the College. We are one of only seven departments in the UK to hold the Athena SWAN bronze award for our commitment to increasing female participation in computer science. You will graduate with a strong knowledge of distributed and networked computing theories and methodologies, and transferrable skills such as advanced IT skills, team working, communication, time management and self-motivation.

  • Gain a solid grounding in all the main aspects of computer science but with a career-focused specialism in distributed and networked computing.
  • Enjoy a varied and flexible curriculum, informed by cutting-edge research and current industrial needs.
  • Join an elite department, ranked 11th in the UK for the quality of its research output (Research Exercise Framework 2014).
  • 97% of our students said this programme is well organised, and 92% said it is intellectually stimulating (National Student Survey 2015).
  • This programme is accredited by BCS, The Chartered Institute for IT, and the European Quality Assurance Network for Informatics Education (EQANIE). 

Core modules

Year 1

Computing Laboratory (Games)

In this module you will develop an understanding of the basic concepts of 2D game design and apply them to the development of simple games using an objected-oriented approach. You will look at the nature of graphics, animation, and motion, considering the usage of vectors in these techniques. You will also examine the fundamentals of game physics, such as collisions, gravity and ballistics.

Computing Laboratory (Robotics)

In this module you will develop an understanding of the building of computer systems. You will learn about the elementary concepts of robotics, gaining practical experience in programming mobile robots to execute pre-defined movements using Java and Lego NXT. You will also consider the basics of sensors, proportional-integral-derivative (PID) feedback systems, and the principles of localisation.

Internet Services

In this module you will develop an understanding of how the internet works and its key protocols. You will look at the technologies used for web development, including scripting languages and their potential for adding dynamic content to web sites and applications. You will consider the role of web services and related technologies, and will examine the fundamental principles of network security.

Machine Fundamentals

In this module you will develop an understanding of the handling of large and infinite objects within a programming environment. You will learn how to use formal logic to design, reason about and minimise switching circuits, and write basic programs in assembly language. You will consider the binary representations of signed and unsigned integers and how to write regular expressions to describe sets and build deterministic automata to recognise these. You will also examine the use of automata machines in the design and reasoning of sequential flow systems.

Mathematical Structures

In this module you will develop an understanding of the formal resoning for sets, relations, functions and cardinality. You will look at the structures for program data and representation and learn to write and reason recursive definitions and prove results by induction and contradiction. You will consider the representation and reasoning of problems using graphs and the use of vectors and transformations for defining and manipulating graphical objects. You will also examine the usage of probability and statistics in analysing data.

Object Oriented Programming 1

In this module you will develop an understanding of programming and object-orientation concepts. You will learn about program basics, control flow, data structures, objects, exceptions, and file input and output. You will consider how to solve basic programming tasks and the need for program documentation, testing, readability and modifiability.

Object Oriented Programming 2

 

Software Design

In this module you will develop an understanding of software design and engineering processes, including the Waterfall and Agile methodologies. You will learn how to identify common software requirements and see how these have been considered in existing systems. You will look the techniques of software design and how software engineers communicate their design ideas. You will consider the importance of documentation and the usage of current industry-standard notations such as user stories and the unified modeling language (UML). You will also analyse and critique the design of existing sotware looking at the user experience as a measure of its fitness for purpose.

Year 2

Algorithms and Complexity

In this module you will develop an understanding of the design of algorithms, with a focus on time and space complexity. You will examine basic algorithms, looking at the implementation and analysis of linear search, binary search, and basic sorting, including inerstion sort, selection sort, merger sort, quick sort, and heap sort. You will consider alternative data structure representations, such as binary search trees, hash tables, and binary heaps, and will gain an insight into the basics of graph algorithms.

Computer and Network Security

In this module you will develop an understanding of computer and network security. You will look at software vulnerabilities, hands-on hacking-oriented attacks, memory errors, and web and network security. You will learn how to identify such vulnerabilities, and consider the countermeasures that can mitigate their exploitation. You will also examine malicious software (malware) as a typical consequence of a successful software exploitation.

Databases

In this module you will develop an understanding of the basic concepts of database technology, including the need for database integrity and robustness, and the use of a modern database system in a web-based environment. You will look at database design and the theory of the relational view of data, learn to describe the crucial issues concerning database integrity and recovery from failure, and write search query language (SQL) queries. You will also consider the process of designing and implementing a database, from the user specifications to the final design, and implement an interface to an SQL database using an application programming interface (API).

Introduction to Information Security

In this module you will develop an understanding of how information security may be influenced by real world design and implementation decisions. You will will look at the different cryptographic algorithms, considering their use, advantages and disadvantages. You will use these cryptographic primitives to review and evaluate cryptographic protocols, and examine the rational decisions in the design of tokens and secure elements.

Operating Systems

In this module you will develop an understanding of the function and architecture of network operating systems. You will look at the role of an operating system, considering processes, memory and file systems. You will learn to write basic shell scripts, see how services are used at the operating system-level, and evaluate the theory and practice of existing operating systems. You will also examine the UNIX shell, including starting programs, input and output steams, pipes, filters, and utilities.

Software Engineering

In this module you will develop an understanding of software engineering techniques and the managerial discipline required to work as part of a team. You will look at basic object-oriented concepts and consider the need for effective program documentation, testing, readability, and modifiability. You will consider the tools used to support software development, such as version controllers, debuggers, and code style checkers, and see how these are integrated into an industry-standard development environment (IDE). You will deliver a small-scale project using test-driven development.

Team Project

In this module you will develop an understanding of the role of the computer professional, gaining practical experience in developing medium scale software as part of a team using Scrum-based Agile development. You will apply managerial discipline and learn about the software lifecycle, team development, standard industrial software engineering, project management, use of version control, and integrated development enironments (IDEs). You will see why project cost and effort is hard to estimate, and consider why project quality is hard to prescribe.

Year 3

Individual Project

In this module you will have the opportunity to plan and organise a large project, analysing complex ideas, identifying problems, and coming up with solutions. You will apply scientific principles and use a range of software and hardware techniques. You will analyse the effectiveness of your solutions and evaluate the results. You will also consider legal, social, ethical and professional issues. You can design your own project or choose a topic from a suggested list.

Optional modules

In addition to these mandatory course units there are a number of optional course units available during your degree studies. The following is a selection of optional course units that are likely to be available. Please note that although the College will keep changes to a minimum, new units may be offered or existing units may be withdrawn, for example, in response to a change in staff. Applicants will be informed if any significant changes need to be made.

Year 1

Only core modules are taken

Year 2

Introduction to Artificial Intelligence

 

Mathematical Methods for Computer Science

 

Human-Computer Interaction

 

Year 3

Computational Finance

 

Intelligent Agents and Multi-Agent Systems

 

Machine Learning

 

Semantic Web

 

Visualisation and Exploratory Analysis

 

Advanced Data Communications

 

Concurrent and Parallel Programming

 

Interconnected Devices

 

Applications of Cryptography

 

Cyber Security

 

Digital Forensics

 

Malicious Software

 

Smart Cards, RFIDs and Embedded Systems Security

 

Human-Computer Interaction

 

IT Project Management

 

Software Language Engineering

 

Advanced Algorithms

 

Bioinformatics

 

Compilers and Code Generation

 

Computational Optimisation

 

Digital Audio and Applications

 

Functional Programming and Applications

 

We firmly believe that how we teach you is at least as important as what we teach, and we know the importance of giving you the time and space to experiment and put theory into practice. We encourage you to use your creativity, both in project teams and independently, and to have fun while you learn. We use a variety of teaching methods, including lectures, small-group tutorials, supervised computer lab classes and problem-solving sessions. You will also be expected to complete guided independent study and group work. Our programming and software engineering teaching is very hands on, allowing you to learn at your own pace, whatever your previous level of experience. You will also attend laboratory classes on games and robotics in year 1, giving you the chance to develop real applications with imagination and creativity from the outset.

We are proud of our award-winning teaching. Professor Dave Cohen won a College Excellence Teaching Prize for the re-design of our second-year software engineering courses, and he was shortlisted for a Times Higher Education Award for Most Innovative Teacher of the Year. The British Computer Society (BCS) has distinguished our software engineering teaching as an exemplar of 'best practice' in computer science education.

Assessment is through a mixture of examinations and coursework. Most course units have a two or three-hour written examination taken at the end of the year in which they are taught, but around half of your final award will come from assessed coursework, which could include project reports (including your individual project in year 3), essays, oral presentations and practical work submissions.

Study time

Proportions of study time will vary depending on modules taken, but typically:

Year 1

You will spend 36% of your study time in scheduled learning and teaching activities, and 64% in guided independent study.

Year 2

You will spend 25% of your study time in scheduled learning and teaching activities, and 75% in guided independent study.

Year 3

You will spend 22% of your study time in scheduled learning and teaching activities, and 78% in guided independent study.

Assessment

Proportions of assessment types will vary depending on modules taken, but typically:

Year 1

Written exams account for 61% of the total assessment for this year of study, and 39% will be assessed through coursework.

Year 2

Written exams account for 66% of the total assessment for this year of study, and 34% will be assessed through coursework.

Year 3

Written exams account for 57% of the total assessment for this year of study, and 43% will be assessed through coursework.

Typical offers

Typical offers
A-levels

AAB-ABB 
How we assess your application:  predicted grades lower than our typical offers are considered.  Read more about what we look for here.

  • Where an applicant is taking the EPQ alongside A-levels, the EPQ will be taken into consideration and result in lower A-level grades being required.
  • Socio-economic factors which may have impacted an applicant’s education will be taken into consideration and alternative offers may be made to these applicants.
Required/preferred subjects

Required subject: Computer Science or Mathematics or Physics.

At least five GCSEs at grade A*-C or 9-4 including English and Mathematics.  Please note that for students taking the BTEC Extended Diploma, GCSE Mathematics is also required at minimum grade B or 6.

Other UK Qualifications
International Baccalaureate

6,5,5 at Higher Level including either Higher Level Mathematics or Higher Level Computer Science or Higher Level Physics, with a minimum of 32 points overall.

BTEC Extended Diploma

Distinction, Distinction, Distinction in a relevant subject (with significant programming content) plus at least B or 6 in GCSE Mathematics.

BTEC National Extended Diploma

Distinction, Distinction plus A-level grade B in either Mathematics or Physics or Computer Science. 

BTEC National Extended Certificate

Distinction plus A-level grades BB including one of Mathematics or Physics or Computer Science. 

Welsh Baccalaureate Requirements are as for A-levels where one non-subject-specified A-level can be replaced by the same grade in the Welsh Baccalaureate - Advanced Skills Challenge Certificate
Scottish Advanced Highers AAB-ABB including either Mathematics, Physics or Computer Science.
Scottish Highers AAABB including either Mathematics, Physics or Computer Science.
Irish Leaving Certificate H2,H2,H3,H3,H3 including H3 in either Mathematics or H3 in Physics 
Access to Higher Education Diploma

Pass in a relevant subject with at least 24 level 3 credits at Distinction and the remaining level 3 credits at Merit. 

Please note that the Access to Higher Education Diploma will only be acceptable if the applicant  has had a considerable break from education.

Other UK qualifications

Please select your UK qualification from the drop-down list below



Please select a qualification

Please select a qualification



International and EU entry requirements

Please select your country from the drop-down list below

English language
requirements
IELTS 6.5 overall and a minimum of 5.5 in each subscore. For equivalencies, see here

For more information about entry requirements for your country please visit our International pages. For international students who do not meet the direct entry requirements, we offer an International Foundation Year, run by Study Group at the Royal Holloway International Study Centre. Upon successful completion, students can progress on to selected undergraduate degree programmes at Royal Holloway, University of London.

Distributed and networked systems exist in almost every sector, from private companies to educational institutions, charities, the arts, healthcare, government agencies and the military. This programme will give you a solid grounding in the knowledge, skills and practical experience required to pursue a successful career in computing or related fields, with a specialism in distributed and networked systems that will set your CV apart.

During your studies you will learn to analyse and solve problems with creativity and suggest cost-effective, efficient solutions. You will acquire the foresight to translate technological innovations into new programming solutions, the technical skills to design, implement, test and maintain software systems, and the ability to digest and explain complex technical information. You will also develop valuable transferrable skills such as: team working, advanced IT skills, critical thinking, data handling, communication, logic, time management and self-motivation.

We work closely with partners in industry who advise us on our curriculum, to make sure it responds to the latest market needs and trends. This means our graduates are up-to-speed with the latest developments. We run jobs fairs and a short-term work placement scheme, and your personal adviser and the campus Careers team will be on hand to offer advice on career opportunities. We also maintain strong links with our alumni, who often provide advice, contacts and networking opportunities. In recent years, our computer science graduates have launched careers in everything from network systems design and web development, to business management and finance. They work in organisations such as: Amazon, American Express, Apple, Bupa, Capita, CGI-Logica, Goldman Sachs, Microsoft, Symantec, among many others. Find out more about what some of our graduates are doing, here.

  • Gain the knowledge, skills and practical experience to pursue a lucrative and rewarding career in computer science, with a valuable specialism in distributed and networked computing.
  • 85% of our computer science graduates are in work or further study within six months of leaving (Unistats 2015).
  • Our strong ties with industry mean we understand the latest market trends and can introduce you to all the newest developments.
  • Add professional prestige to your qualification with membership of the BCS, The Chartered Institute for IT and the European Quality Assurance Network for Informatics Education (EQANIE), after you graduate. 

Home and EU students tuition fee per year*: £9,250

International students tuition fee per year**: £17,500

Other essential costs***: There are no single associated costs greater than £50 per item on this course

How do I pay for it?  Find out more about funding options, including loans, grants, scholarships and bursaries.

*Tuition fees for UK and EU nationals starting a degree in the academic year 2017/18 will be £9,250 for that year, and is shown for reference purposes only. The tuition fee for UK and EU undergraduates starting their degrees in 2018 is controlled by Government regulations, and details are not yet known. The UK Government has also announced that EU students starting an undergraduate degree in 2018/19 will pay the same level of fee as a UK student for the duration of their degree.

**Fees for international students may increase year-on-year in line with the rate of inflation. Royal Holloway's policy is that any increases in fees will not exceed 5% for continuing students. For further information see fees and funding and our  terms & conditions.

***These estimated costs relate to studying this particular degree programme at Royal Holloway. Costs, such as accommodation, food, books and other learning materials and printing etc., have not been included.

Back to course search results

 
 
 

Comment on this page

Did you find the information you were looking for? Is there a broken link or content that needs updating? Let us know so we can improve the page.

Note: If you need further information or have a question that cannot be satisfied by this page, please call our switchboard on +44 (0)1784 434455.

This window will close when you submit your comment.

Add Your Feedback
Close