Module code: COS4016-B
This module will teach the fundamental principles and practical techniques needed to write computer programs. Programming underpins a huge proportion of applications and research in Computer Science - quite simply, it is the way that we make computer hardware do what we want. Computer programming can change the world, and understanding fundamental concepts forms a first step towards making a positive difference. The creation of computer code begins by first understanding how to think about problems in a logical and methodical manner. Problem solving techniques, and ways of representing solutions, are demonstrated and applied at the beginning of the module and are then built on by carefully introducing several threshold concepts that help crystallise understanding and broaden the horizons for future coders. This aims to provide experiential learning through the review, modification and evaluation of existing code examples as well as authentic examples of creating small scale code solutions to realistic real-world problems. This module will introduce key concepts, both theoretical and practical, in the design, implementation and testing of computer software. A single primary programming language is used, Java, but the ideas and knowledge students will gain will be presented as transferrable skills that will underpin the learning and use of new languages in the future. Download the PDF for COS4016-B_2025_6.pdf