Course Brief

The BSc Computer Science Programme mixes both the theory and practice of computing to prepare students for work in a wide range of IT related roles, including software engineering, data science, and cyber-security.  The uniqueness of Computer Science is the focus on collaborative and ethical practice, embedding ethical ideas across the curriculum, and having students work in collaboration as the norm.  This focus aims to prepare students for working in the modern IT workplace, going beyond the familiar core of skills-based teaching in computing.

Computer Science is designed around collaborative practice, where students work together to deliver solutions.  The Programme uses blended and project-based learning to facilitate this approach.    Students will learn how to recognize system requirements, design a solution, implement that solution, test and then deliver said solution.  Furthermore, the degree is designed using professional body requirements and standards, taken from the British Computer Society Accreditation Criteria, and the Association for Computer Machinery’s Computer Science Curriculum.

For students who want the skills, practices, and professional responsibility to work in the modern evolving technology world, Computer Science at the University of Roehampton is an undergraduate Programme that aims for work readiness for all its students, regardless of their background. Unlike other universities’ established curricula, Computer Science at the University of Roehampton is agile, collaborative, and community driven to continuously improve what it delivers to students.  This supports the University of Roehampton’s strategy to:

  • Develop and promote an engaging portfolio of programmers, which adapt to meet changing student and employer demands.
  • Create an environment in which staff can make a positive and lasting contribution to the lives of students and the wider world.
  • Create a community that gives all students the opportunity to develop their interests and skills beyond their course of study, encouraging them to grow as individuals.

Course Knowledge, Skills & Ability Summary

At the end of the course, you will be able to acquire the following:

Knowledge

NA

Skills

NA

Ability

NA

Blended Learning Journey

(1200 Hours)

Placeholder Image

Flipped Class

108 Hours

Placeholder Image

Mentoring Support (Sync) (Assignment)

96 Hours

Placeholder Image

Mentoring Support (Sync) (Project)

8 Hours

Placeholder Image

Additional Practice

988 Hours

Module Summary

Data Visualization

Module Brief

Data Visualization explores the art and science of visual descriptive statistics.  The module starts by introducing the principles of data visualization and the process of visualization design.  Visualization design then plays an important role throughout the module, as the students are introduced to the perceptual and cognitive foundations of visualization, and the core visualization techniques for different types of data.  The module concludes by examining how visualizations can be evaluated via user studies and using the results the students gather from these studies in a further data reporting scenario.

Data Visualization also incorporates web development as the interactive visualizations developed will be presented via a web platform.  Students will develop their visualizations using a suitable web framework and deploy their visualizations appropriately.  The web development aspect will require students to apply both front-end and back-end development processes to present the data stored.

Data Visualization provides the capstone to the core Data theme in Computer Science.  It builds on the statistical techniques and data presentation ideas provided in Data Science.  The module allows students to present the results processes of the techniques of Data Science, considering different delivery scenarios such as business reporting, data journalism, and scientific visualization.  The aim is to ensure students understand how to present their results in both a correct and engaging manner.

Other Information
  • SSG Module Reference No: NA
  • Module Validity Date: 2025-01-31

Machine Learning

Module Brief

Machine Learning explores how machines can learn from existing data to provide stochastic systems that perform tasks based on patterns and inference.  The module first introduces what machine learning is, and then examines different approaches to machine learning, including decision trees and neural networks.  The main body of the module focuses on building learning systems from existing data sets, as well as evaluating the performance of the systems developed.  Finally, the module examines the use of machine learning in data mining, the ethical concerns related to machine learning, and how biased data sets can lead to biased systems.

Machine Learning focuses on tools, algorithms, and libraries that can be applied to data sets to build systems that can perform tasks in an intelligent manner.  Students will work with a variety of tools based on the type of technique being explored that week.  Students will work in programming languages best suited for the tool being used.

Machine Learning provides the capstone to the Algorithms and Artificial Intelligence theme within Computer Science.  The aim is for students to have fluency in the modern tools used in a variety of industries to perform automation tasks.  Students will also understand the ethical concerns of using such systems.  The module builds on the basic problem-space searching techniques in Artificial Intelligence by exploring learning techniques that enable a more general intelligence approach to be applied to narrow intelligence problems.

Other Information
  • SSG Module Reference No: NA
  • Module Validity Date: 2025-01-31

Data Engineering

Module Brief

Data Engineering examines how software engineering practices are applied to the development of modern data pipeline solutions that drive data driven decisions and businesses.  The module begins by exploring parallelism concepts which allow students to understand the benefits of building distributed data platforms.  Data Engineering then moves into concepts of dealing with large sources of data, including distributed databases, data warehousing, and data lakes.  With a thorough understanding of how distribution and large-scale data operates, the module moves to examining data streaming and transaction processing.  Finally, the module ends by considering data pipeline solutions in the cloud and how these enable the delivery of data-to-data scientists.

Data Engineering blends the tools and methods of data management and processing with software engineering principles. The module will continue the experience provided in Software Engineering, so students can further experience working in agile development teams.  The tools used in the module will enable students to build more sophisticated solutions than those in Software Engineering, focusing on technology that allows data to be managed and processed at a scale.

Data Engineering continues the team-working and system development via a technology-stack approach of Software Engineering.  Students are expected to feel comfortable applying the team-working techniques provided in Software Engineering.  Data Engineering provides a capstone to the Software Engineering theme and in many regards the software development work students undertake in Computer Science.  On completion of this module, students will have delivered at least two significant software solutions as members of a team.

Other Information
  • SSG Module Reference No: NA
  • Module Validity Date: 2025-01-31

Cyber Security

Module Brief

Cyber-Security explores the risks and mitigations inherent to computer use.  The module incorporates ideas from ethical practice, risk management, legal considerations, and technology-based solutions to address computer security issues.  Cyber-Security begins by examining the concept of privacy from a philosophical, legal, and ethical standpoint, before exploring some of the technology used to protect an individual’s privacy.  The module then continues by introducing foundational principles of computer security, including policies, legal frameworks, CIA (Confidentiality, Integrity, Availability), threats, and attacks.  With these principles in place, Cyber-Security explores secure design and the use of cryptography in computer systems.  Finally, human-factors, including interface design and governance are explored.

Cyber-Security brings together concepts covered in a range of modules throughout Computer Science, including Computing and Society, Software Development 2, Databases, Operating Systems, and Software Engineering.  Cyber-Security explores how the issues introduced in other modules fit within current computer security definitions.  The module also explores the technology to support computer security throughout.

The aim of Cyber-Security is to develop students’ fluency in computer security.  The module capstones the Systems and Cyber-Security theme of Computer Science, insofar that an understanding of the system is required to fully appreciate issues of computer security.  The module will require students to undertake evaluation of systems to understand vulnerabilities and mitigations.  This will best place students to understand the requirements of security as they enter the workplace.

Other Information
  • SSG Module Reference No: NA
  • Module Validity Date: 2025-01-31