Awesome Open Source
Awesome Open Source

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 cohorts 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.

Emojis: Their meaning in the REPL

Emoji Meaning
❀️ This is a highly valuable resource (always a bit subjective).
πŸ₯‡ Deemed essential (such as a textbook used for a specific module).
πŸ₯ˆ Deemed very important (such as a textbook used for a specific module).
πŸ₯‰ Deemed noteworthy (again, such as a textbook used for a specific module).
πŸ”’ Restricted access with accompanying explanation: maybe you need to access the Slack workspace, maybe you need to log in to the student portal, etc.
⭐️ This is about open source software.
☁️ A software that is used online (runs in the cloud).
πŸ’² Indicates a resource that costs money to acquire and/or to use.

β€’ 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 [email protected] 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 Abbreviation Code Written exam? Slack channel
Algorithms and Data Structures I ADS1 CM1035 Yes #cm1035-algos-data-i
Computational Mathematics * CM CM1015 Yes #cm1015-computational-math
Discrete Mathematics DM CM1020 Yes #cm1020-discrete-math
Fundamentals of Computer Science FCS CM1025 Yes #cm1025-fundamental-cs
How Computers Work HCW CM1030 Yes #cm1030-hcw / #rpl-google-it
Introduction to Programming I ITP1 CM1005 No #cm1005-intro-prog-i
Introduction to Programming II ITP2 CM1010 No #cm1010-intro-prog-ii
Web Development WD CM1040 No #cm1040-web-dev

* Not available for October 2019-March 2020

Level 5 (year 2+)
Module name Abbreviation Code Written exam? Slack channel
Agile Software Projects ASP CM2020 No #cm2020-agile-software-projects
Algorithms and Data Structures II ADS2 CM2035 Yes #cm2035-algos-data-ii
Computer Security CS CM2025 Yes #cm2025-computer-security
Databases, Networks and the Web DNW CM2040 Yes #cm2040-databases-networks-web
Graphics Programming GP CM2030 No #cm2030-graphics-programming
Object Oriented Programming OOP CM2005 No #cm2005-object-oriented-programming
Programming with Data PWD CM2015 Yes #cm2015-programming-with-data
Software Design and Development SDD CM2010 Yes #cm2010-software-design-development
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 No
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.

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: [email protected]"
  • 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




MichaΕ‚ Ε»uber


Ryan Slevin


Spencer Eick


SΓ©bastien Lavoie

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

Xuan Lim


Gerhard Lourens

πŸ“– πŸ’»

Yehoshua Kahan


Mohammad Hussain Nagaria


Sukhjit Mann

πŸ–‹ πŸ›





Sasha Varlamov


Shen Zhou Hong

πŸ“ πŸ–‹ πŸ“– βœ…



Jack Griffiths


Anuj Karn


Chi Bao

πŸ“– πŸ›


πŸ› πŸ–‹





Emery Muhozi


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

ForTheBadge built-with-love

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
scss (499)Β 
youtube (313)Β 
slack (297)Β 
calendar (270)Β 
notes (184)Β 
resources (179)Β 
computer-science (146)Β 
books (108)Β 
modules (84)Β 
software (61)Β 
courses (32)Β 
students (30)Β 
documents (29)Β 
podcasts (25)Β 
bugs (19)Β 
websites (15)Β 

Find Open Source By Browsing 7,000 Topics Across 59 Categories