Year 1
In your first year, you'll take the following compulsory modules:
Module title |
Credits |
Introduction to Programming
Introduction to Programming
15 credits
This module will introduce you to the fundamentals of programming and object orientation, including the following basic ideas of programming:
- variables
- memory and assignment statements
- control through conditional statements, loops
- functions and procedures
- objects and classes
- instance variables and methods
- arrays
- user interaction
- interaction between objects.
|
15 credits |
User Experience and the Web
User Experience and the Web
15 credits
Designing and creating an effective website can showcase a wide range of the technical and human skills required by computing professionals from coding basic HTML to empathizing with a diverse range of users and stakeholders.
This module will introduce you to the basic techniques of web development in a highly human-centred context that encourages students to think about the lived experience of people using technologies, particularly those who are very different from themselves. This work culminates in the development of an interactive website designed for a particular user group.
|
15 credits |
Logic and Computer Architecture
Logic and Computer Architecture
15 credits
This module will give you a foundation in the fundamental workings of computer systems and how they represent data. This stems from fundamental mathematical principles such as binary number bases and Boolean logic and applies these to the design of computing hardware and finally to data representation in the form of a wide variety of formats. You'll end with a taste of the most cutting-edge uses of data in the form of a first introduction to machine learning, the foundation of modern Artificial Intelligence.
|
15 credits |
Computing Project 1
Computing Project 1
15 credits
This module is aimed at novice programmers who have learnt some basic programming techniques. The course builds on this knowledge by developing your ability to combine short segments of code to create larger projects.
You'll begin by developing their knowledge of object-oriented programming through learning about principles such as encapsulation and abstraction. You'll be presented with existing code and designs which you'll explore, complete and debug. You'll build upon an example application in the development of a final project.
You'll be expected to engage in both the technical and social implications of your work, considering the applications applicability to a human context. This may include the ethical and cultural impact of software.
During this work, you'll apply taught techniques in organising, planning and evaluating your code.
|
15 credits |
Graphics 1
Graphics 1
15 credits
In this module, you'll explore the perceptual and technical fundamentals of graphics computing.
Topics include:
- fundamentals of visual perception: basic colour theory, perspective, and animation
- manipulating images for creative contexts
- image processing
- the application of 2D and 3D geometry for animation and interaction
- creating simple physics simulations.
You'll apply this knowledge through a series of practical and creative exercises undertaken throughout the module using an appropriate programming environment with supporting graphics libraries.
|
15 credits |
Algorithms 1
Algorithms 1
15 credits
This module will introduce you to the analysis and design of algorithms. In particular, you'll learn how to classify algorithms in terms of their computational resource consumption, how to solve efficiently classical problems from computer science and how to apply design techniques to build new algorithms.
|
15 credits |
Identity, Agency & Environment 1
Identity, Agency & Environment 1
15 credits
In this module, subtitled ‘Everything is a Text’, you will consider the value of different types of texts and ways of imparting knowledge and ideas. You will reflect upon your identities as learners and future professionals in the world, considering a range of contexts: the academic/educational context, personal settings and the eco-systems that you live and work in. These reflections will be used to inform your practices as academic learners.
You will explore academic literacies, different ways of knowing and consider what counts as ‘legitimate’ knowledge. You will engage with critical thinking, making arguments and establishing criteria to defend intellectual positions and these skills will be acknowledged as social practices that produce and reinforce meaning and frameworks of understanding and knowledge.
Furthermore, you will engage with a wide range of academic and non-academic material, individuals and environments in order to contribute to discussions regarding attitudes and assumptions about ideas and experience, including within labour markets, cultural hegemonies, distributions of power and the relationship between the individual and society. In this way, the social interactions, relationships and contexts that underpin academic literacies in higher education will be made explicit.
You will discuss these ideas with students and tutors from the different subjects at Goldsmiths, and learn to be part of the wider university community. You will also be able to submit an assignment which could be a written, graphically designed, audio, video, or negotiated project. You will get to choose the assessment that best shows what you can do.
|
15 credits |
Identity, Agency & Environment 2
Identity, Agency & Environment 2
15 credits
This module, subtitled ‘Researching Our World & Lives’, builds on the conceptual and contextual foundations of Identity, Agency and Environment 1.
You will learn how to conduct academic research and will be offered the opportunity to broaden and deepen your understanding of the relationship between your own interests, skills, values, career and non-career aspirations, the concepts, theories and contexts of your discipline, and the world.
You will reflect upon your identities as researchers, and learn how the research skills you’ve acquired both within your studies and the world more generally can be related to problem-solving in a wide range of contexts. You will consider your agency as researchers, what you can and cannot research, the ethical issues involved, and think reflexively about your position as a researcher in a range of environments and eco-systems.
Formal conventions of academic research and writing will be integrated into your individualised contexts and goals, enabling the expression of ideas and perspectives that may challenge the status quo. The module will encourage creativity, activism, decision-making and the formation of judgements leading to action-planning in relation to research topics and types of evidence, and professional planning.
You will learn to critique your own subject disciplines. Interdisciplinary sharing of knowledge will ensure that assessment and learning practices provide you with the opportunity to develop new lines of thinking and knowing, within formative collaborative learning and research communities.
|
15 credits |
Year 2
Compulsory modules
In your second year, you'll take the following compulsory modules:
Module title |
Credits |
Software Development and Design
Software Development and Design
15 credits
This module aims to advance your software development skills so that you can write more robust and complicated programs. You’ll learn how to use a range of programming techniques that will allow you to deal with unwanted or unexpected events that might happen when your application is running.
You’ll use defensive coding to check data before processing it, and exception handling to gracefully manage unforeseen or unwanted occurrences. You’ll learn how to discuss program structure concerning cohesion (how to meaningfully organise code into modules) and coupling (how to define the interactions between different parts of the program). You’ll learn about test-driven development, where you write tests for your code, and write the code itself, in parallel. You will also learn how to use software versioning tools to manage a software project as it develops.
|
15 credits |
Computing Project 2
Computing Project 2
15 credits
This module will give students the opportunity to experience group work, in the context of projects to specify, develop, deploy and evaluate a computer based system. This module will take students through the entire process, from requirements gathering, user-centred design, proposal development, implementation and evaluation. Students will also assess their outputs from the perspective of multiple roles within an organization, and consider the potential impact of their system on customers, users and society at large.
|
15 credits |
Object Oriented Programming
Object Oriented Programming
15 credits
This module will introduce you to Java for the first time whilst building on the programming techniques covered in your first year of study. Through learning about more advanced concepts within object orientation, you'll be able to design and implement large-scale computer programs.
Topics covered include Types, Conditionals and Iteration, Methods, Exception handling, I/O, Classes, Inheritance, Abstract Classes and Interfaces. Throughout the module, there will be a focus on developing your skills in problem-solving through structured thought and familiarity with common resources such as IDEs, professional APIs and language specifications.
|
15 credits |
Networks and Operating Systems
Networks and Operating Systems
15 credits
All aspects of our lives are increasingly being underpinned by a computational infrastructure of devices, networks and servers. This module will give you an overall understanding of these technologies and how they are used in practice. These include the components and functions of mobile and desktop operating systems, operating systems processes and scheduling, network architectures and protocols and serverside computation and cloud computing.
This module will position these technologies within the human and organizational context of their use and will culminate in a project in which you will design a computational infrastructure for a particular organisation or application.
|
15 credits |
Information Security
Information Security
15 credits
This module aims to provide you with an understanding of the need for computer security and the technologies that support it. It has both a theoretical component that will teach you mathematical underpinnings of security systems and a practical element that will help you discover the pitfalls of security design and to comprehend the mathematics underlying the protocols by programming small examples.
|
15 credits |
The Goldsmiths Elective
The Goldsmiths Elective
15 credits
Our academic departments are developing exciting elective ideas to allow you to broaden your education, either to develop vocationally orientated experiences or to learn more about contemporary society, culture and politics. You’ll be able to choose safe in the knowledge that these modules have been designed for non-subject specialists and to bring students from different disciplines together. For example, you may want to take introductions to areas such as Law, Education, the digital industries, the creative industries,think like a designer or understand the history and politics behind our current affairs.
|
15 credits |
Optional modules
You'll then take 30 credits of optional modules:
Module title |
Credits |
Data Programming for Artificial Intelligence
Data Programming for Artificial Intelligence
15 credits
Increasingly, computer systems in research and industry, and particularly the machine learning systems that underpin modern Artificial Intelligence, are designed to leverage large amounts of data.
This data is rich and various and may include anything from the results of clinical trials to information gleaned from analysing millions of tweets to understanding how people talk positively and negatively about politics.
In this module, you'll learn how to develop systems that operate in, and make use of such data-rich environments. This module builds on other material in the programme such as mathematics and databases.
This module will show you how to work with data in various ways:
- Capturing data from a variety of sources
- Visualising data in compelling, informative ways
- Processing data to make it useful and shareable
- Reasoning with data to test hypotheses and make parameterised predictions
You'll also implement and apply basic machine learning methods. The module will also introduce you to a new language and programming environment that is well-adapted to languages for these applications.
|
15 credits |
Interaction Design
Interaction Design
15 Credits
This module provides you with an understanding of the theoretical and methodological issues that can be applied to the design and evaluation of interactive computer-based systems and other interactive technology.
|
15 Credits |
Fundamentals of Computer Science
Fundamentals of Computer Science
15 credits
This module extends on the knowledge developed in the module How Computers Work to introduce theoretical underpinning for further study in computer science. By taking this module, you will gain a broad understanding of many of the key topic areas in computer science and the fundamental concepts that underpin them. In the area of fundamental concepts, you will study binary representations and logic, complexity theory and theories of computation, finite state machines and Turing machines. These will be presented in the light of practical examples to illustrate how they are implemented in modern computer systems.
|
15 credits |
Algorithms 2
Algorithms 2
15 credits
This module aims to expose students to standard data structures and algorithms for manipulating them. In particular, it will give students the chance to learn to choose appropriate data structures for solving problems.
|
15 credits |
Goldsmiths’ Social Change Module
Goldsmiths’ Social Change Module
15 credits
Lots of students join Goldsmiths because they want to make a difference in society, to bring about positive change and develop skills and experiences which will allow them to access exciting careers. Goldsmiths’ Social Change module will allow you to do work on group projects with students from other departments to bring about change. You’ll be introduced to the UN’s Sustainable Development goals and core project management theories and practices allow you to work across a number of weeks towards a final Festival of Ideas where you’ll report work back to the academic and local community.
|
15 credits |
Optional placement year
Our degrees include an optional industrial placement year after the second year of study. You'll be responsible for securing a placement, but we can support you through this process.
Although we encourage you to take the opportunity of a placement year, you can also complete your degree in three years.
Year 3 (or year 4 with placement year)
In your final year, you'll complete the following compulsory modules, including a project in Computer Science. Direct Entry students will also need to complete the module Dynamic Web Applications.
Module title |
Credits |
Final Project in Computer Science
Final Project in Computer Science
45 credits
Final Project in Computer Science is an opportunity for students to apply the skills, knowledge and expertise that they have acquired whilst studying Computer Science to a single and coherent body of work. The project allows students to follow an initiative that appeals to them; the outcome will be the most complex, detailed and thorough system that they have had to develop as part of their studies. Implemented systems may comprise a software application or a combination of hardware and software development. The project outcomes will serve as a showcase for student’s talents and could launch a professional career in industry.
|
45 credits |
Network And System Security
Network And System Security
15 credits
The aim of this module is to give you an understanding of the need for computer security and the technologies that support it. It will have practical emphasis which will allow you to discover for yourself, with the support of tutors, the pitfalls of security design and to comprehend the mathematics underlying the protocols by programming small examples.
|
15 credits |
Cryptography
Cryptography
15 credits
This module will give you a grounding in the Cryptographic Techniques that underpin modern computer security. You'll explore the fundamental mathematical concepts and a wide variety of public key and private key algorithms, and how these algorithms can be used in cryptographic protocols. You'll learn to analyse algorithms and protocols in terms of their weaknesses and threat models.
|
15 credits |
You'll then use your remaining 45 credits (30 credits for Direct Entry students) to take an optional module from a list provided annually by the Department of Computing.
Teaching style
This programme is taught through a mixture of lectures, tutorials, workshops and laboratory sessions. You’ll also be expected to undertake a significant amount of independent study. This includes carrying out required and additional reading, preparing topics for discussion, and producing essays or project work.
The following information gives an indication of the typical proportions of learning and teaching for each year of this programme*:
- Year 1 - 22% scheduled learning, 79% independent learning
- Year 2 - 22% scheduled learning, 78% independent learning
- Optional placement year - 100% placement
- Year 3/4 - 21% scheduled learning, 79% independent learning
How you’ll be assessed
You’ll be assessed by a variety of methods, depending on your module choices. These include coursework, examinations, group work and projects. If you opt for an industrial placement year, your placement tutor will assess your work. If you complete the placement year successfully, you earn the endorsement 'with work experience' on your degree certificate.
The following information gives an indication of how you can typically expect to be assessed in each year of this programme*:
- Year 1 - 45% coursework, 50% written exam, 5% practical
- Year 2 - 63% coursework, 38% written exam
- Year 3/4 - 88% coursework, 13% written exam
*Please note that these are averages are based on enrolments for the traditional pathway in 2020/21. Each student’s time in teaching, learning and assessment activities will differ based on individual module choices. Find out more about.
Credits and levels of learning
An undergraduate honours degree is made up of 360 credits – 120 at Level 4, 120 at Level 5 and 120 at Level 6. If you are a full-time student, you will usually take Level 4 modules in the first year, Level 5 in the second, and Level 6 modules in your final year. A standard module is worth 30 credits. Some programmes also contain 15-credit half modules or can be made up of higher-value parts, such as a dissertation or a Major Project.
Download the programme specification. If you would like an earlier version of the programme specification, please contact the Quality Office.
Please note that due to staff research commitments not all of these modules may be available every year.
Between 2020 and 2022 we needed to make some changes to how programmes were delivered due to Covid-19 restrictions. For more information about past programme changes please visit our programme changes information page.