Looking for the REPL? Please visit this page.
spline splinson from PfΓ€fers, Switzerland / CC BY
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.
- 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
- Discord server - Especially great for prospective students
- Free software
- Job opportunities
- Kinks to be aware of in the different modules
- Online courses: free resources, paid resources
- Online study options (Master's, PhD, certificates, etc.)
- Podcasts
- Showcase of student-built applications
- 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)
- 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 [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:
- 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
- 10 Debugging Tips for Beginners: How to Troubleshoot and Fix Your Code Without Pulling Your Hair Out - hartleybrody.com
- How to debug code in Atom editor - Atom.io
- How to debug for absolute beginners in VS Code editor - Microsoft.com
- How to use Brackets editor - Adobe, on GitHub
- Finding answers
- 10 Tips to Improve Your Online Research
- List of search engines - Wikipedia
- Google
- 15 Ways to Search Google 96% of People Donβt Know About - YouTube
- 20 Google Search Tips to Use Google More Efficiently - Lifehack
- Advanced Power Searching - Google Course
- Power Searching with Google - Google Course
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 |
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:
- Data Science (CM3005)
- Games Development (CM3030)
- Machine Learning & Artificial Intelligence (CM3020)
- Physical Computing & the Internet of Things (CM3040)
- User Experience (CM3055)
- Virtual Reality (CM3025)
- Web & Mobile Development (CM3035)
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.
- Final Project (CM3070, written exam)
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.
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
- Contact page
- General enquiries (β For non-students. Students should ask in the portal instead.)
- Reach out by phone:
+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
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.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!