MSci Computer Science

Robert Gordon University, Aberdeen

Course Overview

The MSci Computer Science program at Robert Gordon University is a comprehensive 5-year integrated Master's degree that combines theoretical knowledge with practical skills in software development, systems design, and computer architecture. The program is designed to produce industry-ready graduates with advanced technical expertise and professional capabilities.

This integrated program includes a full year of industrial placement in the fourth year, providing invaluable real-world experience and professional connections before completing the final year of Master's level study.

Key features of the program include:

  • Comprehensive coverage of programming languages and paradigms
  • Software engineering methodologies and best practices
  • Database design and management
  • Computer networks and security
  • Full year industrial placement in Year 4
  • Master's level specialized modules in Year 5

Year 1: Foundation

The first year establishes a solid foundation in computing fundamentals, introducing key concepts and developing essential programming skills. I completed the following courses:

Introduction to Programming

Fundamentals of programming logic, algorithms, and problem-solving approaches (JavaScript).

Grade: Pass

Problem Solving

Techniques for analyzing and solving computational problems through structured approaches (R)

Grade: Pass

Computing Devices

Hands-on exploration of microcontrollers, hardware interfaces, and Arduino programming fundamentals

Grade: Pass

Creative Design

Principles of user-centered design and creative problem-solving for digital products

Grade: Pass

Frontend Web

Development of responsive web interfaces using HTML, CSS, and JavaScript

Grade: Pass

Mathematics for Computing

Essential mathematical concepts for computer science including discrete mathematics and logic (Python)

Grade: Pass

Software Development

Object-oriented programming principles and application development (Java)

Grade: Pass

Year 2: Development

The second year builds on the foundation, introducing more advanced programming techniques and specialized areas of computing. I completed the following courses:

Tip: Click a module card to expand and see details and key outcomes.

Operating Systems

Principles of operating system design, virtualization, process management, memory allocation, OS scripting, and Docker.

Grade: A

Covered principles of modern operating systems: process and memory management, file systems, and resource scheduling in both standalone and cloud environments. Worked with virtualization platforms, containers such as Docker, and cloud infrastructures to understand large-scale deployment, monitoring, and maintenance. Practiced OS-level scripting (Bash on UBUNTU) , automation (cron), backup strategies, and security/access control to manage real servers and virtual instances safely.

Key outcomes

Bash scripting Cron jobs Virtualization Cloud management Docker Process management Memory management Backup & restore OS security & access control

Advanced Software Development

Advanced object-oriented programming concepts and implementation of design patterns in Java

Grade: A

Deepened OOP proficiency by applying abstraction, inheritance, polymorphism, interfaces, and generics in Java. Followed the full SDLC from requirements through maintenance, using OO design principles and patterns with a focus on clean architecture, scalability, and testability.

Key outcomes

OOP (Java) SDLC Design patterns UML Unit testing Code quality Refactoring Debugging

Full Stack Web Development

End-to-end web application development including frontend, backend, and database integration(Node.js, RESTfull API, EJS, MongoDb)

Grade: B

Built cohesive full-stack web applications using Node.js for the server, RESTful APIs, EJS for server-side templating, and MongoDB for persistence. Structured apps with proper routing and authentication while managing data flow across client, server, and database.

Key outcomes

Node.js RESTful API design EJS templating MongoDB HTTP routing Middleware Basic auth & security

Real World Project

Collaborative team project solving real-world problems using software development methodologies

Grade: A

Team-delivered a software solution for a real client partner, applying engineering methodologies, communication, and project management. Delivered a doctor medical portal prototype and iterated based on feedback.

Key outcomes

Requirements gathering Agile delivery Team collaboration Version control Prototyping Validation Communication Documentation Presentations

Databases

Advanced database concepts, normalization, query optimization, security, and database management systems (Microsoft SQL)

Grade: A

Explored advanced relational concepts: normalization, indexing, query optimization, and security. Focused on Microsoft SQL Server for both design and administration, including setup and configuration.

Key outcomes

Schema design SQL querying Normalization Query optimization Indexing SQL Server admin Database security Backup & recovery

Research Methods

Techniques for conducting research in Computer Science, including literature review and methodology

Grade: B

Introduced to research techniques used in Computer Science. Practiced literature reviews, formulating research questions, and choosing appropriate methodologies for empirical or theoretical studies.

Key outcomes

Literature review Research questions Qualitative methods Quantitative methods Critical evaluation Academic writing Referencing Research ethics

Data Structures and Algorithms

Implementation and analysis of fundamental data structures and algorithms for efficient problem-solving (Java)

Grade: A

Implemented and analyzed fundamental data structures and algorithms in Java to solve problems efficiently, using Big O to compare time and space performance.

Key outcomes

Data structures (Java) Sorting Searching Big O analysis Algorithm design Optimisation Problem decomposition Performance-aware coding

Year 3: Bachelors Year

The third year offers more specialized modules and focuses on advanced computing concepts. I will be learning the following courses:

