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 π«.
- Week 6.
- Notes from students, professors and more (opens directly on GitHub).
- Modules (opens directly on GitHub).
- YouTube videos
- Websites to visit
- Documents and webpages of interest (only from the University of London)
- Applying to UoL: Guide and FAQs about the process
- Books recommended by students in this degree
- Free software
- Job opportunities
- Kinks to be aware of in the different modules
- Online courses: free resources, paid resources
- Online communities
- Discord
- Community of students - Especially great for prospective students.
- Graduates from this degree - To keep in touch beyond the journey at UoL!
- Slack
- π UoL Slack workspace (students only).
- Slack resources (channels to join, important information available, help with using Slack, etc.)
- Subreddit
- r/UniversityOfLondonCS
- Subreddit Articles: A series of in-depth, informative articles by /u/Yangchenghu, originally posted on Reddit. (Opens directly on GitHub)
- Discord
- Online study options (Master's, PhD, certificates, etc.)
- Podcasts
- Showcase of student-built applications
- University of London documents. - See them all at a glance. (Opens directly on GitHub.)
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 BScCS-Support@london.ac.uk 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:
- From University of London
- Getting help
- How to ask questions - Stack Overflow
- How to create a minimal, reproducible example - Stack Overflow
- Writing the perfect question - Jon Skeet's coding blog
- Code philosophy, asking for help - From Introduction to Programming I module - π you need to be enrolled in this degree to view this lecture.
- Debugging code
- Finding answers
- List of search engines - Wikipedia
- Google
- 20 Google Search Tips to Use Google More Efficiently - Lifehack
- Power Searching with Google - Google Course
- Refine web searches - Google Search Help
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 |
Level 5 (year 2+)
Module name | Abbreviation | Code | Written exam? | Group project? | Slack channel |
---|---|---|---|---|---|
Agile Software Projects *will be withdrawn in October 2026. See Note below. |
ASP | CM2020 | No | Yes: 100% of total grade | #cm2020-agile-software-projects |
Algorithms and Data Structures II | ADS2 | CM2035 | Yes | No | #cm2035-algos-data-ii |
Computer Security | CSec | CM2025 | Yes | No | #cm2025-computer-security |
Databases, Networks and the Web | DNW | CM2040 | Yes | No | #cm2040-databases-networks-web |
Graphics Programming | GP | CM2030 | No | No | #cm2030-graphics-programming |
Object Oriented Programming | OOP | CM2005 | No | No | #cm2005-object-oriented-programming |
Programming with Data | PWD | CM2015 | Yes | No | #cm2015-programming-with-data |
Software Design and Development | SDD | CM2010 | Yes | No | #cm2010-software-design-development |
Note: Agile Software Projects CM2020, will be withdrawn in October 2026. If you wish to study Agile Software Projects and have not yet registered on this module, your last opportunity to study this module will be in the October 2024 session. The final assessment retake opportunity for this module will be October 2026.
The Professional Practice for Computer Scientists module will be introduced in place of Agile Software Projects CM2020 and will run for the first time in April 2025.
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.
Specialisms
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:
Module name | Module code | Slack channel |
---|---|---|
Data Science | CM3005 | #data_science |
Games Development | CM3030 | #gamedev |
Machine Learning & Artificial Intelligence | CM3020 | #mlai |
Physical Computing & the Internet of Things | CM3040 | #iot |
User Experience | CM3055 | #ux |
Virtual Reality | CM3025 | #vr |
Web & Mobile Development | CM3035 | #web-mobile-specialism |
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.
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.
Contacting UoL
- Contact page
- General enquiries for students: Click "Ask a question" in the portal.
- Reach out by phone (service not available during COVID-19):
+44 (0)20 7862 8000
(general),+44 (0)20 7862 5766
(specific to this degree),+44 (0)20 7862 8368
(fees office). - Student Advice Center: knowledge base for frequently asked questions.
- To escalate an issue, create an official Student Complaint by emailing A&C@london.ac.uk and asking for a stage 2 complaint form, clearly outlining the problem.
Contacting other students in this programme
- Discord server: Invitation link
- SubReddit: r/UniversityOfLondonCS
- Slack workspace
- Zoom (video conferencing used on Coursera)
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: computing@gold.ac.uk"
- 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."
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.
There are two main ways you could reach out to start all kinds of discussions:
- Open an issue on GitHub;
- Join the
#repl
channel in the π UoL Slack workspace (students only).
Here are our contributing guidelines just in case that's useful π.
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!
- You're a maintainer already? Here's how you can use your great powers.
- Want to become a maintainer? Let one of the current maintainers know!