Fundamentals of Computer Science

Computing and data drive many critical elements of modern society, directly or indirectly. It’s vital that there is a strong theoretical foundation to computer science. This module begins by examining the hard questions central to computer science and reasoning itself to prepare students for the in-depth critical thinking and discussion required at university level. Students will cover the fundamentals in logic, sets, and mathematics of vectors, matrices, and linear algebra which have practical applications in software such as computer graphics. Algorithms, abstract data types, and analysis of algorithms is introduced to allow our students to make reasoned decisions about the design of their programs. Finally, they will get the chance to investigate and apply the principles of Data Science to select, process, and analyse data, and examine the way programs and systems can be designed to efficiently support work with data and question the limits of conclusions that can be drawn from such systems.