The Learning Hub for UoL's Online CS Students

  • Users starred: 177
  • Users forked: 69
  • Users watching: 54
  • Updated at: 2020-06-06 23:51:50


first-timers-only PRs Welcome GitHub

A twist on the use of REPL, which stands for read–eval–print loop in computer programming. This repository aims to become a central place to share resources that other learners have found useful, especially in the context of studying a BSc Computer Science offered by Goldsmiths, University of London 🏫.

Good luck in your journey!

As the first cohort of students enrolling in this ~100% online programme, it is in our interest to cooperate in order to maximize our chances of celebrating all together when we graduate.

Good luck to all and may this path fulfill you, knowing that you will find support along the way!

Note on copyrighted material

This is not a place where you'll find prohibited content, such as leaked confidential information and copyrighted material. Anything that could potentially fall under the regulations of the University of London will be removed if it appears by accident and you are welcome to report it.

β€’ Frequently Asked Questions (FAQ)

Most used resources

Other useful resources

How to ask for help?

Reaching out to tutors and SRMs

Despite being ~100% remote, this degree is equipped with a team of tutors and SRMs (Student Relationship Managers) that can help you find what you need.

  • For module-specific inquiries, you can reach out to your tutors in the appropriate discussion forums on Coursera. Access any module you are enrolled in from the home page of this degree on Coursera.
  • For non-academic questions, you can write in the Reach out forum on Coursera.
  • For private matters and other types of inquiries, you can write an email to or find an alternative route in this section, including phone numbers, Student Advice Center, Slack workspace and Discord server.
General advice on how to ask and find answers

Succeeding in this degree has a lot to do with how resourceful you are. This page is meant to be a helpful guidance along the way, but developing a few key skills on your own will become an increasing necessity, including being able to research online, debugging code effectively and knowing how to ask questions.

To get started on that learning path, please refer to the following web pages:

Modules in the curriculum

Level 4 (year 1+)
Module name Module code Written exam? Slack channel
Algorithms and Data Structures I CM1035 Yes #cm1035-algos-data-i
Computational Mathematics * CM1015 Yes #cm1015-computational-math
Discrete Mathematics CM1020 Yes #cm1020-discrete-math
Fundamentals of Computer Science CM1025 Yes #cm1025-fundamental-cs
How Computers Work CM1030 Yes #cm1030-hcw / #rpl-google-it
Introduction to Programming II CM1010 No #cm1010-intro-prog-ii
Introduction to Programming I CM1005 No #cm1005-intro-prog-i
Web Development CM1040 No #cm1040-web-dev

* Not available for October 2019-March 2020

Level 5 (year 2+)
Module name Module code Written exam? Slack channel
Agile Software Projects CM2020 No
Algorithms and Data Structures II CM2035 Yes #cm2035-algos-data-ii
Computer Security CM2025 Yes
Databases, Networks and the Web CM2040 Yes #cm2040-databases-networks-web
Graphics Programming CM2030 No #cm2030-graphics-programming
Object Oriented Programming CM2005 No #cm2005-object-oriented-programming
Programming with Data CM2015 Yes
Software Design and Development CM2010 Yes
Level 6 (year 3+)

There is a total of 13 possible modules in Level 6. Out of these, 6 need to be taken along with a final project in order to graduate. A student may either choose a specialism (see below) but may also opt against a specialism to be able to study any 6 of the following modules.

Module name Module code Written exam?
3D Graphics and Animation CM3045 Yes
Advanced Web Development CM3035 No
Artificial Intelligence CM3020 Yes
Data Science CM3005 Yes
Databases and Advanced Data Techniques CM3010 Yes
Games Development CM3030 Yes
Intelligent Signal Processing CM3065 No
Interaction Design CM3055 Yes
Machine Learning and Neural Networks CM3015 Yes
Mobile Development CM3050 No
Natural Language Processing CM3060 Yes
Physical Computing and Internet of Things CM3040 No
Virtual Reality CM3025 Yes

Each specialism contains five prescribed modules from the above 13. All five must be completed along with one elective module from any other specialism. The specialisms are:

Final project

A final project must also be completed to graduate. If a student is opting for a specialism, they are strongly encouraged to select a relevant topic for the final project.

Calendar due dates and events

See what's the current week
  • Find out what week we are on right now in this very semester by following this link (probably one of the simplest yet useful user interface you will ever see).
Sync deadlines and events from Coursera
  • "Automatically sync all the deadlines and other related items from all active courses to your calendar." Simply visit the account settings page on Coursera and click on the Calendar Sync tab to see options to sync with Google Calendar, Apple Calendar and others.

Documents and resources provided publicly by the University of London

Webpages of interest

Stay in touch

What's happening at Goldsmiths
  • Blog.DoC - "This is the blog for Goldsmiths' Department of Computing. If you are a student, graduate or staff member of Goldsmiths Computing and you want to share news, photos or stories about your work, email our blog editor at:"
  • Computing events, seminars & conferences - "The Computing and Psychology departments' regular seminars encompassing various aspects of cognition, computation and culture. All are welcome to attend."
  • Goldsmiths Computing (Twitter) - "Creativity, independence and learning by doing. Computing at Goldsmiths, University of London."
  • Goldsmiths, UoL students (Twitter) - "The official account for students at Goldsmiths, University of London. Online Mon-Fri 9-5pm."
  • Hacksmiths - "Hacksmiths is the student-run tech society at Goldsmiths. Our mission is to provide an opportunity for people in all departments and from all backgrounds the chance to learn about, and play with, technology."
Contacting UoL
Contacting other students in this programme

More software options for video conferencing on this page.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Aleksandar Milosevic

πŸ’» πŸ“–

Ankush Menat

πŸ“– πŸ› ️️️️♿️ πŸ’¬ πŸ‘€

Anthony Morris


Arjun Muralidharan

πŸ“– πŸ–‹

Blair Currey

πŸ’» πŸ“–

Chris Castelo


Danny Callaghan


David Moreno


Diego Cabrejas


Felipe Balbi

πŸ“– πŸ–‹ πŸ‘€



Irfanullah Jan


Kajetan Maurycy Olszewski


MichaΕ‚ Ε»uber


Ryan Slevin


Spencer Eick


SΓ©bastien Lavoie

πŸ’» πŸ“– 🚧 πŸ‘€

Xuan Lim


Gerhard Lourens

πŸ“– πŸ’»

Yehoshua Kahan


Mohammad Hussain Nagaria


Sukhjit Mann

πŸ–‹ πŸ›





Sasha Varlamov


This project follows the all-contributors specification. Contributions of any kind welcome!

ForTheBadge built-with-love