Awesome Open Source
Awesome Open Source

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

Current week

  • Semester done/ending 🎉. Start date of the next semester: Monday 10 October 2022.

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

* CM is only available in the April session, whereas DM is only available in the October session.

Level 5 (year 2+)
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.


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.

Module name Module code Written exam? Group project? Slack channel
Final Project CM3070 Yes No #cm3070-final-project

❤️ To explore modules in this degree from the perspective of students who already took them, have a look at this wonderful spreadsheet.

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

Contacting UoL
Contacting other students in this programme

More software options for video conferencing on this page.

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

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.


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.

Have an issue, some feedback or want to contribute?

There are two main ways you could reach out to start all kinds of discussions:

  1. Open an issue on GitHub;
  2. Join the #repl channel in the 🔒 UoL Slack workspace (students only).

Here are our contributing guidelines just in case that's useful 😉.

Contributors ✨

Want to join this illustrious group? Have a look at the contributing guidelines. 😎

❤️ Thanks goes to these wonderful people (emoji key):

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

ForTheBadge built-with-love Sparkline

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Scss (20,369
Book (20,220
Programming (18,297
Youtube (13,423
Bug (13,311
Slack (13,009
Calendar (9,894
Podcast (2,692
Computer Science (2,308
Bsc (166
Degree (36
Uol (7
Goldsmiths (4