CU4007 - Computer Gaming Hardware Architectures (2018/19)
|Module specification||Module approved to run in 2018/19|
|Module title||Computer Gaming Hardware Architectures|
|Module level||Certificate (04)|
|Credit rating for module||30|
|School||School of Computing and Digital Media|
|Total study hours||300|
|Running in 2018/19||
The module introduces students to the basics of Information Technology; past, current and future trend in computer and gaming systems. The detailed design of a small scale Gaming System is presented where students have the opportunity to directly program the hardware. Students will learn how a knowledge of assembly language and different compilers should inform the development of higher level programming languages, such as C++, in order to produce optimal code. Students will develop expertise and transferable skills in writing for a particular handheld gaming platform.
- To introduce students to the fundamental concepts of Information Technology and basic networking,
- To provide a working technical knowledge of modern computer and gaming systems and their respective components,
- Build awareness of assembly and compilers so as to inform the development of optimal programming code
- Gain skills in interfacing assembly with a high level language for a console emulator
- Gain skills in interfacing assembly with a high level language on a PC.
Introduction to Information Technology
Basic Digital Logic Elements
Microprocessors ; past, current an future
Computer Architecture, elements and their operation in a typical computer system
The relationship and role of hardware and software
Assembly language programming
The design of Computer and Gaming Hardware architecture, typical examples. Memory types and IO peripherals,
The detailed design of a small-scale computer and gaming system
Communications Channel; Serial, USB etc...
Advanced hardware fundamentals, High performance systems
Writing example game for GBA emulator - eg. visual boy advance
Optimisation of code for different platforms
Interfacing high level languages (C++) with assembly
Input and output to video memory
Accessing audio hardware
Current trends in Computer and Gaming hardware / software architecture
How to use compiler and debugger with competence
Learning and teaching
The teaching and learning strategy for this module is a combination of intensive laboratory work were students will be expected to develop their programming skills. Group work is encouraged and reinforced at the laboratory sessions. The student’s understanding will be tested by practical exercises in class
On successful completion of this module students will be able to:
LO1.Understand how the modern PC and Gaming systems work, the interrelation between hardware and software and their evolution.
LO2. Ability to distinguish between assembly and higher level languages with regard to writing optimal code for particular tasks
LO3. Using An integrated Development System with a compiler and debugger to develop Assembly Language programs to perform a given task.
LO4. Ability to plan and program a simple game for a handheld device
LO5.Implement hardware and software performance troubleshooting techniques;
LO6. Ability to program audio hardware
The following is indicative of the assessment strategy. The coursework will implement ideas that have been introduced in lectures to assure the student has understood what has been presented. Students will present and explain their work for peer assessment. The module is passed on the aggregate mark.
IT Essentials: PC Hardware and Software, Companion Guide
http://www.gbadev.org - for useful links and sourcecode
ARM Assembly Langauge - an introduction: J R Gibson;
Tonc Online tutorial - http://www.coranac.com/tonc/text/toc.htm