- Introduction
- How to ask for help?
- Modules in the curriculum
- Notes (students, professors, academic background)
- Calendar due dates and events
- Documents and resources provided publicly by the University of London
- Contacting each other
- Other resources
- Resources for later
- Contributors
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 computer science at the bachelor level.
🏫 As the first cohort of students enrolling in the 100% online BSc Computer Science offered by Goldsmiths, University of London, 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!
❗ 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. 👍
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
- Algorithms and Data Structures I (CM1035-01)
- Discrete Mathematics (CM1020-01)
- Fundamentals of Computer Science (CM1025-01)
- How Computers Work (CM1030-01)
- Introduction to Programming I (CM1005-01)
- Introduction to Programming II (CM1010-01)
- Numerical Mathematics (CM1015-01) (Not available for October 2019-March 2020)
- Web Development (CM1040-01)
- Object Oriented Programming (CM2005-01)
- Software Design and Development (CM2010-01)
- Programming with Data (CM2015-01)
- Agile Software Projects (CM2020-01)
- Computer Security (CM2025-01)
- Graphics Programming (CM2030-01)
- Algorithms and Data Structures II (CM2035-01)
- Databases, Networks and the Web (CM2040-01)
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.
- 3D Graphics and Animation (CM3045)
- Advanced Web Development (CM3035)
- Artificial Intelligence (CM3020)
- Data Science (CM3005)
- Databases and Advanced Data Techniques (CM3010)
- Games Development (CM3030)
- Intelligent Signal Processing (CM3065)
- Interaction Design (CM3055)
- Machine Learning and Neural Networks (CM3015)
- Mobile Development (CM3050)
- Natural Language Processing (CM3060)
- Physical Computing and Internet of Things (CM3040)
- Virtual Reality (CM3025)
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-01)
- Games Development (CM3030-01)
- Machine Learning & Artificial Intelligence (CM3020-01)
- Physical Computing & the Internet of Things (CM3040-01)
- User Experience (CM3055-01)
- Virtual Reality (CM3025-01)
- Web & Mobile Development (CM3035-01)
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-01)
- Find out more about shared notes in this location.
- Find out what, when and where things are happening with this Google Calendar.
- If you have a Google account, you can follow this link instead.
- Code of conduct
- Data protection policy
- Events Due Diligence Privacy Notice
- GDPR Rights guide - students
- Guidelines for Examinations 2018–2019
- Programme Regulations 2019–2020
- Programme specification, Computer Science 2019-2020
- Prospectus, Computer Science 2019-2020
- Quick Start Guide - The Online Library
- Student Terms and Conditions 2019-2020
- Student privacy notice
- Welcome webinar Q&A, September 24, 2019
- Exams
- Funding your study
- Main page of the BSc Computer Science
- Online library
- Portal
- Specialisms
- Reaching out to 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) - Student Advice Center
- Discord server (choose one of the following, it is the same server): Invitation link #1, Invitation link #2
- Slack workspace
- Zoom (video conferencing used on Coursera)
More software options for video conferencing on this page.
- Books recommended by students in this degree
- Free software
- Kinks to be aware of in the different modules
- Online courses: free resources, paid resources
- Podcasts
- Slack resources (channels to join, important information available, help with using Slack, etc.)
- Websites to visit
- YouTube videos
- Aleksandar Milosevic (@amilos)
- Ankush Menat (@amenat)
- Anthony Morris (@amorriscode)
- Arjun Muralidharan (@arjunwritescode)
- Blair Currey (@BlairCurrey)
- Chris Castelo (@ChrisCastelo)
- Danny Callaghan (@dannycallaghan)
- David Moreno (@damog)
- Diego Cabrejas (@dcabrejas)
- Felipe Balbi (@felipebalbi)
- Gareth Erskine-Jones (@gsej)
- Irfanullah Jan (@irfanullahjan)
- Kajetan Maurycy Olszewski (@kaemo)
- Michał Żuber (@zubmic)
- Ryan Slevin (@ryanslevin)
- Spencer Eick (@eicksl)
- Sébastien Lavoie (@sglavoie)