This module aims to provide basic and intermediate computer programming skills using the C programming language as an example. Computer programming and...

This module aims to provide basic and intermediate computer programming skills using the C programming language as an example. Computer programming and software development and crucial skills for any engineer. An electrical engineering in particular requires some level of computer programming in almost every task. From programming microcontrollers, to robotics, to applying Artificial intelligence to any electronics bases system, basic and intermediate software design skills are absolutely critical. This course introduces basic concepts of computer programming like variables, loops and functions. It then teaches intermediate level concepts like pointers and dynamic memory. It finally explains the basis of microcontroller programming.

At the end of this module Students should be able to:

Compile and run a basic C program
	To define variables of the right type according to the task at hand
	To use arrays of multiple dimensions
	To use more complex data structures (structs)
	To use different types of loop (while, do, for) according to the task at hand
	To use the conditional operations with if, else  and switch
	To defined and use functions with input and output parameters
	To use pointers and know the difference between passing arguments by value or reference
	To be able to design programs that allocate and de-allocate memory on demand (with malloc and free)
	To insert and remove dynamic memory using linked lists and binary trees
	To be able to compile and run code in a microcontroller

This module is compulsory and needs to be taken by all students completing the MClinDent in Oral Surgery.

This module explores how media have evolved since the ‘digital turn’ in the 1990s, and the cultural, social and political impacts of this shift. It...

This module explores how media have evolved since the ‘digital turn’ in the 1990s, and the cultural, social and political impacts of this shift. It examines a range of formats and aesthetic practices and introduces relevant theories and methodologies for the study of digital culture. Topics will vary from year to year, but may include: Big Data; surveillance; digital archives; technological nostalgia; streaming; AI; VR.