Curious about studying Computer Games Technology - BSc (Hons)at Abertay University? We've gathered all the key details—entry requirements, modules, fees, and more. Hear from real students by checking out reviews, or take the next step by booking an open day to explore it for yourself.
Bachelor of Science (with Honours) - BSc (Hons)
Abertay University
Full Time
Sep 2026
4 Year
You’ll create your own game prototypes, showcasing current techniques using the latest technologies. This means diving into game development through subjects like
graphics, network and AI programming on console and PC, and by building your own game engine.Work experience options, like intern opportunities with leading games companies, are designed to help make you even more employable. The course was
created in consultation with the games sector, a direct response to the acute shortage of games programmers.For example, we have one of the
UK's largest PlayStation 5 labs and the development kits are fully integrated within the curriculum.Worldwide shortage of games programmers
You'll graduate work-ready and able to thrive on the kind of challenges the games sector throws up, having covered topics like: * Games programming. * Graphics. * Artificial Intelligence (AI). * Games Hardware. * Engine Development. ### Essential industry experience To make sure you're learning at the cutting-edge,
the course is kept up-to-date as the games industry changes and technology advances.You’ll get the chance to apply for
internships/work placements with local and global games companies. Previous students have been interns at companies such as Ninja Kiwi, Rare, d3t, People Can Fly and Pocket Sized Hands. Alternatively,
you'll work with professional mentors, developing a prototype projectas part of a team from different degrees, all bringing different skills - just like being at work. Along the way you'll be taught by
industry experts who worked on award-winning gamesand be on campus right here in Dundee - home to over a third of the country's games companies.
Top European School for video games design\* Abertay is the
top European School for video games design for the 2nd year in a row(\*Princeton Review 2025 and 2026). This year is our best ever performance in the Princeton Review’s global rankings for video games education, where Abertay is the top International School and
number one in Europe. In addition, this degree has been
accredited by BCS, The Chartered Institute for IT and TIGA, the trade association representing the video games industry.Starting university is a big step, and every student arrives with different strengths and challenges. This module helps you reflect on your skills, identify areas for development and plan how to succeed academically and personally. Using the Abertay Discovery Tool, you'll review key areas such as study skills, careers and employability, digital confidence and wellbeing. You'll then create a personal action plan and choose further MySuccess modules to support your growth throughout your time at Abertay. Indicative Content - What Does a Successful Student Look Like? Reflect on your motivations, values and passions. Explore what makes a successful student, learn from different examples of success, and consider how stepping outside your comfort zone can help you grow. - Abertay Discovery Tool: Complete the Abertay Discovery Tool to identify your strengths and areas for development across five themes: studying at university, academic skills, digital skills, careers and employability, and wellbeing. - Fundamentals of University: Learn how university study works - from understanding modules and assessments to interpreting assignment briefs and using feedback to improve. - Expectations of University and You: Explore what's expected of you as a student, including the code of conduct, academic integrity, and independent learning. Understand blended learning and how the Abertay Attributes link to your development. - Successful Student Behaviours: Develop habits that support success: managing time, avoiding procrastination, preparing effectively for classes, taking good notes and building a growth mindset. Discover opportunities to get involved at Abertay and beyond.
This module introduces the essential principles of computer architecture, giving you a clear understanding of how modern computer systems function. You’ll explore how hardware and software interact, how data is represented and processed, and how operating systems manage resources. By building a strong mental model of system behaviour, you’ll develop the foundation needed to reason about computing at a low level and prepare for more advanced study in later modules. Indicative content - Computer Architecture: You’ll study the principal low-level components of a computer system, including logic gates, logic blocks, bus interconnections, memory, and storage devices. This will help you understand how the building blocks of hardware combine to support system performance. - Data Representation: You’ll learn how information is represented and manipulated within a computer, covering bits, bitwise operations, integers, floating and fixed-point numbers, as well as the encoding of text, colours, bitmaps, and audio. - Machine Instructions: You’ll be introduced to the von Neumann architecture and the structure of a modern CPU. Topics include arithmetic operations, control flow, the use of stacks, and the basics of compilation—helping you see how instructions are executed at machine level. - Operating Systems: You’ll explore the role of operating systems in managing hardware and software, including the distinction between userspace and kernelspace. You’ll cover drivers, scheduling, memory management, and filesystems, while also using systems such as Linux to understand system management and OS-level security concepts.
This module introduces you to the core programming constructs of the C++ language, using a problem-based approach to develop your coding skills. You’ll learn how to design and implement solutions that build a strong foundation for object-oriented programming. The focus is on practical application, helping you gain transferable skills that are essential not only for C++ but for understanding and working with all modern object-oriented languages. Indicative content - Object-Oriented Program Development: You’ll learn how to use an object-oriented development environment to create source code, compile, link, execute, and debug programs. This will give you practical experience of the full development cycle. - Introduction to Object Orientation: You’ll read, understand, and modify small object-oriented programs, building confidence in recognising and applying the principles of object-oriented programming. - Programming Constructs: You’ll make use of core programming constructs—such as declarations, data types, assignment, operators, selection, iteration, and functions—to solve a range of programming problems. - Aggregate Types: You’ll explore arrays and algorithms to extend your programming power, while also learning about storage, memory access, and pointers. You’ll be introduced to classes and structs as ways of organising and structuring data. - Program Development and Testing: You’ll develop problem-solving skills through pseudocode and stepwise refinement, and learn how to use functions as program units to improve organisation and efficiency. You’ll also gain experience in testing and refining your code to ensure reliability.
This module provides a practical introduction to modern game development, focusing on the use of industry'standard game engines. Through the creation of small game projects, you’ll explore the fundamental systems that underpin games, develop software design techniques, and reinforce your programming knowledge with hands'on, game'based examples. By the end of the module, you’ll have the skills and confidence to design and implement simple but complete game experiences. Indicative Content - Game Engines: You’ll learn what a game engine is, how it differs from building games entirely from scratch, and the common features that make engines powerful tools. You’ll also explore how to navigate and use a game engine interface effectively. - The Game Loop: You’ll study the core architecture that ties a game together, understanding how the game loop drives updates, rendering, and player interaction. - Game Objects and Behaviours: You’ll explore the building blocks of modern game development, learning how to create and control objects and define their behaviours within a game world. - Input and Events: You’ll discover how to make things happen in a game through user input (such as keyboard or mouse actions) and automated events that drive gameplay. - Collision and Response: You’ll learn how to detect when objects interact or collide, and how to implement the correct responses to create realistic and engaging gameplay. - Media in Games: You’ll bring your games to life by incorporating graphics, sounds, and other media resources, enhancing the player’s experience. - Game Architectures: You’ll examine how larger games are structured, and how software design patterns help teams of developers make effective decisions when working on complex projects. - Game States: You’ll study how to control program and game flow through distinct stages, such as menus, levels, and end states. - Debugging: You’ll apply problem'solving techniques to identify, test, and fix bugs, developing the skills to refine and improve your games.
Please note: ABE111: Numbers for Everyday Life will only be assigned as a core module if you do not have a minimum of a National 5 Maths qualification at grade C or an acceptable equivalent. This module helps you strengthen core numeracy skills, including percentages, decimals, fractions, appreciation, depreciation and rounding. Through problem-solving and reasoning, you’ll learn to analyse everyday situations and make logical, well-informed decisions. You’ll also gain a foundation in statistics—covering mean, median, mode and standard deviation—and develop financial skills such as budgeting, managing income and expenses, understanding interest rates, and making choices about saving and borrowing. By applying these skills to real-life contexts, you’ll build confidence in using numbers to solve problems, manage your finances, and support decision-making in both study and work. Indicative Content - Numerical Skills: Develop your confidence with key number skills, including percentages, decimals, fractions, appreciation, depreciation and rounding. - Problem Solving and Reasoning: Practice using maths to tackle everyday situations. Learn how to spot problems, rearrange equations, make logical connections and reach effective decisions. - Fundamentals of Statistics: Get to grips with the basics of statistics. Learn how to calculate and use mean, median, mode and standard deviation to interpret and compare data. - Financial Skills: Build practical financial know-how. Explore budgeting, managing income and expenses, understanding interest rates, and making smart decisions about saving and borrowing. Apply these skills directly to real-life situations.
This module introduces you to the core principles of games programming, focusing on how games are structured, developed, and brought to life through code. You’ll explore the architecture of games systems, the tools and processes used in development, and the techniques behind graphics, audio, input, and gameplay logic. By combining theory with hands'on practice, you’ll build the skills needed to design and implement simple but complete games applications. Indicative Content - Structure of a Games Program: You’ll learn about the overall structure and architecture of a games program, understanding how its different components fit together. - Development Process: You’ll explore the processes involved in developing games applications, from initial design through to implementation and testing. - Development Tools: You’ll gain experience with the tools commonly used in games development, learning how they support the creation of games applications. - Computer Games System Architecture: You’ll study the principal components of a games system, including bus interconnections, graphics cards, and audio hardware, and understand how they contribute to performance. - Graphic Sprites: You’ll learn how to use 2D sprites and implement sprite animation to create visual elements in a game. - Input Systems: You’ll explore how to capture and use input from devices such as the keyboard and mouse to control gameplay. - Audio: You’ll discover how to integrate sound samples and background music into a game to enhance the player experience. - Game Logic: You’ll implement the fundamentals of game logic, learning how to create rules and interactions that drive gameplay.
This module introduces you to the core concepts of applied mathematics that underpin computer games technology. You’ll build confidence with the mathematical tools and techniques most relevant to game development, learning how they connect directly to the design, programming, and problem'solving challenges you’ll face in the industry. Indicative Content - Calculus: Study rates of change and derivatives of standard functions, applying rules for sums, products, quotients and composite functions. Explore higher derivatives and their applications, as well as indefinite and definite integrals, integration methods, and numerical approximations, with applications to areas, mean values and more. - Geometry: Learn plane coordinate geometry of lines, circles and conic sections, and work with vectors in two and three dimensions. Apply scalar and vector products to projection and 3D geometry. - Matrices and Transformations: Develop skills in basic matrix operations, determinants and inverses, and solve linear equations using matrix inverses. Explore matrix transformations of the plane including translations, scalings, rotations and reflections, with homogeneous coordinates. Study complex numbers and their application to 2D rotations. - Kinematics in a straight line: Apply Newton’s laws of motion to problems involving momentum and impulse, collisions of bodies (elastic and inelastic), kinetic and potential energy, and elastic strings. Examine work and power, coplanar forces, and the effects of friction.
Build on your knowledge of programming taught in earlier modules (e.g. arrays, structures, simple collections). Gain an introduction to the standard data structures and algorithms that form the core of algorithmic thought in computer science and to the idea of reasoning about the behaviour and performance of a computer program. Indicative content - Reasoning about performance: The idea of an algorithm, time and space complexity, abstract data types. - Basic data structures: Linked lists, stacks, queues, hash tables. - Sorting and searching: Exhaustive and binary search, common sorting algorithms. - Trees: Simple trees, tree search algorithms, tree representations (XML, JSON). - Graphs: Simple and directed graphs, graph algorithms.
This module introduces the core principles of 3D graphics programming, focusing on the theory and practice of rendering in real time. You will learn the fundamental techniques behind modern 3D graphics, including transformations, lighting, shading and interaction, and apply them in the development of an application that demonstrates real'time 3D graphics. By the end of the module, you will have both a conceptual understanding and practical experience of how 3D graphics are implemented in interactive environments. Indicative Content - The Graphics Pipeline: Examine the functionality and performance of hardware and software within the graphics pipeline. - Graphical Primitives: Understand the role of vertices and polygons as the building blocks of 3D graphics. - Coordinate Systems: Apply transformations, projections and hierarchical transforms to position and manipulate objects in 3D space. - Geometry Ordering: Explore depth sorting and blending techniques to correctly render overlapping geometry. - Lighting: Study different types of lights and the calculations required to simulate realistic illumination. - Texturing: Learn how to apply 2D image data to 3D geometry to enhance surface detail and realism. - Model Processing: Gain experience in loading and rendering geometry from external sources. - Procedural Generation: Investigate techniques for generating and storing 3D geometry data algorithmically.
This module builds on the foundations established in Applied Mathematics 1, extending your knowledge of applied mathematics in areas directly relevant to computer games technology. You will explore advanced mathematical concepts and techniques that underpin graphics, physics, and computational systems in games, with an emphasis on practical application. By linking theory to real'world problems in game development, the module equips you with the analytical and problem'solving skills essential for designing and implementing complex game technologies. Indicative Content - Calculus: Apply first' and second'order partial differentiation to problems relevant to computer games and simulations. - Matrix and Quaternion Transformations: Explore 3D matrix transformations including translation, scaling, rotation and reflection, with applications to parallel and perspective projections, and study quaternions for efficient representation of rotations about an axis. - Vector Curves and Surfaces: Analyse the vector geometry of curves and surfaces in space, including tangent planes and surface normals. - Ray Tracing: Investigate the intersection of rays with 3D surfaces and trace reflected and refracted rays of light in 3D using vector methods. - Dynamics: Model variable velocity and acceleration, object motion under variable forces, 2D horizontal, vertical and circular motion, and oblique impacts. - Numerical Methods: Develop numerical techniques including simple iteration, Newton'Raphson methods, and numerical solutions of ordinary differential equations using Euler, predictor/corrector, Verlet and Runge'Kutta methods.
Please note: If you are a Direct Entrant (new student) to this year of study and have not previously taken module ABE101, then you MUST take ABE201 as your Term 2 microcredential module. If you have previously taken ABE101, then you are NOT permitted to take ABE201 in Term 2. Starting university brings new opportunities and challenges, and every student’s journey is different. This microcredential helps you settle into life at Abertay and build the habits that lead to success. You’ll hear from current students sharing their own tips, and reflect on the areas you most want to develop. You’ll get to know Abertay’s systems, explore what makes a successful student and practise core skills such as time management, referencing, academic writing style and using support services. By the end, you’ll have the tools and strategies you need to thrive at university. Indicative content - Navigating Abertay Systems: Get to know the key systems you’ll use at Abertay—such as MyLearningSpace, MS Teams, OASIS and MyAbertay—and learn how to use them effectively. - Expectations of University and You: Explore what’s expected of you as a student and what you can expect from the university. Topics include the code of conduct, independent and blended learning, how courses are structured, health and safety, and the Abertay attributes. - Abertay Discovery Tool: Complete the Discovery Tool to identify your strengths and areas for development across five themes: studying at university, academic skills, digital skills, careers and employability, and wellbeing. - Fundamentals of University: Learn how modules work, how assessments are set, and how to use assignment briefs and feedback to improve your work. - Understanding, Searching and Evaluating Information: Develop strategies for finding and assessing reliable information, building your confidence in research and study skills. - Successful Student Behaviours: Practise the habits that help you succeed: managing time, avoiding procrastination, effective note-taking, preparing for classes, developing a growth mindset, and making use of student support services. - Referencing: Understand academic integrity and why referencing matters. Learn how to avoid plagiarism, create in-text citations and reference lists, and use digital tools to manage your sources. - Sounding Academic: Discover what lecturers mean by “academic style” and how to use the right language in your writing. Learn the rules of academic writing, how to paraphrase effectively, and how expectations differ between school/college and university. You’ll also explore how assessments, marking and feedback work.
Build on the earlier module, Data Structures and Algorithms 1. Gain an introduction to parallel programming on shared-memory and GPU architecture, and the design techniques underpinning parallel applications. Use a range of case studies drawn from typical real-world applications. Indicative content - Parallel Programming: Explore the motivations for parallelisation, the concepts of parallelism and concurrency, Amdahl’s Law, high'level approaches to parallelisation and principles of parallel design. - Low'Level Programming with Threads: Learn how to start and join threads, share data safely, apply mutual exclusion, use synchronisation objects, and understand lock'free techniques. - High'Level Parallel Programming: Study task'based and message'passing parallelism, address data'parallel problems, and exploit locality in programming. - Instruction'Level Parallelism: Examine SIMD instructions and automatic vectorisation for performance optimisation. - GPU Programming: Understand GPU architectures, identify algorithms suited to GPUs, and apply GPU profiling techniques. - Parallel Patterns: Apply design patterns for parallel and concurrent programming, with awareness of sorting, numerical, image processing, searching and optimisation algorithms that benefit from parallelisation
This module builds on prior study in graphics programming, data structures and algorithms, and computer architecture to introduce the essential components required for developing a 3D physics'based game application. You will explore how hardware considerations influence design and implementation, and learn how to integrate graphics, physics and computational techniques to create interactive real'time applications. By the end of the module, you will have both the theoretical understanding and practical experience needed to design and implement a physics'driven 3D game environment. Indicative Content - Games Hardware (Introduction to Consoles): Explore device memory and CPU/GPU architecture characteristics, including cache architectures, locality, alignment, virtual memory, memory allocation techniques, pipelines, superscalar architectures, branch prediction, out'of'order execution, hyperthreading, multicore systems and NUMA. - User Interfaces: Learn methods to exploit touchscreen and controller pad inputs for effective user interaction. - Audio Engines: Study 3D positional audio, considering the position, orientation and velocity of both listener and emitter. - Physics Engines: Apply collision detection and rigid body dynamics using an appropriate physics library. - Character Animation: Examine different types and techniques of character animation for realistic movement. - Polish and Optimisation: Bring all components together, identifying opportunities for parallelisation while recognising console architecture constraints. - Multithreading: Cross'reference memory and CPU architectures to implement effective multithreading strategies.
In this module, you will develop a critical understanding of the computer graphics programmable pipeline and explore a range of graphics techniques. You will learn how to design, implement and evaluate methods for manipulating 3D graphics in real time, gaining both theoretical knowledge and practical skills that are essential for modern graphics programming and interactive applications. Indicative Content - Graphics Programming: Gain an introduction to the graphics programmable pipeline and understand its role in modern computer graphics. - Shaders: Learn how to create and use shaders within the programmable pipeline to control rendering and visual effects. - Vertex Processing: Explore standard vertex processing techniques alongside advanced methods such as height mapping and algorithmically controlled manipulation. - Pixel Processing: Develop post'processing techniques, including effects such as blur and depth of field, and learn how to use alternative render targets. - Lighting and Shadows: Study how lighting and shadows are processed within the programmable pipeline to achieve realistic visual effects. - Tessellation: Examine the dedicated pipeline stage for geometry subdivision and its role in creating detailed and efficient 3D models
In this module, you will be introduced to a range of Artificial Intelligence techniques that are currently used, or are emerging, to enhance the development of intelligent systems. You will explore how these techniques can be applied across different domains, gaining both theoretical understanding and practical insight into how AI can be harnessed to solve real'world problems and shape future applications. Indicative Content - 'Traditional’ AI: Explore foundational approaches such as rule'based systems, finite state machines and behaviour trees, and understand how they are applied in intelligent system design. - Academic AI Techniques: Study advanced methods including fuzzy logic and fuzzy state machines, genetic algorithms, reinforcement learning, probabilistic techniques, artificial neural networks and clustering algorithms, and evaluate their strengths and limitations. - Applications of AI: Learn how different AI techniques can be combined to create artificial life (A'life) and intelligent systems across a range of domains. - Machine Learning as a Subset of AI: Examine how machines can learn from their environment, adapt to data and improve performance over time. - Evaluating AI/ML Applications: Investigate the range of metrics available to assess AI and machine learning performance, and understand how evaluation informs system improvement. - AI/ML Pitfalls: Develop awareness of the risks and challenges associated with inappropriate application of AI and machine learning, including ethical, technical and practical considerations.
In this module, you will build on your previous learning in Computer Games Technology to explore the techniques, patterns and practical realities of creating modern games and software from the ground up. You will develop a deeper understanding of how individual aspects of game development can be combined into versatile game engines and frameworks. By applying these concepts, you will strengthen your ability to design and implement the foundations on which robust and adaptable game development is built. Indicative Content - Exploration of Game Engines: Trace the history of game engines and examine the features of modern engines, identifying how they have evolved to support today’s development needs. - Components of an Engine: Review the core components of popular game engines—such as rendering, physics, input, and asset management—and explore how these practices can be applied in custom projects. - Tools and Libraries: Discuss common tools and libraries used in game development, and evaluate how they can reduce workload by providing ready'made solutions instead of building everything from scratch. - Game Programming Patterns: Identify recurring patterns in external codebases and learn how to apply these approaches to efficiently design and build engine architecture. - Move Semantics: Explore modern C++ standards for efficient memory management, focusing on move semantics and their role in high'performance game development. - Resource Management: Understand best practices for managing the complex graph of resources within a game engine to ensure clarity, maintainability and performance. - Memory Management: Analyse the unique memory allocation needs of video games and learn safe, efficient techniques for managing memory within a custom engine. - Object Management: Develop the ability to define, manage and utilise custom objects as the foundation for building games within a bespoke engine. - Timing and Events: Learn techniques for ensuring reliable and consistent timing of events, and explore advanced methods for communication and event handling within game code. - File Management: Examine strategies for planning and implementing persistent data storage, both in'game and within the engine, to handle complex sets of data effectively.
Through a series of practical sessions and recorded Q&A with industry professionals, you'll be exposed to the expectations of professional games programmers. Practical sessions will model elements of job interviews and developing an appealing portfolio for entry-level positions in industry. Indicative Content - Technical assessment: Forms of assessment used in job interviews for game development. - Individual needs assessment: Probing personal skillset. Identifying opportunities for further development. - CV and portfolio development: Development of personal outreach documentation. - Industry expectations: Analysis of requirements for programming careers. - Career paths: Consideration of specialisms in games programming and alternative career paths, such as software engineering.
This module develops a critical understanding of the principles of computer networks as they are applied to the development of various types of online multiplayer computer games. You'll develop and evaluate the techniques used to implement networked computer games with a particular emphasis on real-time fast action games. Indicative Content - The Internet and Multiplayer Games: Computer networks, sockets and TCP/IP protocol stack. How all of this is used in and affects the performance of multiplayer computer games. - Network Protocols and Architectures: Main network protocols (TCP and UDP) and their relevance to the development of various types of networked computer games. Client-Server and Peer-to-Peer network architectures. - Data Storage and Message Passing: Data storage, serialisation and passing data between network endpoints. Network bandwidth, cross-platform data compatibility and communication reliability. - Network Synchronisation: All network data in games is outdated - how do we hide this from players? Implementing robust time-based communication between game instances. - Latency Mitigation: The effects of, and potential solutions to dealing with, latency in multiplayer computer games. Prediction and smoothing techniques for hiding latency and maintaining the user experience in multiplayer games. - Testing and Debugging: Methods for testing the functionality and performance of networked computer games in order to evaluate robustness against network variations. - Network Infrastructure: Overview of the world's network infrastructure and different types of networks from home LANs to 5G. Complex games networking architectures, matchmaking and networking for MMOs. - Security: Cheating and hacking in multiplayer games - how it works and how to protect games against it. Overview of common vulnerabilities and secure software engineering techniques. - Networking in Game Engines: Overview of advanced networking techniques used in modern game engines.
This module gives you the chance to design, develop and deliver a substantial individual project related to your programme. You’ll normally propose your own idea, carrying out initial research and proof-of-concept work in Term 1 to produce a detailed project proposal. In Term 2, you’ll focus on the main development phase, applying your knowledge and skills to complete the project to a professional standard. Indicative Content - Investigation, Research and Selection: Initial investigation of project topic, Background research of project topic and Selection of project topic - Evaluating: Methods of evaluating a project. - Legal, Social, Professional and Ethical Issues: Consideration of Legal, social, ethical and professional issues. - Proposal: Production of a project proposal. - Project Feasibility and Proof of Concept: Demonstrate Feasibility of Project - Self-directed problem solving, Originality and Creativity - Self Motivation, Initiative and Insight - Software Design Skills - Recording, Reporting and Communication Skills - Employability and professional development
This module gives you the opportunity to present a major individual project as a formal dissertation. You’ll normally propose your own topic, drawn from a current industry or research problem within your field. You’ll be expected to present your work in a clear, structured and academically rigorous way, demonstrating critical insight and evaluation of both your project and the artefact produced. The final dissertation will be written in an academic style appropriate to your discipline. Indicative Content - Introduction: Introduce the topic of the project and the problem area with and appropriate research question. - Investigate: Investigate previous work in the chosen project area, and show how the work of the project relates to it. - Justify: Demonstrate a sound justification for the approach and methodology adopted. - Document: Document the output of the project with some originality. - Evaluate: Critically evaluate the output, using third party evaluation where appropriate, and recognise the strengths and limitations of the work. - Communicate: Demonstrate an ability for independent learning and linkage to future work and career aspirations.
In this module, you will be introduced to advanced concepts of applied mathematics that are directly relevant to Computer Games Technology. You will explore mathematical techniques that underpin modern game development, focusing on their application to graphics, physics and simulation. By engaging with both theory and practice, you will develop the ability to apply advanced mathematical methods to solve complex problems in interactive media and games. Indicative Content - Geometric Techniques: Approximation of curves and surfaces in space using Bézier curves, the de Casteljau algorithm, splines, Catmull'Rom splines, B'splines and surface patches. - Rigid Body Systems: Eigenvalues and eigenvectors, diagonalisation, area and volume integrals, centres of mass, inertia tensor, Euler’s equation of rotation and the general motion of a rigid body. - Numerical Analysis: Numerical integration and numerical solutions of differential equations, including Euler’s Method and second' and fourth'order Runge'Kutta methods.