Computer Science

Minor in
Computer Science

This minor is not available to students majoring in Computer Science and Software Engineering.

Programme Structure

An undergraduate may complete the requirements of one major and one minor and receive one US degree. A minor is an optional subject of specialisation within the undergraduate degree, which must be outside of the undergraduate major course of study and consist of at least 12 US /48 UK credits. A minor may not be completed independent of an undergraduate degree.

Minor in Computer Science

US Credits

UK Credits

  • COMP 4101 Introduction to Programming

    ​​This course provides the fundamentals of object-oriented programming.  This will include usage of variables, objects, classes; assignment and control through statements, loops, functions, procedures, interaction between objects and inheritance. This course may introduce any current specialists programming topics, eg. programming for mobile applications. ​ 

4 16
  • COMP 5101 AI for Games

    This course introduces students to fundamental AI techniques and their applications in game development. Students will learn to design and implement simple AI-driven behaviours to control non-player characters (NPCs) and create dynamic interactions in 2D game environments. Building upon earlier programming skills, this course offers practical insights into integrating AI logic into games, emphasizing interactivity and engaging gameplay.

4 16
  • COMP 5102 Cyber Security

    This course considers online security and protection. Students will learn how to identify threats and take steps to reduce vulnerabilities. The course will frame digital safety in the context of the Web, introducing concepts like malware, viruses, Trojans, network security, cryptography, identity theft and risk management, and will outline contemporary security strategies being developed. This class would be of particular interest to business, communications and international relations students. It is highly recommended that students have access to the use of a laptop and a smartphone for the duration of the course. 

4 16
  • COMP 5103 Ethical and Sustainable Computing

    This course explores ethics and sustainability in the context of computing technologies giving an overview of ethical theories, sustainable practices and their application to computer science. Students use the ACM and IEEE codes of conduct frameworks to explore in detail ethical issues in data collection, surveillance, bias and fairness in AI algorithms, as well as the BCS codes of ethics for computing professionals, whistleblowing and ethical responsibilities in the workplace, ethical decision-making, frameworks for IT professionals. Case studies are used across various contexts relating UN SDGs to computer architectures, networks, data storage systems and how they could be improved to be more ethical and sustainable.

4 16
  • COMP 5104 Human Computer Interaction

    This course introduces key concepts, methods, and tools used in Human-Computer Interaction (HCI). Students will explore the design, evaluation, and implementation of user interfaces, focusing on how to create systems that are efficient, usable, and enjoyable for a diverse range of users. By the end of the course, students will have practical experience in user research, UI interface design, prototyping, designing for responsive and adaptive interfaces and usability testing ready for implementation by a programmer.

4 16
  • COMP 6101 Advanced Secure Programming

    This module delves into the advanced principles of secure programming, focusing on identifying and addressing programming errors that lead to system vulnerabilities. Students will explore various secure coding techniques and best practices across several programming languages (e.g., C, C++, python). The course emphasizes balancing security with performance, usability, and other software quality attributes, enabling students to create robust, secure code. Key topics include string security, dynamic memory management, concurrency, and file I/O security, along with mitigation strategies for common vulnerabilities such as buffer overflows and race conditions.

4 16
  • COMP 6103 Web Application Development

    This course focuses on developing modern web applications using a popular web framework and a lightweight database engine. Students will learn the fundamental concepts of backend web development, including model-view-controller (MVC) design patterns, database modelling, URL routing, form handling, and user authentication. Additionally, students will gain hands-on experience with a lightweight database solution and the integration of frontend technologies with the back-end framework’s templating system. Emphasis will also be placed on deployment, security, and performance optimization. By the end of the course, students will be able to create, deploy, and maintain scalable web applications.

4 16
Minor Requirements 12 48

The University reserves the right to cancel or replace programmes and/or courses for which there is insufficient enrolment or concerns about academic standards, or for which the University cannot provide adequate teaching resources. Reasonable and appropriate effort is made to ensure that the content of courses corresponds with the descriptions in the University’s Programme and Course Listings.

For more detailed information on each of the course specifications, please visit our webpage here.

What is the Liberal Arts?

We understand that not everyone is familiar with the Liberal Arts education system. That is why we have produced a short guide explaining the structure at Richmond as well as the benefits.

Three illustrations: a group of three people, one person presenting to boards, and another hiking towards mountains on a curved path.