Tip: Click a module card to expand and see details and key outcomes.

Concurrent Programming

Advanced programming techniques for parallel execution and synchronization in multithreaded applications

Studied advanced programming techniques for building multithreaded and parallel applications that utilise modern hardware efficiently. Covered synchronisation, race conditions, deadlocks, and thread-safe design to build reliable concurrent systems.

Key outcomes

Multithreading Concurrency models Locks & semaphores Race-condition avoidance Deadlock handling Thread-safe design Performance profiling

Interdisciplinary Team Project

Collaborative projects work with students from different disciplines to solve complex problems

Worked with students from other disciplines to solve complex, real-world problems using an agile, project‑based approach. Contributed to a client‑facing prototype, integrating technical computing with design and business inputs.

Key outcomes

Cross‑discipline teamwork Agile project management Rapid prototyping Stakeholder communication Leadership & coordination

Machine Learning

Algorithms and statistical models for computer systems to perform tasks without explicit instructions

Introduction to core machine learning concepts, algorithms, and workflows. Trained and evaluated different models on datasets, including an experiment where an SVM model achieved 100% accuracy on a given task.

Key outcomes

Supervised learning Data preparation Train/validation/test splits Model evaluation SVM Overfitting awareness Metric-based comparison

Information Risk and Security Management

Strategies for identifying, assessing, and mitigating information security risks in organizations

Focused on identifying, assessing, and managing information security risks while aligning technical controls with business needs. Studied risk assessment frameworks, security policies, and mitigation strategies (aligned with industry practices like NIST).

Key outcomes

Risk assessment Threat & vulnerability analysis Security controls Mitigation planning Governance & policies Compliance & standards NIST-style frameworks

Pirates Studies

Creating a product that has a product-market fit within the student's respective area of expertise

Product‑focused module aimed at validating problem–solution fit and iterating towards product–market fit in a chosen domain. Emphasised experiments, user feedback, and rapid iteration.

Key outcomes

Customer discovery Market validation MVP design Lean experiments Pitching & storytelling

Internet of Things

Advanced concepts in IoT architecture, protocols, and applications for connected devices

Covered IoT system architecture, communication protocols, and device integration. Explored sensor data acquisition, gateway design, and secure cloud ingestion for connected solutions.

Key outcomes

IoT protocols (MQTT/HTTP) Sensor integration Microcontroller basics Edge ↔ cloud data flow Data pipelines IoT security basics

Artificial Intelligence for Problem Solving

Application of AI techniques to solve complex computational and real-world problems

Applied AI techniques such as heuristic search, planning, and knowledge‑based reasoning to tackle computational and real‑world problems. Emphasis on modelling problems and choosing suitable strategies.

Key outcomes

Heuristic search State‑space modelling Constraint satisfaction Rule‑based reasoning Problem decomposition

Software Security and Malware Analysis

Techniques for identifying vulnerabilities, analyzing malicious software, and implementing secure coding practices

Explored secure coding principles and approaches for assessing software security. Introduced static/dynamic analysis and fundamentals of malware analysis and basic reverse engineering.

Key outcomes

Secure coding Vulnerability assessment Static analysis Dynamic analysis Reverse engineering basics Threat modelling

Year 4: Industrial Placement

The fourth year is dedicated entirely to working in industry through a professional placement, providing invaluable real-world experience in the computing industry. During this year, I will be employed by a company, working on real projects and contributing to actual business outcomes. This is a crucial component of the MSci program that sets it apart from traditional computing degrees.

Work

Full-Time Employment

Working as a full-time employee in a tech company, contributing to real projects and business objectives

Industry

Professional Experience

Working alongside industry professionals, applying theoretical knowledge to solve real-world challenges

Skills

Technical Skill Development

Gaining hands-on experience with industry-standard tools, technologies, and methodologies

Network

Professional Networking

Building connections with industry professionals and potential future employers

Year 5: Master's Level

The final year consists of advanced Master's level modules and a substantial research project, building on the practical experience gained during the industrial placement.

Computer Science Research

Advanced research methodologies and academic writing for Computer Science

Knowledge Modeling and Reasoning

Techniques for representing knowledge and implementing reasoning systems in artificial intelligence

Languages and Compilers

Design and implementation of programming languages, parsing techniques, and compiler construction

Advanced Artificial Intelligence

Cutting-edge techniques in artificial intelligence, machine learning, and data analytics

MSci Capstone Project

Substantial individual research project demonstrating mastery of advanced computing concepts

Current Progress

Year 3 - Started

Currently in my Bachelors year of the MSci Computer Science program, focusing on specialized modules including Concurrent Programming, Interdisciplinary Team Project, Machine Learning, Information Risk and Security Management, Pirates Studies, Internet of Things, Artificial Intelligence for Problem Solving, and Software Security and Malware Analysis. Actively seeking a placement opportunity for my 4th year to gain valuable industry experience working with a company in the tech sector.