Hello all. I just wrapped up my first year of University, studying Games Development Programming in the UK. With the 2nd year starting in September, I wanted to get my optional module sorted out so I can get some early studying done and some academic books started. We have a total of 3 mandatory modules as well as 5 optional ones, but I'm struggling on deciding which one I should pick.
***For reference, here are the mandatory module's descriptions of what I will learn:***
**Computing Systems**
This module takes you on a journey, from underlying computer architecture through to operating systems and networking and finally on to cloud computing. We designed this module to enhance your understanding of how modern computer systems are designed and used.
You will explore the essential features of each of these technologies and acquire both theoretical and practical knowledge. In addition, you will also develop knowledge of containerisation, parallel programming and algorithm complexity to make use of new parallel and cloud computing architectures to design application scenarios for today's modern computing environments.
**3D Graphics Programming and Artificial Intelligence**
This module is designed to allow you to master two pivotal techniques, artificial intelligence and 3D graphics rendering. This will serve as the cornerstone of your expertise in game development, enabling you to push boundaries by creating truly innovative and optimised game experiences. Instead of relying on high-level game engines, we will take you to lower-level programming, granting you a profound understanding of algorithms and techniques that underpin game development, regardless of which engine you happen to use.
**Professional Game Development Environments**
This module teaches games programming using the two leading games engines – Unity and Unreal. In the first teaching block you will create a game in Unity, then in the second a game using Unreal blueprint as part of an agile games programming team. To make the games you will follow games industry best practice, including the use of Visual Studio and git as well as the game engines themselves.
The module stresses the importance of portfolio building to aid employability, and also the requirement to develop software in a rigorous, professional way. It is taught with an emphasis on spending time actually making games - not just learning the theory - so there are plenty of workshops on developing your practical skills.
***… and these are the list of the 5 optional courses and their descriptions:***
**Introductory Digital Media and Computer Generated Imagery**
You will learn the underlying principles of digital imaging in both its static and moving forms. The theory will be supported by workshops using professional imaging, and video editing software, as well as software tools for manipulating audio.
The CGI Foundation part introduces you to the use of a professional 3D computer graphics and animation application. You will learn how to build 3D models, shade them using assorted textures, illuminate them and render them out as images. You will learn how to make an efficient use of data, and appreciate the underlying topology of the geometry that makes up that model. Assessment will mostly be by the creation of 3D computer generated assets and presenting these as rendered images.
**Database Driven Application Development**
In this module you will learn to design and build full stack web applications. The first half of the module will be dedicated to relational databases which are crucial to any company or organisation, and form the back-end persistence layer of the vast majority of modern applications. You will learn the fundamental concepts and principles of database design before moving on to building the databases and writing queries to extract data from the database.
Once you have the foundation of database development, the module will move on to teaching you to develop and deploy web based applications that use an MVC design pattern. You will learn server- and client-side development, how to access the database/persistence layer, and techniques and technologies that span the whole stack. By the end of the module you will have gained the skills to build a complex, scalable and robust web application driven by a back-end database.
**User Centred Design**
This is an optional module intended for undergraduate students who are studying computing-related subjects. HCI is the core academic discipline that examines the relationship and interface between human and computer. It informs and provides the theoretical and methodological foundation for user experience, the professional discipline which is practically applied. Although this module forms part of the user experience guided pathway it can be taken as a standalone module.
You will explore major themes in HCI from both a theoretical and a practical perspective. The module will establish an understanding of key concepts within HCI theory and methods, and examines techniques for HCI design and evaluation. It offers students a practical domain in which to apply knowledge and skills, including those gained from other modules, to the design, implementation and analysis of interfaces between people and computer systems. You will undertake practical exercises in which you will evaluate real-world problems to identify user experience issues. You will utilise the synthesis of data from methods which explore user needs and requirements and also users' cognitive models to build a suite of artefacts e.g. personas, user journeys, empathy maps etc which will inform a prototyping phase. This process involves iteratively building on low, medium and high-fidelity prototypes of increasing complexity and levels of iteration. Thus you will synthesise theory and empirical data to build prototypes of a redesign solution to usability issues. These artefacts will iteratively and incrementally inform a user centred design.
**Digital Motion Graphics and Compositing**
This module builds on the foundations of the Level 4 modules, in particular CI4001 and develops knowledge and skills in creating and manipulating motion graphics assets, managing the editing process and compositing multi layered as well as multi nodal visual effects. This includes still images, video, audio, paint, and video based animation and effects.
These skills are further developed to a high level of appreciation, in particular for the flow of work for digital editing and contemporary composting in 2D and 3D spaces. You will acquire knowledge, develop skills and synthesis media products for self and tutor assessment. Professional level motion graphics, editing and compositing software will be employed. Furthermore studio based green/blue screen filming will be undertaken to create original material for visual effects project work.
**Multimedia Authoring and Design**
The primary aim of this module is to develop a range of skills in the creation of multimedia products, through the study and production of sophisticated content driven interactive material using industry standard multimedia authoring software. You will also be taught to write computer code (script) to a high level using a scripting language in order to generate interactive content, animation, navigation and data storage/retrieval.
***For more info about a course, such as more detail, the recommended reading, aims, objectives etc. there is a drive link to documents for each one listed above:***
[https://drive.google.com/drive/folders/1DjYzMYjVlJXhuJwyI\_rNhIfSTCLzTmHR?usp=sharing](https://drive.google.com/drive/folders/1DjYzMYjVlJXhuJwyI_rNhIfSTCLzTmHR?usp=sharing)
My thoughts:
\- One of my professors (my first year Games Design teacher) pulled me aside to recommend that I chose the 3D modelling module, as picking it in the 2nd year is the only way to pick it as my 3rd year option and she would hate to see my artistic talent go to waste. I love art but I’m not very good at it and I might end up wasting a lot of time getting frustrated with someone I’m not good at.
\- From what I’ve done so far, I do enjoy programming. I find it interesting and the thought of learning tools like algorithms and engines to make videogames and art is really appealing to me. Ideally, I would just be filling my time reading and learning from various programming books and doing projects.
\- I’m trying to strike a balance between technical skills for both a job and solo-projects. I want to make interactive media and games in my own time whilst having a tech-based job, though I’ll likely spend time in the games development industry.
\- I’m not sure if I should try to balance art and programming by sticking with my programming-based core modules and have my optional one be 3D modelling, or to go all out on programming, which I also find interesting and is a more secure pathway.
Any and all advice is welcome!